[comment]: # ({aa1f9956-aa1f9956})
# 1. Условия   

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

[comment]: # ({7e8ca974-6ef58449})
#### Обзор

Можно задать, что действие будет выполнено, только если событие удовлетворяет определённому набору условий. Условия задаются при настройке [действия](/manual/config/notifications/action#настройка-действия).

Сопоставление условий чувствительно к регистру.

[comment]: # ({/7e8ca974-6ef58449})

[comment]: # ({20eba521-6e7e1ac8})
#### Действия на триггеры

В действиях на события триггеров можно использовать следующие условия:

|Тип условия|Поддерживаемые операторы|Описание|
|--|--|------|
|*Группа узлов сети*<br>*(Host group)*|равно<br>не равно|Укажите группу узлов сети или исключение группы узлов сети.<br>**равно** — событие относится к указанной группе узлов сети.<br>**не равно** — событие не относится к указанной группе узлов сети.<br>При указании родительской группы узлов сети косвенным образом будут выбраны все вложенные группы узлов сети. Чтобы выбрать только родительскую группу, все вложенные группы необходимо дополнительно перечислить с оператором **не равно**.|
|*Шаблон*<br>*(Template)*|равно<br>не равно|Укажите шаблон или исключение шаблона.<br>**равно** — событие относится к триггеру, унаследованному из указанного шаблона.<br>**не равно** — событие не относится к триггеру, унаследованному из указанного шаблона.|
|*Узел сети*<br>*(Tag name)*|равно<br>не равно|Укажите узел сети или исключение узла сети.<br>**равно** — событие относится к указанному узлу сети.<br>**не равно** — событие не относится к указанному узлу сети.|
|*Имя тега*<br>*(Tag name)*|равно<br>не равно<br>содержит<br>не содержит|Укажите тег события или исключение тега события.<br>**равно** — событие имеет указанный тег.<br>**не равно** — событие не имеет указанный тег.<br>**содержит** — событие имеет тег, который содержит указанную строку.<br>**не содержит** — событие не имеет тега, который содержит указанную строку.|
|*Значение тега*<br>*(Tag value)*|равно<br>не равно<br>содержит<br>не содержит|Укажите комбинацию тега события и его значения или исключение комбинации тега и значения.<br>**равно** — событие имеет указанные тег и значение.<br>**не равно** — событие не имеет указанные тег и значение.<br>**содержит** — событие содержит указанные строки тега и значения.<br>**не содержит** — событие не содержит указанные строки тега и значения.|
|*Триггер*<br>*(Trigger)*|равно<br>не равно|Укажите триггер или исключение триггера.<br>**равно** — событие сгенерировано указанным триггером.<br>**не равно** — событие сгенерировано любым триггером, отличным от указанного.|
|*Имя события*<br>*(Event name)*|содержит<br>не содержит|Укажите строку в имени события, сгенерированного триггером, или исключение строки. По умолчанию имя события совпадает с именем триггера, если в [настройках триггера](/manual/config/triggers/trigger) не было указано настраиваемого имени события.<br>**содержит** — событие содержит в имени указанную строку.<br>**не содержит** — указанная строка не содержится в имени события.<br>Примечание: Заданное значение будет сравниваться с именем события со всеми раскрытыми макросами.|
|*Важность триггера*<br>*(Trigger severity)*|равно<br>не равно<br>больше чем или равно<br>меньше чем или равно|Укажите важность триггера.<br>**равно** — совпадает с указанной важностью триггера.<br>**не равно** — не совпадает с указанной важностью триггера.<br>**больше чем или равно** — выше или равно указанной важности триггера.<br>**меньше чем или равно** — ниже или равно указанной важности триггера.|
|*Период времени*<br>*(Time period)*|в<br>не в|Укажите период времени или исключение периода времени.<br>**в** — время события в течение указанного периода времени.<br>**не в** — время события не входит в указанный период времени.<br>Смотрите страницу [Спецификации периодов времени](/manual/appendix/time_period) для получения более подробных сведений об этом формате.<br>Поддерживаются [пользовательские макросы](/manual/config/macros/user_macros).|
|*Проблема подавлена*<br>*(Problem is suppressed)*|нет<br>да|Укажите, если проблема подавлена (не отображается) по причине обслуживания узла сети.<br>**нет** — проблема не подавлена.<br>**да** — проблема подавлена.|

[comment]: # ({/20eba521-6e7e1ac8})

[comment]: # ({7b3ee1a4-79be7a27})
#### Действия на услуги

В действиях на события услуг можно использовать следующие условия:

|Тип условия|Поддерживаемые операторы|Описание|
|--|--|------|
|*Услуга*<br>*(Service)*|равно<br>не равно|Укажите услугу или исключение услуги.<br>**равно** — событие относится к указанной услуге.<br>**не равно** — событие не относится к указанной услуге.<br>При указании родительской услуги косвенным образом будут выбраны все дочерние услуги. Чтобы выбрать только родительскую услугу, все вложенные услуги необходимо дополнительно перечислить с оператором **не равно**.|
|*Имя услуги*<br>*(Service name)*|содержит<br>не содержит|Укажите строку из имени услуги или исключение строки.<br>**содержит** — событие произошло от услуги, которая содержит в имени указанную строку.<br>**не содержит** — указанная строка не содержится в имени услуги.|
|*Имя тега услуги*<br>*(Service tag name)*|равно<br>не равно<br>содержит<br>не содержит|Укажите тег события или исключение тега события. Теги на события услуг можно добавить в настройках услуги в разделе *Теги*.<br>**равно** — событие имеет указанный тег.<br>**не равно** — событие не имеет указанный тег.<br>**содержит** — событие имеет тег, который содержит указанную строку.<br>**не содержит** — событие не имеет тега, который содержит указанную строку.|
|*Значение тега услуги*<br>*(Service tag value)*|равно<br>не равно<br>содержит<br>не содержит|Укажите комбинацию тега события и его значение или исключение комбинации тега и значения. Теги на события услуг можно добавить в настройках услуги в разделе *Теги*.<br>**равно** — событие имеет указанные тег и значение.<br>**не равно** — событие не имеет указанные тег и значение.<br>**содержит** — событие содержит указанные строки тега и значения.<br>**не содержит** — событие не содержит указанные строки тега и значения.|

:::noteimportant
Обязательно задайте [шаблоны сообщений](/manual/config/notifications/media#обзор) для действий на услуги в меню *Оповещения → Способы оповещений*.
В противном случае, оповещения не будут отправлены.
:::

[comment]: # ({/7b3ee1a4-79be7a27})

[comment]: # ({61a8ddaf-6df27208})
#### Действия на обнаружение

В действиях на события обнаружения можно использовать следующие условия:

|Тип условия|Поддерживаемые операторы|Описание|
|--|--|------|
|*IP узла сети*<br>*(Host IP)*|равно<br>не равно|Укажите диапазон IP адресов или исключение диапазона у обнаруженного узла сети.<br>**равно** — IP адрес узла сети в указанном диапазоне.<br>**не равно** — IP адрес узла сети не из указанного диапазона.<br>Доступны следующие форматы:<br>Одиночный IP: 192.168.1.33<br>Диапазон IP адресов: 192.168.1-10.1-254<br>маска IP: 192.168.4.0/24<br>Список диапазонов: 192.168.1.1-254, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24<br>В формате списка поддерживаются пробелы.|
|*Тип сервиса*<br>*(Service type)*|равно<br>не равно|Укажите тип сервиса обнаруженного сервиса или исключение типа сервиса.<br>**равно** — совпадает с обнаруженным сервисом.<br>**не равно** — не совпадает с обнаруженным сервисом.<br>Доступные типы сервисов: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Zabbix агент, SNMPv1 агент, SNMPv2 агент, SNMPv3 агент, ICMP пинг, telnet.|
|*Порт сервиса*<br>*(Service port)*|равно<br>не равно|Укажите диапазон TCP портов или исключение диапазона у обнаруженного узла сети.<br>**равно** — порт сервиса из указанного диапазона.<br>**не равно** — порт сервиса не из указанного диапазона.|
|*Правило обнаружения*<br>*(Discovery rule)*|равно<br>не равно|Укажите правило обнаружения или исключение правила обнаружения.<br>**равно** — использование указанного правила обнаружения.<br>**не равно** — использование любого другого правила обнаружения, отличного от указанного.|
|*Проверка обнаружения*<br>*(Discovery check)*|равно<br>не равно|Укажите проверку обнаружения или исключение проверки обнаружения.<br>**равно** — использование указанной проверки обнаружения.<br>**не равно** — использование любой другой проверки обнаружения, отличной от указанной.|
|*Обнаруженный объект*<br>*(Discovery object)*|равно|Укажите обнаруженный объект.<br>**равно** — совпадает с обнаруженным объектом (устройством или сервисом).|
|*Состояние обнаружения*<br>*(Discovery status)*|равно|**Доступен (Up)** — совпадает с событиями «Узел сети доступен» и «Сервис доступен».<br>**Недоступен (Down)** — совпадает с событиями «Узел сети недоступен» и «Сервис недоступен».<br>**Обнаружен (Discovered)** — совпадает с событиями «Узел сети обнаружен» и «Сервис обнаружен».<br>**Потерян (Lost)** — совпадает с событиями «Узел сети потерян» и «Сервис потерян».|
|*Доступен/Недоступен*<br>*(Uptime/Downtime)*|больше чем или равно<br>меньше чем или равно|Время доступности для событий «Узел сети доступен» и «Сервис доступен». Время недоступности для событий «Узел сети недоступен» и «Сервис недоступен».<br>**больше чем или равно** — больше или совпадает. Параметр задается в секундах.<br>**меньше чем или равно** — меньше или совпадает. Параметр задается в секундах.|
|*Полученное значение*<br>*(Received value)*|равно<br>не равно<br>больше чем или равно<br>меньше чем или равно<br>содержит<br>не содержит|Укажите полученное значение от проверки агента (Zabbix, SNMP) в правиле обнаружения. Регистрозависимое сравнение строк. Если в правиле заданы несколько проверок Zabbix агента или SNMP, проверяется каждое полученное от них значения (каждая проверка генерирует новое событие, которое сопоставляется со всеми условиями).<br>**равно** — совпадает с указанным значением.<br>**не равно** — не совпадает с указанным значением.<br>**больше чем или равно** — больше или совпадает с указанным значением.<br>**меньше чем или равно** — меньше или совпадает с указанным значением.<br>**содержит** — содержит указанную подстроку. Параметр задается в виде строки.<br>**не содержит** — не содержит указанную подстроку. Параметр задается строкой.|
|*Прокси*<br>*(Proxy)*|равно<br>не равно|Укажите прокси или исключение прокси.<br>**равно** — используется указанный прокси.<br>**не равно** — используется любой другой прокси отличный от указанного.|

::: noteclassic
Проверки сервисов в правиле обнаружения, которые приводят к событиям обнаружения, не выполняются одновременно. Поэтому, если в действии настроено **несколько** значений для условий `Тип сервиса`, `Порт сервиса` или `Полученное значение`, они будут сравниваться с одним событием обнаружения за раз, но **не** будут сравниваться с несколькими событиями одновременно. В результате действия с несколькими значениями по одним и тем же типам проверок могут быть выполнены некорректно.
:::

[comment]: # ({/61a8ddaf-6df27208})

[comment]: # ({8d65819c-e9b18b74})
#### Действия на авторегистрацию

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

|Тип условия|Поддерживаемые операторы|Описание|
|--|--|------|
|*Метаданные узлов сети*<br>*(Host metadata)*|содержит<br>не содержит<br>совпадает<br>не соответствует|Укажите метаданные узла сети или метаданные узла сети для исключения.<br>**содержит** — метаданные узла сети содержат указанную строку.<br>**не содержит** — метаданные узла сети не содержат указанную строку. Метаданные узла сети можно задать в [файле конфигурации агента](/manual/appendix/config/zabbix_agentd).<br>**совпадает** — метаданные узла сети соответствуют регулярному выражению.<br>**не соответствует** — метаданные узла сети не соответствуют регулярному выражению.|
|*Имя узла сети*<br>*(Host name)*|содержит<br>не содержит<br>совпадает<br>не соответствует|Укажите имя узла сети или имя узла сети для исключения.<br>**содержит** — имя узла сети содержит указанную строку.<br>**не содержит** — имя узла сети не содержит указанную строку.<br>**совпадает** — имя узла сети соответствует регулярному выражению.<br>**не соответствует** — имя узла сети не соответствует регулярному выражению.|
|*Прокси*<br>*(Proxy)*|равно<br>не равно|Укажите прокси или прокси для исключения:<br>**равно** — используется указанный прокси.<br>**не равно** — используется любой другой прокси, отличный от указанного.|

[comment]: # ({/8d65819c-e9b18b74})

[comment]: # ({0157cf2c-133d6ae1})
#### Действия на внутренние события

В действиях на внутренние события можно использовать следующие условия:

|Тип условия|Поддерживаемые операторы|Описание|
|--|--|------|
|*Тип события*<br>*(Event type)*|равно|**Элемент данных в состоянии "не поддерживается" (Item in "not supported" state)** — соответствует событию, когда элемент данных переходит из состояния «активировано» в состояние «не поддерживается».<br>**Правило низкоуровневого обнаружения в состоянии "не поддерживается" (Low-level discovery rule in "not supported" state)** — соответствует событию, когда правило низкоуровневого обнаружения переходит из состояния «активировано» в состояние «не поддерживается».<br>**Триггер в состоянии "неизвестно" (Trigger in "unknown" state)** — соответствует событию, когда триггер переходит из состояния «активировано» в состояние «неизвестно».|
|*Группа узлов сети*<br>*(Host group)*|равно<br>не равно|Укажите группу узлов сети или группу узлов сети для исключения.<br>**равно** — событие относится к указанной группе узлов сети.<br>**не равно** — событие не относится к указанной группе узлов сети.|
|*Имя тега*<br>*(Tag name)*|равно<br>не равно<br>содержит<br>не содержит|Укажите тег события или исключение тега события.<br>**равно** — событие имеет указанный тег.<br>**не равно** — событие не имеет указанный тег.<br>**содержит** — событие имеет тег, который содержит указанную строку.<br>**не содержит** — событие не имеет тега, который содержит указанную строку.|
|*Значение тега*<br>*(Tag value)*|равно<br>не равно<br>содержит<br>не содержит|Укажите комбинацию тега события и его значения или исключение комбинации тега и значения.<br>**равно** — событие имеет указанные тег и значение.<br>**не равно** — событие не имеет указанные тег и значение.<br>**содержит** — событие содержит указанные строки тега и значения.<br>**не содержит** — событие не содержит указанные строки тега и значения.|
|*Шаблон*<br>*(Template)*|равно<br>не равно|Укажите шаблон или шаблон для исключения.<br>**равно** — событие относится к элементу данных / триггеру / правилу низкоуровневого обнаружения, унаследованному из указанного шаблона.<br>**не равно** — событие не относится к элементу данных / триггеру / правилу низкоуровневого обнаружения, унаследованному из указанного шаблона.|
|*Узел сети*<br>*(Host)*|равно<br>не равно|Укажите узел сети или узел сети для исключения.<br>**равно** — событие относится к указанному узлу сети.<br>**не равно** — событие не относится к указанному узлу сети.|

[comment]: # ({/0157cf2c-133d6ae1})

[comment]: # ({482db381-8c003f8b})
#### Тип вычисления

Для вычисления условий доступны следующие опции:

-   **И (And)** — должны быть выполнены все условия

Обратите внимание, вычисление «И» запрещено использовать между несколькими триггерами, когда они добавлены с условием `​Триггер равно`. Действия могут выполняться на основе события только одного триггера.

-   **Или (Or)** — достаточно выполнения одного условия
-   **И/Или (And/Or)** — комбинация из двух опций: И с различными типами условий и ИЛИ с одинаковым типом условий, например:

*Группа узлов сети* равно Oracle сервера<br>
*Группа узлов сети* равно MySQL сервера<br>
*Имя события* содержит «База данных не работает»<br>
*Имя события* содержит «База данных недоступна»

вычисляется как

**(**Группа узлов сети равно Oracle сервера **или** Группа узлов сети равно MySQL сервера**)** **и** **(**Имя события содержит «База данных не работает» **или** Имя события содержит «База данных недоступна»**)**

-   **Пользовательское выражение** — формула вычисления, введенная пользователем, для оценки условий действия. Она должна включать в себя все условия (представленные в виде заглавных букв A, B, C, ...) и может включать пробелы, символы табуляции, скобки ( ), **and** (с учётом регистра), **or** (с учётом регистра), **not** (с учётом регистра).

Тогда как предыдущий пример с `И/Или` был бы представлен в виде `(A or B) and (C or D)`, в пользовательском выражении вы также можете использовать несколько других методов вычисления:

(A and B) and (C or D)<br>
(A and B) or (C and D)<br>
((A or B) and C) or D<br>
(not (A or B) and C) or not D<br>
и так далее.

[comment]: # ({/482db381-8c003f8b})

[comment]: # ({394ded20-fca3d6de})
#### Удаление объектов, используемых в действиях

При попытке удалить объекты, которые используются в условии/операции действия, пользователь получит соответствующее сообщение об ошибке.

Действия не отключаются, если условия или операции действия:

-   содержат удаленные объекты;
-   содержат объекты, которые больше не обнаруживаются низкоуровневым обнаружением и были удалены (по истечении периода *Удаление потерянных ресурсов*).

Условия/операции действия не удаляются, если в них отсутствуют объекты. Вместо этого удаленные объекты отображаются как *Удаленная группа узлов сети*, *Удаленный узел сети*, *Удаленный триггер* и т. д. В столбце "Info" списка действий отображается значок предупреждения с сообщением "This action has conditions or operations referencing deleted object(s)."

[comment]: # ({/394ded20-fca3d6de})
