Ansible 플레이북을 통해 서비스 상태 확인

Ansible 플레이북을 통해 서비스 상태 확인

ansible 플레이북 역할을 통해 서비스 및 명령 상태에 대한 정보를 파일로 수집하고 싶습니다. 이 날짜를 아래와 같은 파일로 가져올 수 있는 방법이 있습니까? 여러 작업이 있으므로 상태를 꺼야 합니다.

<serverip> snmp inactive
<serverip1> snmp active
<serverip2> snmp active

또는

<serverip3> snmp 0
<serverip4> snmp 1

이 같은.

다음은 현재 실행 중인 샘플 스크립트입니다.

    ---
    - name: read snmp service status
      block:
        - name: get sysctl snmp services status [PRE]
          shell: "service snmp status"
          ignore_errors: true
          register: snmp
        - name: set fact snmp
          set_fact:
            results_pre: "{{ results_pre|combine({'snmp': snmp.stdout.replace(\"'\", '\"')|quote }) }}"
        - name: write snmp service status
          copy:
            dest: "{{ remote_logs_path }}/{{ ansible_ssh_host }}/pre/snmp"
            content: "{{ snmp.stdout }}"
      tags:
        - snmp

답변1

Ansible Playbooks를 통해 서비스 상태를 수집하려면 다음을 사용하는 것이 좋습니다.service_facts기준 치수.

- name: Gathering Service Facts
  service_facts:

다음을 기반으로 상태를 로그 파일에 쓸 수 있습니다.조건문그리고 사실.

- name: Write SNMP service status
    ...
  when: ("snmp.service" in services)

관련 정보