使用 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