尝试使用Ansible报告

我在 Ansible 的邮件列表上看到有人发布了一个这样的项目,所以我立刻尝试了一下。

来自Emmanuel B.先生

我编写了一个脚本,可以从每次ansible运行生成一个报告(网页)。这个脚本对于在大量服务器上独立运行非常有用。
无需依赖、数据库或者网络服务器。

https://github.com/manuBocquet/ansible-report

希望你们中的一些人会觉得有用…

按照 README 中所写的方式,我的环境需要额外安装 babel 模块。

# git clone https://github.com/manuBocquet/ansible-report.git

将ansible.cfg进行配置

callback_plugins    = ~/ansible-report/callbackplugin
callback_whitelist  = ansible-report
stdout_callback     = ansible-report

設置環境變數

# Ansible Report
export ANSIBLE_REPORT_PORT=8180
export ANSIBLE_REPORT_FILE=~/Test/ansible_report.json

完成设定后,尝试执行ansible-playbook到一个合适的主机上。

# ansible-playbook -i hosts hoge.yml
 ****** ANSIBLE NEW PLAY ******

Task []
                     188.166.222.0 | Ok

Task [Fetch files]
                     188.166.222.0 | Ok

只要STDOUT输出与平常不同即可,完成后会写入~/Test/ansible_report.json,之后

$ ansible-report/ansible-report
Load file : /home/vagrant/Test/ansible_report.json

Open browser and load : http://XXX.XXX.XXX.XXX:8180

感觉就是这样。
一旦访问。

2017-05-15 16-35-26.jpg

感受

在大规模服务器上运行时,可能会考虑使用这个UI来查看结果。因为可以使用各种过滤器,很容易看出什么是成功的,什么是失败的。此外,虽然简单,但可以将结果以CSV格式导出,这也是一个优点。不过,右侧面板中的内容以JSON格式输出给每个任务,有点难以阅读。总之,总览整个情况,能够快速解决问题的目标是一个优点。

广告
将在 10 秒后关闭
bannerAds