Nagios

使用 Nagios 監控 Ansible 拉取

  • August 19, 2018

我有幾個(比如 40 個)工作站和伺服器,它們在 pull 配置中使用 Ansible 進行配置。每台機器都有一個 cron 作業,用於ansible-pull提取 git 儲存庫並將其應用到主機本身。結果目前通過電子郵件發送到我的帳戶。

在電子郵件中,我必須檢查某些主機是否在當天沒有發送電子郵件,以確定它們是否剛剛關閉或有其他問題。如果缺少一台機器,我會嘗試通過 SSH 連接。如果它被關閉,那很好。否則我會嘗試解決這個問題。

幾天前,我在一台伺服器上設置了 Nagios,以了解機器的概況。通過 ping 和 SSH 設置監控非常簡單,現在我可以看到哪些機器啟動了,哪些機器停止了。

現在我想以某種方式監控 Nagios 中的 Ansible 狀態。我在 Nagios Exchange 上沒有找到直接的外掛,於是有了以下想法:

  1. 將 的輸出寫入ansible-pull帶有時間戳的日誌文件,然後讓 Nagios 主機從機器中檢索所有日誌。然後它需要檢查最後一個時間戳是否不超過 24+X 小時,其中 X 是 1 小時之類的一些餘量。
  2. 將所有內容轉換回推送架構,然後ansible-playbook在基礎架構伺服器上執行。然後這會創建一些文件,我在那裡有一個概述,Nagios 可能會以某種方式解析。
  3. 將我們的配​​置管理移植到 Puppet,因為它似乎內置了一些監控並使用它而不是 Nagios。
  4. 購買 Ansible 塔可能是一個解決方案,但不會有錢。到目前為止,人們只是在他們的工作站掛起時來到我的辦公室,所以我們真的沒有監控系統的業務需求。我只想用免費軟體來做。

從目前設置來看,第一個選項似乎是最簡單的,我只是不確定什麼是明智的實現。如果它為我提供了實現的粗略大綱和 Nagios 所需外掛的指針,將不勝感激。

為此,您將使用某種形式或遠端命令執行。Icinga2 代理、NRPE 或 SSH,並將檢查執行檔放在機器本身上。它將在本地檢查並僅返回檢查輸出。

引用自:https://serverfault.com/questions/927061