Nagios
在 Nagios 服務檢查上設置臨時 check_interval
有誰知道 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_interval、retry_interval和max_check_attempts門檻值完好無損,但能夠在進行部署時臨時更改它們,並在 3 分鐘後恢復到原始狀態。
您指的是Adaptive Monitoring。這不一定是實現目標的*最佳方式,但您可以使用外部命令更改這些參數。*例如,您可以通過使用 ssh 和密鑰進行連接的腳本遠端送出它們。
(由於您的時間間隔不到一分鐘,因此需要進行一些調整才能獲得正確的時間,因為 Nagios 可能在您執行下一次檢查之前尚未處理該命令。)
您將讓您的部署工作流向 Nagios 發送一個命令來修改參數,然後再發送一個命令稍後將其更改回來(在服務重新啟動後)。同樣,您可以暫時禁用主動檢查或通知。
相反,您可能應該做的是(自動)通過部署過程將服務置於預定的停機時間。停機時間具有停止/結束時間的好處,因此您不必送出第二個命令來恢復您的更改。