Графана оповещение при отсутствии изменений в данных за x минут
Катаюсь по сети и форумам, не могу найти ресурс по этому вопросу.
Чего я должен добиться, так это создать оповещение о том, что в течение определенного периода времени данные не меняются.
Мы отслеживаем открытые файлы для нашего веб-сервера, поэтому это число довольно часто колеблется. Заметил, что, когда число остается на прежнем уровне, это указывает на проблему на сервере. Так что мы хотим, чтобы openfile оставался X в течение 2 минут, предупредите нас.
3 ответа
Если вы используете Prometheus и Alert manager, у меня есть хорошая функция, которая сработала.
Таким образом, использование чего-то подобного в диспетчере предупреждений сработает, если за временной интервал не произойдет никаких изменений.
changes(metric_name[5m]) = 0
Я сделал такое предупреждение через небольшую последовательность вещей:
- У меня есть эксклюзивная "фиктивная доска предупреждений" для всех предупреждений, поскольку у меня может быть только одно предупреждение на график (версия Grafana 6.6.0)
- Я использую следующий запрос:
avg_over_time(delta(Sensor_Data[1m])[20s:])
- вычисляет среднее значение за 20 секунд для 'first_value-last_value 1-минутного интервала' - Моя программа сбора данных передается в prometheus, а это, в свою очередь, в grafana - если эта программа зависает, она может продолжать отправлять последнее значение в Prometheus, и указанный выше запрос упадет строго до нуля.
- поэтому у меня есть предупреждение, которое срабатывает, если указанный выше запрос находится в диапазоне (-0,01, 0,01) в течение минуты (типичное значение указанного выше запроса при работающей системе - abs(query) > 0,18)
Таким образом, Grafana отправляет предупреждение, если Sensor_Data
значение не меняется в течение 2-3 минут.
Это сработало для меня. Убедитесь, что вы используете функцию увеличения или увеличения (без изменений означает, что она упадет до нуля) и отфильтруйте запрос следующим образом:
increase(metric_name) > 0
Затем в настройке оповещения установите "Если данные отсутствуют или все значения равны нулю" на "Оповещение". Таким образом, когда нет данных, предупреждение будет активировано.