播放剧本后访问ansible playbook结果

Ank*_*rni 5 python automation ansible ansible-playbook

我正在ansible-pull远程机器(客户端)上运行一个ansible脚本,这是我看不到的.

我想确保:

  • ansible playbook成功执行然后应发送摘要
  • ansible playbook如果没有成功执行,应该发送失败的摘要

启用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  
Run Code Online (Sandbox Code Playgroud)

如果没有,那么我将编写自定义脚本来解析日志,将信息保存在机器上的某个数据库中并将其发送回我们的服务器.

udo*_*dan 6

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

但是这对于一个回调插件来说很尖叫.看一下插件log_plays.它编写自己的日志文件.您可以截取所有消息,收集它们,最后(def playbook_on_stats(self, stats):在插件中定义一个方法)可以随心所欲地处理它.还有一个邮件插件,可以发送失败任务的电子邮件.