我想通过 ansible playbook 角色收集文件中服务和命令状态的信息。有什么方法可以在如下文件中获取这些日期。由于有多个任务我们需要关闭状态。
<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)