Назад | Перейти на главную страницу

Как добавить повтор команды к проверкам sensu?

У меня в марионетке определена следующая проверка 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 обрабатывает событие, он проверяет определение обработчика (или обработчиков). Перед запуском каждого обработчика сервер Sensu сначала применит любой настроенный фильтр (или фильтры) для обработчика.

Вхождения - это то, что вам нужно использовать.
occurrences => 2,