
我有一台運行 Ubuntu 的 nagios 伺服器,配備 2.0 GHz Intel 處理器、RAID10 陣列和 400 MB RAM。它監視了 8 個主機上總共 42 個服務,其中大多數使用 check_http 插件檢查甚至 5 分鐘,有些每分鐘檢查一次。最近nagios伺服器的負載一直在4以上,經常高達6。
我想知道,這樣的硬體應該能夠處理多少服務?負載如此之高是因為我正在突破硬體的限制,還是該硬體應該能夠處理 42 個服務檢查加上仙人掌?如果硬體不足,我是否應該添加更多 RAM、更多核心或更快的核心?其他人正在運行哪些硬體/服務檢查?
答案1
你需要弄清楚你的瓶頸在哪裡...
我執行一個 nagios 監視器,透過 http、ping 和 ssh 檢查來檢查 400 多個主機。 (以及許多其他被動檢查和 nscd)
這是在 RAID10 中具有 4 個 SAS 磁碟的 2xQuadCore 伺服器上。
我懷疑您存在 IO 爭用,因為寫入大量 rrd 效率非常低。
您需要弄清楚哪個進程正在佔用您的資源。 (仙人掌、nagios 或其他)
對於 IO 檢查,我喜歡 iotop。安裝 iotop(9.04 軟體包適用於 8.04)
但除此之外,top 也應該可以幫助您找到負載佔用者。
仙人掌一分鐘一次,非常具有攻擊性。 (我的跑步間隔是5m)
我聽說過的一種解決 rrd 寫入爭用的方法是將 rrd 儲存放在 ramdisk/tmpfs 上。 (確保時不時地將其同步到持久性儲存)
祝你好運。
答案2
除非是仙人掌產生了大部分負載,否則您應該能夠運行比您的硬體更多的檢查。
我在 FreeBSD 虛擬機器上運行 nagios,該虛擬機在運行速度極慢的舊 PC(Pentium 3 1GHz,帶有慢速 PATA 磁碟)上的 Microsoft Virtual Server 上運行。虛擬機器只有 128MB RAM,效能非常糟糕。
然而,在 42 台主機上執行 158 次檢查時,平均負載約為 0.2。
答案3
在具有 256MB RAM 的舊 PIII 上,我正在積極監控大約 230 個不同的服務。同一台機器還為我們所有傳入的傳真運行 MRTG 和 HylaFAX,並且運行得相當舒適。
答案4
您應該能夠使用該硬體運行大量 nagios 檢查。我們運行類似的設置,進行大約 70 個檢查和 Nagiosgraph - 主要區別是添加了 RAM(它很便宜,所以我將盒子增加到 2Gb)。
嘗試運行top或ps -aux來查看CPU是否過載,但我對此表示懷疑。您可能還想檢查 nagios並行化文檔查看您的安裝是否嘗試一次執行太多檢查而不是序列化它們。