Puppet

如何將命令重試添加到 sensu 檢查?

  • May 2, 2018

我在 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 應用任何已配置的過濾器(或多個過濾器)

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