如何在 Ansible 中运行 Playbook 后过滤 Play Recap

问题描述 投票:0回答:1

我是 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”,但没有任何变化。

感谢您的帮助!

ansible ansible-2.x
1个回答
0
投票

播放回顾显示每个主机的任务状态分布,而不是主机的状态。

display_skipped_hosts
display_ok_hosts
参数控制任务的日志记录,不影响回顾。

不过,您可以做的是使用

json
回调插件 并根据您的要求过滤其输出的
stats
对象。

此外,您还可以使用

set_stats
模块设置自己的自定义统计信息,启用
show_custom_stats
参数,并根据该参数过滤日志输出。

您也可以尝试使用

meta
模块,根据跳过某些主机的相同原因有条件地结束播放,但我不确定。

最后,您可以尝试使用自定义回调插件,例如 ARA Records Ansible,或者编写自己的插件。

© www.soinside.com 2019 - 2024. All rights reserved.