[comment]: # ({29480506-29480506})
# 1. Настройка триггера

[comment]: # ({/29480506-29480506})

[comment]: # ({84bca7a2-ea19cfe1})
#### Обзор

Для настройки триггера сделайте следующее:

-   Перейдите к: *Сбор данных* → *Узлы сети* (*Data collection* → *Hosts*)
-   Нажмите на *Триггеры* (*Triggers*) в строке с узлом сети
-   Нажмите на *Создать триггер* (*Create trigger*) сверху справа (или на имя триггера для изменения уже существующего триггера)
-   Введите в диалоге параметры триггера

Смотрите также [общую информацию](/manual/config/triggers) о триггерах и их времени вычисления.

[comment]: # ({/84bca7a2-ea19cfe1})

[comment]: # ({d8575635-f29d794b})
#### Конфигурация

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

![](../../../../assets/en/manual/config/triggers/trigger.png){width="600"}

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

|Parameter|Description|
|--|--------|
|*Name*|Имя триггера.<br>Поддерживаются [макросы](/manual/appendix/macros/supported_by_location): {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}.<br>Макросы **$1, $2...$9** можно использовать для ссылки на первую, вторую... девятую константу выражения.<br>*Примечание*: макросы $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*|Если задано, это имя будет использоваться для создания имени события проблемы. По умолчанию имя события совпадает с именем триггера.<br>Имя события может использоваться для формирования информативных оповещений, содержащих данные о проблеме (см. [пример](/manual/config/triggers/expression#example-18)).<br>Поддерживается тот же набор макросов, что и в имени триггера, а также макросы выражения {TIME}, {TIMESTAMP} и {?EXPRESSION}.|
|*Operational data*|Операционные данные позволяют задавать произвольные строки вместе с макросами. Макросы будут динамически разрешаться в данные реального времени в *Monitoring* > *[Problems](/manual/web_interface/frontend_sections/monitoring/problems)*. Если макросы в имени триггера (см. выше) разрешаются в свои значения в момент возникновения проблемы и становятся основой статического имени проблемы, то макросы в операционных данных сохраняют возможность динамически отображать самые актуальные сведения. Если на уровне триггера операционные данные не настроены, будут отображаться последние значения всех элементов данных из выражения.<br>Поддерживается тот же набор макросов, что и в имени триггера.|
|*Severity*|Установите требуемую [severity](severity) триггера, нажимая кнопки.|
|*Expression*|Логическое [выражение](expression), используемое для определения условий проблемы.<br>Поддерживаются [суффиксы времени](/manual/appendix/suffixes#time-suffixes) и [суффиксы размера памяти](/manual/appendix/suffixes#memory-size-suffixes).<br>Проблема создается после выполнения всех условий, включенных в выражение, то есть когда выражение принимает значение TRUE. Проблема будет решена, как только выражение станет FALSE, если только дополнительные условия восстановления не указаны в *Recovery expression*.|
|*OK event generation*|Параметры генерации событий OK:<br>**Expression** - события OK генерируются на основе того же выражения, что и события проблемы;<br>**Recovery expression** - события OK генерируются, если выражение проблемы принимает значение FALSE, а выражение восстановления - TRUE;<br>**None** - в этом случае триггер никогда не вернется в состояние OK самостоятельно.|
|*Recovery expression*|Логическое [выражение](expression) (необязательно), определяющее дополнительные условия, которые должны быть выполнены перед тем, как проблема будет решена, после того как исходное выражение проблемы уже было оценено как FALSE.<br>Выражение восстановления полезно для [гистерезиса](/manual/config/triggers/expression#hysteresis) триггера. Невозможно решить проблему только по выражению восстановления, если выражение проблемы по-прежнему TRUE.<br>Это поле доступно только если для *OK event generation* выбрано 'Recovery expression'.|
|*PROBLEM event generation mode*|Режим генерации событий проблемы:<br>**Single** - одно событие генерируется, когда триггер впервые переходит в состояние 'Problem';<br>**Multiple** - событие генерируется при *каждой* оценке триггера как 'Problem'.|
|*OK event closes*|Выберите, закрывает ли событие OK:<br>**All problems** - все проблемы этого триггера;<br>**All problems if tag values match** - только те проблемы триггера, у которых совпадают значения тегов события.|
|*Tag for matching*|Введите имя тега события, которое будет использоваться для корреляции событий.<br>Это поле отображается, если для свойства *OK event closes* выбрано 'All problems if tag values match', и в этом случае является обязательным.|
|*Allow manual close*|Установите флажок, чтобы разрешить [ручное закрытие](/manual/config/events/manual_close) событий проблемы, создаваемых этим триггером. Ручное закрытие возможно при подтверждении событий проблемы.|
|*Menu entry name*|Если поле не пустое, введенное здесь имя (до 64 символов) используется в нескольких местах веб-интерфейса как подпись для URL триггера, указанного в параметре *Menu entry URL*. Если поле пустое, используется имя по умолчанию *Trigger URL*.<br>Поддерживается тот же набор макросов, что и в имени триггера, а также {EVENT.ID}, {HOST.ID} и {TRIGGER.ID}.|
|*Menu entry URL*|Если поле не пустое, введенный здесь URL (до 2048 символов) доступен как ссылка в [меню событий](/manual/web_interface/menu/event_menu) в нескольких местах веб-интерфейса, например при нажатии на имя проблемы в *Monitoring > [Problems](/manual/web_interface/frontend_sections/monitoring/problems)* или в виджете панели *[Problems](/manual/web_interface/frontend_sections/dashboards/widgets/problems#using-the-widget)*.<br>Поддерживается тот же набор макросов, что и в имени триггера, а также {EVENT.ID}, {HOST.ID} и {TRIGGER.ID}. Примечание: пользовательские макросы со секретными значениями не будут разрешены в URL.|
|*Description*|Текстовое поле, используемое для предоставления дополнительной информации об этом триггере. Может содержать инструкции по устранению конкретной проблемы, контактные данные ответственных сотрудников и т. д.<br>Поддерживается тот же набор макросов, что и в имени триггера.|
|*Enabled*|Снимите этот флажок, если требуется отключить триггер.<br>Проблемы отключенного триггера больше не отображаются в веб-интерфейсе, но не удаляются.|

Вкладка **Tags** позволяет определить [теги](/manual/config/tagging) на уровне триггера. Все проблемы этого триггера будут помечены значениями, введенными здесь.

![](../../../../assets/en/manual/config/triggers/trigger_b.png){width="600"}

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

|Parameter|Description|
|--|--------|
|*Name/Value*|Задайте пользовательские теги для пометки событий триггера.<br>Теги представляют собой пару из имени тега и значения. Можно использовать только имя или указать его вместе со значением. У триггера может быть несколько тегов с одинаковым именем, но разными значениями.<br>В тегах событий поддерживаются пользовательские макросы, пользовательские макросы с контекстом, макросы низкоуровневого обнаружения и макрофункции [functions](/manual/config/macros/macro_functions) с `{{ITEM.VALUE}}`, `{{ITEM.LASTVALUE}}`.<br>Макросы низкоуровневого обнаружения можно использовать внутри контекста макроса.<br>Макрос {TRIGGER.ID} поддерживается в значениях тегов триггера. Это может быть полезно для идентификации триггеров, созданных из прототипов триггеров, и, например, для подавления проблем от этих триггеров во время обслуживания.<br>Если общая длина развернутого значения превышает 255, она будет обрезана до 255 символов.<br>См. все [макросы](/manual/config/tagging#macro-support), поддерживаемые для тегов событий.<br>[Теги событий](/manual/config/tagging) можно использовать для корреляции событий, в условиях действий, а также они отображаются в *Monitoring* > *Problems* или в виджете *Problems*.|

Вкладка **Dependencies** содержит все [зависимости](dependencies) триггера.

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

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

[comment]: # ({/d8575635-f29d794b})

[comment]: # ({dbfe2e70-dbfe2e70})
#### Тестирование выражений

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

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

    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}

Для тестирования выражения нажмите на *Конструктор выражения (Expression constructor)* под полем выражения.

![](../../../../assets/en/manual/config/triggers/trigger_test.png)

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

![](../../../../assets/en/manual/config/triggers/expr_test_button.png){width="600"}

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

![](../../../../assets/en/manual/config/triggers/expr_test.png){width="600"}

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

Результат «ИСТИНА» означает, что введёное выражение верно. В этом конкретном выражении А, «80» больше чем указанное значение {$TEMP\_WARN}, «70» в этом примере. Соответственно, появится результат «ИСТИНА».

Результат «ЛОЖЬ» означает, что введёное выражение неверно. В этом конкретном выражении B, {$TEMP\_WARN\_STATUS}, равное «1» в этом примере, должно быть равно указанному значению 0, и это неправда. Соответственно, появится результат «ЛОЖЬ».

Выбранным типом выражения является «ИЛИ». Если по крайней мере одно из заданных выражений (A или B в этом случае) будет ИСТИНА, общий результат будет также ИСТИНА. Что означает, что текущее значение превысило пороговое значение и возникнет Проблема.

[comment]: # ({/dbfe2e70-dbfe2e70})
