
我最近購買了一個漂亮的 7×11 LED 顯示屏,我想(除其他外)在上面顯示我的 nagios 狀態。為此,我需要查詢 Nagios 安裝的狀態。
從遠端 Nagios 伺服器(例如 Perl 腳本)取得狀態摘要(例如,不正常服務的數量)的適當方法是什麼?
答案1
我維護著一個非常大的 nagios 安裝,並且可以說執行此操作的絕對最佳方法是透過“即時狀態「 事件經紀人:
http://mathias-kettner.de/checkmk_livestatus.html
Livestatus 透過本地或 tcp 套接字提供對 nagios 狀態的即時訪問,並在監控伺服器上引入幾乎為零的額外 CPU 負載(當然,確實有記憶體佔用)。與 xinetd/unixcat 的簡單整合允許透過網路對其進行查詢。輸出採用三種格式之一:CSV、JSON 和 Python。有許多配置選項可用,並且對於生產使用來說足夠穩定。該文檔非常好。
此外,livestatus 還支援其他 nagios 附加元件,例如“MK 多站點”,它將多個 nagios 安裝的結果聚合到一個 GUI 中,而不使用 NSCA 或被動服務檢查結果,這需要在工作伺服器和主伺服器上維護 nagios 配置。
答案2
據我所知,nagios.com 沒有支援用於查詢 nagios 狀態的 API。有很多不同的附加元件可以幫助您做到這一點。這個問題中討論了一些。
您可以直接查詢 cgi 並「螢幕擷取」傳回的 html,但這不是一個非常可靠的解決方案。我已經對這個版本的 api 伺服器搞亂了一些,但還沒有投入生產。