Создание оповещения с помощью прометея каждый раз, когда возникает ошибка - PullRequest
0 голосов
/ 13 марта 2020

Я новичок в Prometheus и системы оповещения. Я разработал микросервис и добавил код метрики, чтобы получить общее количество приращений при возникновении ошибки. Теперь я пытаюсь создать оповещение, чтобы при каждом увеличении ошибки он отключался и отправлял письмо. но я не могу сформировать правильный запрос для этого сценария. Я использовал что-то вроде error_total> 0 для отправки оповещения, но оно будет работать каждый раз, поскольку счетчик будет> 0, если мы не сбросим его вручную.

1 Ответ

0 голосов
/ 16 марта 2020

То, что вы ищете, это функция увеличения . Следующее выражение вызывает ошибку каждый раз, когда в течение предыдущих 15 минут произошла ошибка:

expr: increase(my_error_metric[15m]) > 0
annotations:
  summary: "Hey! There were {{ $value }} errors in the last 15 minutes"

В микросервисах часто встречаются ошибки, и оповещение по каждому из них обычно неуправляемо. Более распространенной стратегией является предупреждение только в том случае, если частота ошибок превышает заданный порог (например, на 5%):

expr: irate(my_error_metric[2m]) / irate(number_of_call[2m]) * 100 > 5

Предупреждение об увеличении может также означать, что вы можете пропустить некоторые ошибки, поскольку оповещение вызвано ошибкой, но во время расследования возникает другая ошибка. Второго предупреждения не будет, оно будет включено в первое.

...