本文介绍了运行攻略后访问可能的攻略结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用ansible-pull在我看不到的远程计算机(客户端)上运行Ansible脚本。

我想确保:

  • 可修改的剧本执行成功,则应发送摘要
  • 可分析的行动手册如果执行不成功,应发送失败内容的摘要
启用Ansible日志将信息存储在一些日志文件中,但我想知道是否可以通过Ansible中预定义的一些变量获得以下Ansible输出的结果。

PLAY [localhost] **************************************************************

GATHERING FACTS ***************************************************************
ok: [localhost]

TASK: [Install the hello package] *********************************************
ok: [localhost] => {"changed": false}

TASK: [Install the cmatrix package] *******************************************
ok: [localhost] => {"changed": false}

PLAY RECAP ********************************************************************
localhost                  : ok=3    changed=0    unreachable=0    failed=0
如果没有,那么我将不得不编写自定义脚本来解析日志,将信息保存在机器上的某个数据库中,然后将其发送回我们的服务器。

推荐答案

AFAIK没有可以从中获取此数据的变量。

但这需要callback plugin。请看一下插件log_plays。它会写入自己的日志文件。您可以截取所有消息,收集它们,最后(在插件中定义一个方法def playbook_on_stats(self, stats):)随心所欲地处理它。还有mail plugin,它将发送有关失败任务的电子邮件。

这篇关于运行攻略后访问可能的攻略结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-19 16:11