Эта статья про триггеры в Zabbix, здесь я кратко опишу суть этих триггеров и расскажу как их можно применять.

Что такое триггеры

Zabbix позволяет собирать некоторые метрики с наблюдаемых хостов, эти метрики называются элементами данных. Триггеры нужны чтобы получить информацию о том, что какая-та метрика вышла за рамки.

Например, мы собираем данные о потребляемой памяти, а точнее, раз в 30 секунд получаем процент занятой памяти на сервере. Для этого мы в Zabbix добавили этот сервер как узел сети, и на этот узел добавили элемент данных.

Затем, мы хотим получать оповещение, если уже используется 80% всей памяти. Для этого мы на элемент данных вешаем триггер — это такая функция, проверяющая значение элемента данных. И если это значение попадает в некий диапазон триггера, то триггер срабатывает.

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

То-есть, элемент данных выдал 81%, триггер был настроен на число большее 80%, триггер сработал. А раз он сработал, то будет отправлено оповещение.

Добавление триггера

Для начала научимся создавать триггеры. Для этого открываем web-интерфейс и переходим по меню «Настройка / Узлы сети». С помощью фильтров находим необходимый узел сети. Для этого можем указать «Группу узлов сети». У выбранного узла сети нажимаем ссылку «Триггеры».

Добавление триггера в Zabbix

В открывшемся окне нажимаем кнопку «Создать триггер».

Добавление триггера в Zabbix

Придумываем Имя триггера, а Имя события получает аналогичное имя. Указываем Важность триггера. И возле поля «Выражение» нажимаем кнопку «Добавить».

В открывшемся окне выбираем «Элемент данных» по которому мы создаём триггер и функцию триггера. Про функции будет написано ниже. Указываем за какое количество проверок или времени должен сработать триггер. В результат пишем условие триггера.

В примере выше мы выбрали функцию nodata(). Эта функция проверяем что данные не собираются уже какое-то время. Я указал — за последние 3 минуты. А это значит, если данные от этого элемента данных не будут получены в течении 3 минут, то сработает триггер. В результате я указал 1, то есть триггер сработает когда данные не будут получены (1 — правда). Если бы я указал 0 — то он бы сработал, когда данных были получены.

После нажатия на кнопку «Вставить» у вас получится следующее выражение:

  • nodata(/узел_сети/элемент_данных,3m)=1

Это выражение и есть триггер. Дальше мы разберём ещё несколько функций.

Выражения триггеров

Выражения триггеров состоят из функций. В одном выражении может быть несколько элементов данных и несколько функций. Но в этой статье будут разобраны лишь самые простые примеры для знакомства с триггерами.

Отсутствие данных:

  • nodata(/узел_сети/элемент_данных,3m)=1
  • Триггер сработает, если от элемента данных не будет получено данных в течении 3 минут.
  • Например, этот триггер может быть повешен на элемент данных agent.ping, проверяющий доступность агента.

Превышение среднего значения:

  • avg(/узел_сети/элемент_данных,3m)>70
  • Триггер сработает, если среднее число получаемых значений будет выше 70.
  • Например, это может быть загрузка CPU, Памяти или занятость Диска.

Последнее значение:

  • last(/узел_сети/элемент_данных,#1)>70
  • Триггер сработает, если последнее значение (самое новое) будет выше 70.
  • Например, это может быть процент занятого места на диске.

Изменение значения:

  • change(/узел_сети/элемент_данных)<>0
  • Триггер сработает, если последнее значение отличается хоть как-то от предпоследнего.
  • Например, этот триггер можно повесить на элемент данных vfs.file.chsum, который проверяет контрольную сумму файла.

Постоянное превышение:

  • min(/узел_сети/элемент_данных,5m)>80M
  • Триггер сработает, если за последние 5 минут, значение постоянно превышало 80MB.
  • Например, это может быть загрузка сетевого интерфейса.

Одинаковые значения:

  • count(/узел_сети/элемент_данных,30m,,"0")>5
  • Триггер сработает, если элемент данных возвратит 0 при проверке 5 раз за последние 30 минут.
  • Например, мы пингуем какой-нибудь хост.

Сверка времени на узле и на сервере Zabbix:

  • fuzzytime(/узел_сети/элемент_данных,10s)=0
  • Триггер сработает, если время на проверяемом узле будет отличаться от времени на Zabbix сервере на 10 секунд.
  • Такой триггер можно повесить на элемент данных system.localtime.

Некоторые параметры функций

Разные функции могут иметь разные параметры. Но большинство числовых функций принимают время в качестве параметра, или количество проверок:

  • функция(/узел сети/ключ,10m) — за последние 10 минут;
  • функция(/узел сети/ключ,#10) — за последние 10 проверок.

В случае функции last() нет смысла указывать количество последних проверок. Например триггер: last(/узел_сети/элемент_данных,#3)>70, означает что третье значение было больше 70. Работает это так: получили мы 75 — триггер не сработал, получили 60 — триггер не сработал, получили 63 — триггер сработал, так как третье значение было больше 70. Получается триггер отложенный по времени.


Дополнительную информацию по триггерам можете посмотреть в официальном руководстве — здесь.

Другие мои статьи по Zabbix доступны здесь.

Если понравилась статья, подпишись на мой канал в VK.

Спасибо за просмотр:)

Сводка
Zabbix - триггеры
Имя статьи
Zabbix - триггеры
Описание
Эта статья про триггеры в Zabbix, здесь я кратко опишу суть этих триггеров и расскажу как их можно применять

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *