Monitoring
延遲 Nagios/Icinga 檢查
在監視伺服器的健康狀況時,一些故障或警告是立即緊急的,但其他故障或警告只有在它們持續存在時才重要。我在想這樣的事情:
- 一些軟體需要更新
- 時間偏移與 NTP 不同
如果不加以解決,這些可能會成為真正的問題,但已經有後台服務可以處理它們 - 無人值守升級、NTP 客戶端服務等。在問題出現和這些後台程序開始解決它們之間總會有短暫的延遲,我們的監視器在那個間隙發送了一系列電子郵件 - 然後一分鐘後問題得到解決。我通常會在一大堆“問題”電子郵件中醒來,每封電子郵件都會在一分鐘後發送相應的“解決”電子郵件。危險在於,在忽略一百個不相關的警告時,我可能會錯過真正的警告。
那麼是否有任何方法可以指示 Icinga 或 Nagios 僅在問題持續超過一定時間(例如 5 分鐘)時才報告問題?
SvW 在他所寫的內容中沒有錯,但是您還應該調查變數
max_check_attempts
,它定義了在出現 HARD 錯誤和通知之前服務必須失敗的檢查次數。對於我的一些觸發式服務,我有
max_check_attempts 2 check_interval 2 retry_interval 1
這意味著 NAGIOS 會比平時更頻繁地檢查,一旦發現有問題,它會等待 1 分鐘,再檢查一次,然後通知。對於其他服務,我不關心,直到它關閉了一段時間,我有
max_check_attempts 12 check_interval 5 retry_interval 5
這意味著一旦 NAGIOS 發現某些東西出現故障,它會像往常一樣每 5 分鐘檢查一次,直到它出現故障一個小時才告訴我。
絕對值得調整您的NAGIOS,直到它告訴您您關心的事情,您關心的時間,僅此而已;發出大量誤報(即,向您發送大量您並不真正關心的通知)的監控系統幾乎與具有誤報(即,未能注意到真正的問題)的監控系統一樣無用。