需要从以检查模式(空运行)执行的ansible剧本输出中生成CSV文件报告

时间:2019-02-24 19:39:26

标签: python shell ansible

我正在扮演一个角色,使用ansible进行系统加固,看起来很不错,在强制执行剧本之前,正在寻找包含以下字段的“ CSV”文件-{IP_address,Task_Name,status(确定或更改)”。 想法是在执行之前获取报告。

以下是该剧本的示例输出:

TASK [system_hardening : Include OS Specific Variables] ************************
ok: [192.168.10.10]

TASK [system_hardening : Configure NTP - Install Package] **********************
ok: [192.168.10.10]

TASK [system_hardening : Disable chronyd services] *****************************
ok: [192.168.10.10]

TASK [system_hardening : Set some kernel parameters] ***************************
changed: [192.168.10.10] => (item={u'regexp': u'server 0.rhel.pool.ntp.org iburst', u'line': u'server google.com iburst'})
changed: [192.168.10.10] => (item={u'regexp': u'server 1.rhel.pool.ntp.org iburst', u'line': u'server  google.com iburst'})
changed: [192.168.10.10] => (item={u'regexp': u'server 2.rhel.pool.ntp.org iburst', u'line': u'server  google.com iburst'})
changed: [192.168.10.10] => (item={u'regexp': u'server 3.rhel.pool.ntp.org iburst', u'line': u'server  google.com iburst'})

TASK [system_hardening : restart ntp services] *********************************

changed: [192.168.10.10]

TASK [system_hardening : Set Password Requirement Parameters Using pam_cracklib (Install)] ***
ok: [192.168.10.10]

TASK [system_hardening : Ensure password reuse is limited (/etc/pam.d/system-auth)] ***
changed: [192.168.10.10]

TASK [system_hardening : Ensure password reuse is limited (/etc/pam.d/password-auth)] ***
changed: [192.168.10.10]

必需的CSV是

IP_Address,Task_Name, Status
192.168.10.10 ,SSH_Checks ,ok
192.168.10.11, SSH_Checks,changed

请输入任何内容。

2 个答案:

答案 0 :(得分:0)

ansible-doc -t callback -l

列出manage stdout的可用插件。如果没有合适的选项,可以选择write

答案 1 :(得分:0)

我看到有一个JSON callback for Ansible。它将Ansible设置为以JSON格式显示通常会在屏幕上显示的输出。您可能会摄取该JSON数据并将其轻松转换为CSV。这是显示how to do the conversion的帖子。

这是帖子中的脚本:

"0 1 2 3 4 5 6 7 8 9 "