使用 ARA 分析 Ansible 运行
Ansible 是一个多功能平台,它已经成为管理服务器和服务器配置的流行平台。如今,Ansible 大量用于通过持续集成 (CI) 进行部署和测试。
在自动化持续集成的世界中,每天都有数百个甚至数千个作业运行测试、构建、编译、部署等等,这并不罕见。
Ansible 运行分析 (ARA) 工具
Ansible 运行生成大量控制台数据,在 CI 的环境下跟上大量的 Ansible 输出是具有挑战性的。Ansible Run Analysis(ARA) 工具使此详细输出可读并且使作业状态和调试信息更有代表性。ARA 组织了记录的 剧本 数据,以便你尽可能快速和容易地搜索并找到你感兴趣的内容。
请注意,ARA 不会运行你的 剧本 。相反,无论在哪它都它作为回调插件与 Ansible 集成。回调插件可以在响应事件时向 Ansible 添加新行为。它可以根据 Ansible 事件执行自定义操作,例如在主机开始执行或任务完成时执行。
与 AWX 和 Tower 相比,它们是控制整个工作流程的工具,具有仓库管理、 剧本 执行、编辑功能等功能,ARA 的范围相对较窄:记录数据并提供直观的界面。这是一个相对简单的程序,易于安装和配置。
安装
在系统上安装 ARA 有两种方法:
- 使用托管在 GitHub 帐户 上的 Ansible 角色。克隆仓库并:
ansible-playbook Playbook.yml
如果剧本执行成功,你将看到:
TASK [ara : Display ara UI URL] ************************
ok: [localhost] => {}
"msg": "Access playbook records at http://YOUR_IP:9191"
注意:它从 Ansible 收集的 ansible_default_ipv4
fact 中选择 IP 地址。如果没有收集这些 fact,请用 roles/ara/tasks/
文件夹中 main.yml
文件中的 IP 替换它。
- ARA 是一个在 GitHub 上以 Apache v2 许可证授权的开源项目。安装说明在快速入门章节。文档和 FAQ 可在 readthedocs.io 上找到。
ARA 能做些什么?
下图显示了从浏览器启动 ARA 登录页面:
![ara landing page](/data/attachment/album/201806/12/110005y0gqw0rmlhpfr17l.png "ara landing page")
ARA 登录页面
它提供了每个主机或每个 playbook 的任务结果摘要:
![task summaries](/data/attachment/album/201806/12/110006q7cgzquahqqziliq.png "task summaries")
ARA 显示任务摘要
它允许你通过剧本,play,主机、任务或状态来过滤任务结果:
![playbook runs filtered by hosts](/data/attachment/album/201806/12/110007g4xbva4464z1e6i1.png "playbook runs filtered by hosts")
通过主机过滤剧本运行
借助 ARA,你可以在摘要视图中轻松查看你感兴趣的结果,无论是特定的主机还是特定的任务:
![summary of each task](/data/attachment/album/201806/12/110008ce8qc2zeq2ffxecv.png "summary of each task")
每项任务的详细摘要
ARA 支持在同一数据库中记录和查看多个运行。
![show gathered facts](/data/attachment/album/201806/12/110009iarssftrsoarwt1a.png "show gathered facts")
显示收集的 fact
总结
ARA 是一个已经帮助我从 Ansible 运行日志和输出中了解更多的有用资源。我强烈推荐给所有的 Ansible 使用者。
请随意分享,并请在评论中告诉我你使用 ARA 的经历。
[参见我们的相关文章,成功使用 Ansible 的秘诀]。
via: https://opensource.com/article/18/5/analyzing-ansible-runs-using-ara
作者:Ajinkya Bapat 选题:lujun9972 译者:geekpi 校对:wxy
本文转载来自 Linux 中国: https://github.com/Linux-CN/archive