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)