Ansible 서버 상태 체크 플레이북
아래 플레이북은 매우 간단한 서버 상태 체크 예제이다.
디스크 사용량의 경우 여러줄로 된 결과를 리턴하기 때문에 미리 문자열 처리를 하였다.
이런 방식이 아니라 서버쪽에 미리 파일로 저장하고 나중에 결과 파일만 호스트쪽으로 가져오는 방법을 사용해도 된다.
---
- 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 }}