Nagios

Nagios check_host_alive 和 check_ping 未將主機顯示為已關閉

  • March 27, 2012

我正在使用 check_host_alive 命令每分鐘向遠端位置的所有路由器發送 5 個數據包。我今天注意到我收到了來自 AT&T 全球客戶支持中心的通知,說路由器已關閉(可能需要 5-30 分鐘才能將這些通知發送出去)並且從未收到來自 Nagios 的通知。我進入 Nagios,它顯示主機處於活動狀態,延遲為 0 毫秒。這告訴我它看到了來自數據中心的路由器的自動響應,即“TTL 在傳輸中過期”作為來自遠端路由器的回复。無論如何我要告訴 nagios 檢查回復來自哪裡?我覺得其他人必須遇到這個問題……我用 check_ping 命令對其進行了測試,它產生了相同的結果。我定義的命令在主機定義中有 %hostname% 和正確的 IP,它可以很好地告訴我延遲很高。歡迎任何想法,我已經鍛煉了我的Google技能,但沒有結果。

編輯:

root@IM-UBTU:/# /usr/local/nagios/libexec/check_ping -H 192.168.250.1 -w 100.0,10% -c 200.0,20% -vvv
CMD: /bin/ping -n -U -w 10 -c 5 192.168.250.1
Output: PING 192.168.250.1 (192.168.250.1) 56(84) bytes of data.
Output: From 10.69.10.2 icmp_seq=1 Time to live exceeded

它知道有問題為什麼不給我一個警告?

我想在這裡嘗試提供解決方案,因為沒有任何答案。

您最好的選擇是對您想要的內容使用不同的服務檢查,不幸的是我沒有足夠的程式知識來提供修改後的 check_ping 外掛。

另一種方法是將檢查更改為 telnet 或 ssh 之類的東西,雖然不理想,但會為您提供比 ping 更好的響應。

有關如何更改這一點,請參閱我的文章: 更改 Nagios 如何確定伺服器是否離線?

您可以在所有交換機之後,在您指定目標主機之前,在您的 ping 語法中指定躍點。我在我的網路上做了一個小測試,如果躍點不可達,你似乎不會得到任何回复。

這似乎是 check_ping 中的一個相當大的缺陷,您應該將其報告為錯誤。

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