首页 文章

播放剧本后访问ansible playbook结果

提问于
浏览
4

我在远程机器(客户端)上使用 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

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

1 回答

  • 6

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

    但这会让人感到尖叫 . 看一下插件log_plays . 它编写自己的日志文件 . 您可以拦截所有消息,收集它们并在最后(在您的插件中定义一个方法 def playbook_on_stats(self, stats): )随心所欲地执行它 . 还有mail plugin将发送有关失败任务的电子邮件 .

相关问题