Puppet
如何將命令重試添加到 sensu 檢查?
我在 puppet 中定義了以下 sensu 檢查
sensu::check { 'check_kubernetes_kubelet': interval => 60, timeout => 30, command => 'check_http -H :::name::: -p 10248 -u /healthz -e "200 OK"', subscribers => ['kubernetes_minion'], contacts => ['sensu_high'], }
我想在此檢查中添加命令重試。只有在 N 個連續命令執行返回錯誤後,此檢查才應開始向其聯繫人發出警報。
在此範例中,假設 N 為 2。假設在 check_X 之後發生故障。然後 60 秒後 check_X+1 將返回錯誤。再過 60 秒 check_X+2 也會失敗。我希望在 check_X+2 出錯後啟動警報。
我認為sensu過濾器 可能有用。看起來我需要像這裡一樣創建一個過濾器。但是,我如何將該過濾器與此檢查相關聯?我是否也需要定義一個自定義處理程序?
發生是您需要使用的。
occurrences => 2,
您必須使用處理程序。當您的檢查觸發和事件時,它會到達您為其定義的處理程序或處理程序(在檢查中搜尋“處理程序” )。然後,每個處理程序可以關聯一個或多個過濾器。
從文件:
當 Sensu 伺服器處理一個事件時,它會檢查一個處理程序(或多個處理程序)的定義。在執行每個 Handler 之前,Sensu 伺服器將首先為 Handler 應用任何已配置的過濾器(或多個過濾器)