Настройка триггера

На этой странице описано, как настроить триггер во веб-интерфейсе Zabbix.

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

Другие ресурсы:

Конфигурация

Чтобы настроить триггер, выполните следующие действия:

  1. Перейдите в Сбор данных > Узлы сети.
  2. Нажмите Триггеры в строке узла сети.
  3. Нажмите Создать триггер справа (или имя триггера, чтобы изменить существующий триггер).
  4. Введите параметры триггера в форме.

Вкладка Триггер содержит все основные атрибуты триггера.

Все обязательные поля ввода отмечены красной звездочкой.

Parameter Description
Name Имя триггера.
Поддерживаются макросы: {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {ITEM.LOG.*} и пользовательские макросы {$MACRO}.
Макросы $1, $2...$9 можно использовать для ссылки на первую, вторую... девятую константу выражения.
Примечание: макросы $1-$9 будут корректно разрешаться, если они ссылаются на константы в относительно простых, прямолинейных выражениях. Например, имя "Processor load above $1 on {HOST.NAME}" автоматически изменится на "Processor load above 5 on New host", если выражение last(/New host/system.cpu.load[percpu,avg1])>5.
Event name Если задано, это имя будет использоваться для создания имени события проблемы. По умолчанию имя события совпадает с именем триггера.
Имя события можно использовать для формирования информативных оповещений, содержащих данные о проблеме (см. пример).
Поддерживается тот же набор макросов, что и в имени триггера, а также макросы выражений {TIME}, {TIMESTAMP} и {?EXPRESSION}.
Operational data Введите строку с макросами для отображения динамических данных в реальном времени в Мониторинг > Проблемы. Либо оставьте это поле пустым, чтобы отображались последние значения всех элементов данных из выражения триггера.
Поддерживается тот же набор макросов, что и в имени триггера, с возможностью динамического разрешения. Например:
{ITEM.VALUE<1-9>} разрешается в значения элементов данных в момент изменения состояния триггера (создание проблемы, восстановление, ручное закрытие или закрытие по корреляции).
{ITEM.LASTVALUE<1-9>} разрешается в последние значения элементов данных.
Обратите внимание, что при ручном закрытии проблемы новое значение не создается, поэтому оба макроса по-прежнему будут показывать значение на момент возникновения проблемы. Также обратите внимание, что оба макроса разрешаются в UNKNOWN, если последнее значение старше Max history display period (см. Администрирование > Общие).
Severity Установите требуемую серьезность триггера, нажимая кнопки.
Expression Логическое выражение, используемое для определения условий возникновения проблемы.
Поддерживаются суффиксы времени и суффиксы размера памяти.
Проблема создается после выполнения всех условий, включенных в выражение, то есть когда выражение принимает значение TRUE. Проблема будет восстановлена, как только выражение станет FALSE, если только дополнительные условия восстановления не указаны в Recovery expression.
OK event generation Параметры генерации событий OK:
Expression - события OK генерируются на основе того же выражения, что и события проблемы;
Recovery expression - события OK генерируются, если выражение проблемы принимает значение FALSE, а выражение восстановления - TRUE;
None - в этом случае триггер никогда не вернется в состояние OK самостоятельно.
Recovery expression Логическое выражение (необязательно), определяющее дополнительные условия, которые должны быть выполнены перед восстановлением проблемы, после того как исходное выражение проблемы уже было оценено как FALSE.
Выражение восстановления полезно для гистерезиса триггера. Невозможно восстановить проблему только по выражению восстановления, если выражение проблемы по-прежнему TRUE.
Это поле доступно только если для OK event generation выбрано 'Recovery expression'.
PROBLEM event generation mode Режим генерации событий проблемы:
Single - одно событие генерируется, когда триггер впервые переходит в состояние 'Problem';
Multiple - событие генерируется при каждой оценке триггера как 'Problem'.
OK event closes Выберите, закрывает ли событие OK:
All problems - все проблемы этого триггера;
All problems if tag values match - только те проблемы триггера, у которых совпадают значения тегов события.
Tag for matching Введите имя тега события, которое будет использоваться для корреляции событий.
Это поле отображается, если для свойства OK event closes выбрано 'All problems if tag values match', и в этом случае является обязательным.
Allow manual close Установите флажок, чтобы разрешить ручное закрытие событий проблемы, создаваемых этим триггером. Ручное закрытие возможно при подтверждении событий проблемы.
Menu entry name Если поле не пустое, введенное здесь имя (до 64 символов) используется в нескольких местах веб-интерфейса как подпись для URL триггера, указанного в параметре Menu entry URL. Если поле пустое, используется имя по умолчанию Trigger URL.
Поддерживается тот же набор макросов, что и в имени триггера, а также {EVENT.ID}, {HOST.ID} и {TRIGGER.ID}.
Menu entry URL Если поле не пустое, введенный здесь URL (до 2048 символов) доступен как ссылка в меню событий в нескольких местах веб-интерфейса, например при нажатии на имя проблемы в виджете панели Мониторинг > Проблемы или Проблемы.
Поддерживается тот же набор макросов, что и в имени триггера, а также {EVENT.ID}, {HOST.ID} и {TRIGGER.ID}. Примечание: пользовательские макросы со секретными значениями не будут разрешены в URL.
Description Текстовое поле, используемое для предоставления дополнительной информации об этом триггере. Может содержать инструкции по устранению конкретной проблемы, контактные данные ответственных сотрудников и т. д.
Поддерживается тот же набор макросов, что и в имени триггера.
Enabled Снимите этот флажок, чтобы при необходимости отключить триггер.
Проблемы отключенного триггера больше не отображаются в веб-интерфейсе, но не удаляются.

Вкладка Теги позволяет определить теги на уровне триггера. Все проблемы этого триггера будут помечены значениями, введенными здесь.

Кроме того, параметр Inherited and trigger tags позволяет просматривать теги, определенные на уровне шаблона, если триггер получен из этого шаблона. Если несколько шаблонов имеют одинаковый тег, такие теги отображаются один раз, а имена шаблонов разделяются запятыми. Триггер не "наследует" и не отображает теги уровня узла сети.

Parameter Description
Name/Value Задайте пользовательские теги для пометки событий триггера.
Теги представляют собой пару имени тега и значения. Можно использовать только имя или указать его вместе со значением. У триггера может быть несколько тегов с одинаковым именем, но разными значениями.
В тегах событий поддерживаются пользовательские макросы, пользовательские макросы с контекстом, макросы низкоуровневого обнаружения и макросы functions с {{ITEM.VALUE}}, {{ITEM.LASTVALUE}}.
Макросы низкоуровневого обнаружения можно использовать внутри контекста макроса.
Макрос {TRIGGER.ID} поддерживается в значениях тегов триггера. Это может быть полезно для идентификации триггеров, созданных из прототипов триггеров, и, например, для подавления проблем от этих триггеров во время обслуживания.
Если общая длина развернутого значения превышает 255, оно будет обрезано до 255 символов.
См. все макросы, поддерживаемые для тегов событий.
Теги событий можно использовать для корреляции событий, в условиях действий, а также они будут видны в Мониторинг > Проблемы или в виджете Проблемы.

Вкладка Зависимости содержит все зависимости триггера.

Нажмите Добавить, чтобы добавить новую зависимость.

Вы также можете настроить триггер, открыв существующий, нажав кнопку Clone и затем сохранив его под другим именем.

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

Можно проверить, каким будет результат выражения в зависимости от полученного значения.

В качестве примера взято следующее выражение из официального шаблона:

avg(/Cisco IOS SNMPv2/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN}
or
last(/Cisco IOS SNMPv2/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}

Чтобы протестировать выражение, нажмите Конструктор выражения под полем выражения.

В Конструкторе выражения перечислены все отдельные выражения. Чтобы открыть окно тестирования, нажмите Тест под списком выражений.

В окне тестирования можно ввести примерные значения ('80', '70', '0', '1' в этом примере), а затем посмотреть результат выражения, нажав кнопку Тест.

Можно увидеть результат как отдельных выражений, так и всего выражения целиком.

"TRUE" означает, что указанное выражение верно. В данном случае A значение "80" больше указанного значения {$TEMP_WARN}, которое в этом примере равно "70". Как и ожидалось, отображается результат "TRUE".

"FALSE" означает, что указанное выражение неверно. В данном случае B значение {$TEMP_WARN_STATUS} "1" должно быть равно указанному значению, "0" в этом примере. Как и ожидалось, отображается результат "FALSE".

Выбранный тип выражения — "OR". Если хотя бы одно из указанных условий (в данном случае A или B) имеет значение TRUE, итоговый результат также будет TRUE. Это означает, что текущее значение превышает порог предупреждения и возникла проблема.