#prometheus #prometheus-alertmanager #promql #prometheus-operator
#prometheus #prometheus-alertmanager #promql #prometheus-оператор
Вопрос:
Я хотел бы сгенерировать оповещение, например, когда счетчик metricX
падает более чем на 70% в любой момент времени в течение 5 минут.
Ниже будет мой файл правил YAML для генерации оповещения:
groups:
- name: MetricX dip
rules:
- alert: MetricX dip by more than 70%
expr:
for: 0m
labels:
severity: warning
annotations:
descriptions: MetricX has been dropped by more than 70%
Я хотел бы увидеть некоторое руководство о том, как я могу писать promQL
выражения в файле правил для измерения процентного падения metricX в любой момент времени в течение 5 минут.
Ответ №1:
После promql
тщательного понимания это то, что я реализовал в простой форме, которая удовлетворяет моим требованиям.
(-100 * rate(MetricX[2m]) / rate(MetricX[5m] offset 1m)) > 70
MetricX
является счетчиком. Итак, я использовал rate
при вычислении процентного снижения. Мой prometheus scrape_interval
составляет 1 минуту. Таким образом, падение вычисляется в течение 2 минут
, которые следуют за 5 минутами.
Я надеюсь, что это поможет другим людям.
Ответ №2:
Попробуйте выполнить следующий запрос:
rate(metricX[2m]) < 0.7 * (rate(metricX[2m] offset 5m))
Комментарии:
1. Ваш ответ неверен, поскольку вы не включили
rate
функцию. Без этого вы не знаете изменения значения с течением времени. В этом случае среднее значение. скорость увеличения в секунду. Если метрика является калибровочной, вы должны использоватьdelta
илиidelta
.2. Спасибо за указатель! Добавлено
rate()
к ответу!