我是 Ansible 的新手,我正在将它用于一个在 1024 个主机上运行我的 playbook 的项目。 我设法让我的剧本运行良好,但现在我需要一种方法来过滤运行剧本后显示的 Play Recap。
PLAY RECAP ********************************************************************************************
100.80.80.1 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=2
100.80.80.3 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=2
100.80.80.4 : ok=3 changed=3 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
100.80.80.5 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=2
100.80.80.6 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=2
100.80.80.7 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=2
100.80.80.8 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=2
100.80.80.9 : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=2
这是我的 Play Recap 中显示内容的示例,在这个示例中,我只有 8 个主机,因此很容易看到哪些主机发生了更改或失败,问题是当我在 1024 个主机上运行我的真实剧本和我的 Play Recap 时达到 1024 行,几乎不可能阅读每一行来查看哪些内容发生了更改或失败。
所以我的问题是,如何过滤播放回顾以仅显示已更改和失败的主机?隐藏确定并跳过
我尝试在我的 ansible.cfg 中使用“display_skipped_hosts= False”和“display_ok_hosts= False”,但没有任何变化。
感谢您的帮助!
播放回顾显示每个主机的任务状态分布,而不是主机的状态。
display_skipped_hosts
和 display_ok_hosts
参数控制任务的日志记录,不影响回顾。
不过,您可以做的是使用
json
回调插件 并根据您的要求过滤其输出的 stats
对象。
set_stats
模块设置自己的自定义统计信息,启用 show_custom_stats
参数,并根据该参数过滤日志输出。
meta
模块,根据跳过某些主机的相同原因有条件地结束播放,但我不确定。
最后,您可以尝试使用自定义回调插件,例如 ARA Records Ansible,或者编写自己的插件。