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

Все обязательные поля ввода отмечены красной звездочкой.
| 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 | Введите строку с макросами для отображения динамических данных в реальном времени в Monitoring > Problems. Либо оставьте это поле пустым, чтобы отображались последние значения всех элементов данных из выражения триггера. Поддерживается тот же набор макросов, что и в имени триггера, с возможностью динамического разрешения. Например: {ITEM.VALUE<1-9>} разрешается в значения элемента данных в момент изменения состояния триггера (создание проблемы, восстановление, ручное закрытие или закрытие по корреляции). {ITEM.LASTVALUE<1-9>} разрешается в последние значения элемента данных. Обратите внимание, что при ручном закрытии проблемы новое значение не создается, поэтому оба макроса по-прежнему будут показывать значение на момент возникновения проблемы. Также обратите внимание, что оба макроса разрешаются в UNKNOWN, если последнее значение старше Max history display period (см. Administration > General). |
| Severity | Установите требуемую severity триггера, нажимая кнопки. |
| Expression | Логическое expression, используемое для определения условий возникновения проблемы. Поддерживаются суффиксы времени и суффиксы размера памяти. Проблема создается после выполнения всех условий, включенных в выражение, то есть когда выражение вычисляется как TRUE. Проблема будет восстановлена, как только выражение станет FALSE, если только дополнительные условия восстановления не указаны в Recovery expression. |
| OK event generation | Параметры генерации событий OK: Expression - события OK генерируются на основе того же выражения, что и события проблемы; Recovery expression - события OK генерируются, если выражение проблемы вычисляется как FALSE, а выражение восстановления - как TRUE; None - в этом случае триггер никогда не вернется в состояние OK самостоятельно. |
| Recovery expression | Логическое 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 символов) доступен как ссылка в меню событий в нескольких разделах веб-интерфейса, например при нажатии на имя проблемы в виджете панели Monitoring > Problems или Problems. Поддерживается тот же набор макросов, что и в имени триггера, а также {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 символов. См. все макросы, поддерживаемые для тегов событий. Теги событий можно использовать для корреляции событий, в условиях действий, а также они будут видны в Monitoring > Problems или в виджете Problems. |
Вкладка Dependencies содержит все зависимости триггера.
Нажмите Add, чтобы добавить новую зависимость.
Вы также можете настроить триггер, открыв существующий, нажав кнопку 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. Это означает, что текущее значение превышает предупреждающее значение и возникла проблема.