Ansible 是一個多功能平臺,它已經成為管理服務器和服務器配置的流行平臺。如今,Ansible 大量用于通過持續集成 (CI) 進行部署和測試。
在自動化持續集成的世界中,每天都有數百個甚至數千個作業運行測試、構建、編譯、部署等等,這并不罕見。
Ansible 運行分析 (ARA) 工具
Ansible 運行生成大量控制臺數據,在 CI 的環境下跟上大量的 Ansible 輸出是具有挑戰性的。Ansible Run Analysis(ARA) 工具使此詳細輸出可讀并且使作業狀態和調試信息更有代表性。ARA 組織了記錄的劇本playbook數據,以便你盡可能快速和容易地搜索并找到你感興趣的內容。
請注意,ARA 不會運行你的劇本playbook。相反,無論在哪它都它作為回調插件與 Ansible 集成;卣{插件可以在響應事件時向 Ansible 添加新行為。它可以根據 Ansible 事件執行自定義操作,例如在主機開始執行或任務完成時執行。
與 AWX 和 Tower 相比,它們是控制整個工作流程的工具,具有倉庫管理、劇本playbook執行、編輯功能等功能,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 登錄頁面:
它提供了每個主機或每個 playbook 的任務結果摘要:
它允許你通過劇本,play,主機、任務或狀態來過濾任務結果:
借助 ARA,你可以在摘要視圖中輕松查看你感興趣的結果,無論是特定的主機還是特定的任務:
ARA 支持在同一數據庫中記錄和查看多個運行。
總結
ARA 是一個已經幫助我從 Ansible 運行日志和輸出中了解更多的有用資源。我強烈推薦給所有的 Ansible 使用者。
請隨意分享,并請在評論中告訴我你使用 ARA 的經歷。