2 Настройка триггера
На этой странице описано, как настроить триггер в веб-интерфейсе Zabbix.
Обратите внимание, что официальные шаблоны Zabbix содержат предопределенные триггеры. См. руководство по применению шаблона для мониторинга Linux. Также можно массово обновить настроенные триггеры.
Другие ресурсы:
- Обнаружение проблем с помощью триггеров (общее введение)
- Примеры триггеров (по вариантам использования)
- Выражение триггера (подробности синтаксиса)
- Рекомендации
Конфигурация
Чтобы настроить триггер, выполните следующие действия:
- Перейдите в: Сбор данных > Узлы сети
- Нажмите Триггеры в строке узла сети
- Нажмите Создать триггер справа (или на имя триггера, чтобы изменить существующий триггер)
- Введите параметры триггера в форме
Вкладка Trigger содержит все основные атрибуты триггера.

Все обязательные поля ввода отмечены красной звездочкой.
| 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 | Операционные данные позволяют задавать произвольные строки вместе с макросами. Макросы будут динамически подставляться в данные реального времени в Мониторинг > Проблемы. В то время как макросы в имени триггера (см. выше) будут подставляться в свои значения в момент возникновения проблемы и станут основой статического имени проблемы, макросы в операционных данных сохраняют возможность динамически отображать самую актуальную информацию. Если на уровне триггера операционные данные не настроены, будут отображаться последние значения всех элементов данных из выражения. Поддерживается тот же набор макросов, что и в имени триггера. |
| 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 | Снимите этот флажок, если требуется отключить триггер. Проблемы отключенного триггера больше не отображаются в веб-интерфейсе, но не удаляются. |
Вкладка Tags позволяет определить теги на уровне триггера. Все проблемы этого триггера будут помечены значениями, введенными здесь.

Кроме того, параметр Inherited and trigger tags позволяет просматривать теги, определенные на уровне шаблона, если триггер получен из этого шаблона. Если существует несколько шаблонов с одинаковым тегом, эти теги отображаются один раз, а имена шаблонов разделяются запятыми. Триггер не "наследует" и не отображает теги уровня узла сети.
| Parameter | Description |
|---|---|
| Name/Value | Задайте пользовательские теги для пометки событий триггера. Теги представляют собой пару имени тега и значения. Можно использовать только имя или указать его вместе со значением. У триггера может быть несколько тегов с одинаковым именем, но разными значениями. В тегах событий поддерживаются пользовательские макросы, пользовательские макросы с контекстом, макросы низкоуровневого обнаружения и макрофункции functions с {{ITEM.VALUE}}, {{ITEM.LASTVALUE}}.Макросы низкоуровневого обнаружения можно использовать внутри контекста макроса. Макрос {TRIGGER.ID} поддерживается в значениях тегов триггера. Это может быть полезно для идентификации триггеров, созданных из прототипов триггеров, и, например, для подавления проблем от этих триггеров во время обслуживания. Если общая длина развернутого значения превышает 255, она будет обрезана до 255 символов. См. все макросы, поддерживаемые для тегов событий. Теги событий можно использовать для корреляции событий, в условиях действий, а также они будут отображаться в Мониторинг > Проблемы или в виджете Проблемы. |
Вкладка Dependencies содержит все зависимости триггера.
Нажмите Добавить, чтобы добавить новую зависимость.
Вы также можете настроить триггер, открыв существующий, нажав кнопку 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. Это означает, что текущее значение превышает предупреждающее значение и возникла проблема.