![如何将命令重试添加到 sensu 检查中?](https://linux22.com/image/712477/%E5%A6%82%E4%BD%95%E5%B0%86%E5%91%BD%E4%BB%A4%E9%87%8D%E8%AF%95%E6%B7%BB%E5%8A%A0%E5%88%B0%20sensu%20%E6%A3%80%E6%9F%A5%E4%B8%AD%EF%BC%9F.png)
我在 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 出错后开始发出警报。
我认为过滤器 可能有用。看来我需要创建一个过滤器,例如这里。但是我该如何将该过滤器与此检查关联起来?我是否也需要定义自定义处理程序?
答案1
您需要使用 Occurrences。
occurrences => 2,