Главная

Sunday, 2 May 2021

Параметры уведомлений в Grafana.

Всем привет.

Оказалось что для задействования уведомлений (Alerts) в паре Zabbix плюс Grafana надо было обновить  Zabbix plugin до версии не ниже 4.0.0.  Обновил, и теперь можно спокойно заняться настройкой параметров уведомлений в самой Grafana.

Итак, чтобы настроить правила для отправки нам уведомлений нужно:

1. Нажмите на заголовок графика и выбирете "Edit".

2. Нажмите "Create alert".


3. Внесите параметры уведомления:

a) Name - произвольное имя уведомления.

b) Evaluate every - частота уведомления. Например, 5m для уведомления каждые пять минут или 1h для уведомления каждый час.

c) For - время, которое Grafana выжидает после наступления порогового значения параметра. Например, 15m для ожидания 15 минут.

d) Conditions - условия для уведомления:

Формат условия:

WHEN function OF query(id, start_time, end_time) condition value

где:

function - функция для расчёта параметра. Возможные значения:

avg() - среднее значение;

min() - минимальное значение;

max() - максимальное значение;

sum() - сумма всех значений;

count() - количество значений;

last() - последнее значение;

median() - среднее значение по медиане;

diff() - разница между значениями;

percent_diff() - разница между значениями в процентах;

count_non_null() - количество значений, отличных от null;

id - идентификатор очереди. Значение по умолчанию для первого графика - A, для второго - B и т.д. Вы можете посмотреть идентификатор в разделе Queries;

start_time - время, с которого нужно вести расчёт. Параметр start_time задаётся относительно текущего времени. Например, 15m - за 15 минут до текущего времени;

end_time - время, до которого нужно вести расчёт. Параметр end_time задаётся относительно текущего времени в формате now-<time>. Например, now-5m - за 5 минут до текущего времени;

condition - условие где:

IS ABOVE - больше чем;

IS BELOW - меньше чем;

IS OUTSIDE RANGE - вне диапазона;

IS WITHIN RANGE - в диапазоне;

HAS NO VALUE - отсутствующие значения;

value - значение или диапазон значений.

Пример условия:

WHEN avg() OF query(A, 15m, now) IS ABOVE 50

где условие сработает, если за последние 15 минут среднее значение данных из очереди А превысило 50.

Чтобы задать дополнительное условие, нажмите плюсик. Чтобы добавить условие через логическое "И" укажите в начале условия операнд AND. Чтобы добавить условие через логическое "ИЛИ" укажите в начале условия операнд OR.

Пример условия:

WHEN avg() OF query(A, 15m, now) IS ABOVE 90

AND max() OF query(A, 15m, now) IS ABOVE 95

где условие сработает, если за последние 15 минут среднее значение данных из очереди А превысило 90 и максимальное превысило 95. Обратите внимание что дополнительные условия проверяются последовательно в порядке их ввода.

e) If no data or all values are null - статус уведомления в случае, если данные отсутствуют или имеют значения null. Возможные значения: Alerting, No Data, Keep Last State, OK;

f) If execution error or timeout - статус уведомления в случае, если во время его выполнения возникла ошибка. Возможные значения: Alerting, Keep Last State.

4. Выберите каналы уведомления в поле Send to (настраивается предварительно). 

5. Введите текст уведомления в поле Message.

6. Выполните проверку правила "Test rule".

7.    Cохраните правило -  введите комментарий и нажмите Save.

Успехов.


No comments:

Post a Comment

А что вы думаете по этому поводу?