아래 플레이북은 매우 간단한 서버 상태 체크 예제이다.
디스크 사용량의 경우 여러줄로 된 결과를 리턴하기 때문에 미리 문자열 처리를 하였다.
이런 방식이 아니라 서버쪽에 미리 파일로 저장하고 나중에 결과 파일만 호스트쪽으로 가져오는 방법을 사용해도 된다.
--- - name: 서버 상태 점검 및 결과 로컬에 저장 hosts: all become: yes gather_facts: no vars: local_results_dir: "/root/check_results" # 결과를 저장할 디렉토리 경로 tasks: - name: 시스템 업타임 확인 command: uptime register: uptime_result - name: 디스크 사용량 확인 shell: df -hTP register: disk_usage - name: 디스크 사용량 문자열 포맷팅 set_fact: formatted_disk_usage: "{{ disk_usage.stdout_lines | join('\n ') }}" - name: 메모리 사용량 확인 command: free -m register: memory_usage - name: CPU 사용량 확인 shell: top -bn1 | grep load register: cpu_usage - name: 점검 결과 파일에 저장 delegate_to: localhost blockinfile: path: "{{ local_results_dir }}/check_result_{{ inventory_hostname }}.txt" create: yes block: | 대상서버: {{ inventory_hostname }} 업타임: {{ uptime_result.stdout }} 디스크사용량: {{ formatted_disk_usage }} 메모리사용량: {{ memory_usage.stdout }} CPU사용량: {{ cpu_usage.stdout }}