Nagios

在 Nagios 服務檢查上設置臨時 check_interval

  • September 23, 2015

有誰知道 Nagios 是否可以選擇在服務檢查中設置臨時check_interval設置並在 X 分鐘後恢復?

我的服務檢查定義如下所示:

define service {
   host_name prodhost
   use http
   service_description www.example.com:8080
   check_command check_http!8080!example.com:8080!/!5.000!10.00
   servicegroups http-check
   check_interval .5
   retry_interval .25
   max_check_attempts 3

}

問題是每次對我的 Web 應用程序進行更改(通過 CI)時,它還必須重新啟動應用程序作為部署過程的一部分。這會觸發我的一些 5 秒和 10 秒警告和嚴重警報。

我希望能夠保持目前的check_intervalretry_intervalmax_check_attempts門檻值完好無損,但能夠在進行部署時臨時更改它們,並在 3 分鐘後恢復到原始狀態。

您指的是Adaptive Monitoring。這不一定是實現目標的*最佳方式,但您可以使用外部命令更改這些參數。*例如,您可以通過使用 ssh 和密鑰進行連接的腳本遠端送出它們。

(由於您的時間間隔不到一分鐘,因此需要進行一些調整才能獲得正確的時間,因為 Nagios 可能在您執行下一次檢查之前尚未處理該命令。)

您將讓您的部署工作流向 Nagios 發送一個命令來修改參數,然後再發送一個命令稍後將其更改回來(在服務重新啟動後)。同樣,您可以暫時禁用主動檢查或通知。

相反,您可能應該做的是(自動)通過部署過程將服務置於預定的停機時間。停機時間具有停止/結束時間的好處,因此您不必送出第二個命令來恢復您的更改。

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