получает данных с неких нечто1, нечто2, нечто3 и тп.
В этом приложении есть prometheus-метрики типа counter (разделенные по labels) и каждый раз при получении данных они инкрементируется на 1.
Следовательно, можно настроить alert правило, которое будет срабатывать когда счетчик перестал изменяться.
Receiver - telegram бот.
Так же хотелось бы настроить алертинг так что бы сообщения по недоступности нечтоХ для по1 объединялись в одно сообщение.
Как пробовал:
Делаем group_by по job.
При group_wait: 5s, group_interval: 5m:
Допустим нечто1 и нечто 2 перестали обновляться -> получаем объединенное сообщение = отлично
После чего, через 20 сек, перестал обновляться нечно3 - фиг, так как group_interval стопит сообщение на 5 минут.
При group_wait: 5s, group_interval: 5s:
Получаем лютый спам от того что prometheus каждый evaluation_interval повторяет сообщения (нафига в нем такая логика?)
Если сделать group_by по job и labels то отправка сообщений конечно идет как нужно, но тогда они не объединяются в одно.
Чем можно добить первый вариант до рабочего?
Возможно как то сменить парадигму мониторинга? Как?
напомню про вопрос - может появились люди которые знают ответ, пока тестирую --rules.alert .resend-delay с разными параметрами.
Обсуждают сегодня