en-us	### Discovered entities  The screenshots below illustrate how discovered items, triggers, and graphs look like in the host's configuration. Discovered entities are prefixed with an orange link to a discovery rule they come from.  ![](../../../assets/en/manual/discovery/low_level_discovery/discovered_items1.png)  Note that discovered entities will not be created in case there are already existing entities with the same uniqueness criteria, for example, an item with the same key or graph with the same name. An error message is displayed in this case in the frontend that the low-level discovery rule could not create certain entities. The discovery rule itself, however, will not turn unsupported because some entity could not be created and had to be skipped. The discovery rule will go on creating/updating other entities.  Items (similarly, triggers and graphs) created by a low-level discovery rule will be deleted automatically if a discovered entity (file system, interface, etc) stops being discovered (or does not pass the filter anymore). In this case the items, triggers and graphs will be deleted after the days defined in the *Keep lost resources period* field pass.  When discovered entities become 'Not discovered anymore', a lifetime indicator is displayed in the item list. Move your mouse pointer over it and a message will be displayed indicating how many days are left until the item is deleted.  ![](../../../assets/en/manual/discovery/low_level_discovery/not_discovered_message.png)  If entities were marked for deletion, but were not deleted at the expected time (disabled discovery rule or item host), they will be deleted the next time the discovery rule is processed.  Entities containing other entities, which are marked for deletion, will not update if changed on the discovery rule level. For example, LLD-based triggers will not update if they contain items that are marked for deletion.  ![](../../../assets/en/manual/discovery/low_level_discovery/discovered_triggers1.png)  ![](../../../assets/en/manual/discovery/low_level_discovery/discovered_graphs1.png)
ru	### Обнаруженные объекты  Представленные ниже снимки экрана иллюстрируют, как выглядят уже обнаруженные элементы данных, триггеры и графики в настройках узла сети. Обнаруженные объекты имеют префикс - ссылку золотистого цвета, которая ведёт к правилу обнаружения, создавшему эти объекты.  ![](../../../assets/en/manual/discovery/low_level_discovery/discovered_items1.png)  Обратите внимание, что обнаруженные объекты не будут созданы в случае, если объекты с такими же условиями уникальности уже существуют - например, элемент данных с таким же ключом или график с таким же именем. В таком случае в веб-интерфейсе отобразится сообщение об ошибке, что правило низкоуровневого обнаружения не смогло создать определённые объекты. Само правило обнаружения, тем не менее, не станет неподдерживаемым из-за того, что некоторые объекты не смогли быть созданы и были пропущены. Правило обнаружения перейдёт к созданию/обновлению других объектов.  Элементы данных (а также триггеры и графики), созданые с помощью правила низкоуровневого обнаружения, будут удалены автоматически, если обнаруженный объект (файловая система, интерфейс и т.д.) более не обнаруживается (или более не попадает под фильтр). В этом случае они будут удалены спустя некоторое количество дней, указанное в поле *Период сохранения потерянных ресурсов*.  Когда обнаруженный объект становится 'Более не обнаруживается', в списке элементов данных будет отображаться оранжевый индикатор времени жизни. Переместите курсор мыши на этот индикатор, и вы увидите сообщение с количеством дней до момента удаления элемента данных.  ![](../../../assets/en/manual/discovery/low_level_discovery/not_discovered_message.png)  Если объекты помечены на удаление, но не были удалены в назначенное время (деактивировано правило обнаружения или узел сети элемента данных), они удалятся при следующем выполнении правила обнаружения.  Объекты, которые содержат другие объекты, которые помечены на удаление, не будут обновлены, если будут изменены на уровне правила обнаружения. Например, триггеры на основе LLD не будут обновлены, если они содержат элементы данных, которые помечены на удаление.  ![](../../../assets/en/manual/discovery/low_level_discovery/discovered_triggers1.png)  ![](../../../assets/en/manual/discovery/low_level_discovery/discovered_graphs1.png)

en-us	#### Discovered entities  When server runs, it will create real items, triggers and graphs based on the values the SNMP discovery rule returns. In the host configuration they are prefixed with an orange link to a discovery rule they come from.  ![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_items_snmp.png){width="600"}  ![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_triggers_snmp.png){width="600"}  ![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_graphs_snmp.png){width="600"}
ru	#### Обнаруженные объекты  Во время своей работы сервер создаст реальные элементы данных, триггеры и графики на основе значений, которые вернёт правило SNMP обнаружения. В настройках узла сети они будут снабжены префиксом золотистого цвета, который является ссылкой на породившее их правило обнаружения.  ![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_items_snmp.png){width="600"}  ![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_triggers_snmp.png){width="600"}  ![](../../../../../assets/en/manual/discovery/low_level_discovery/discovered_graphs_snmp.png){width="600"}

en-us	### Discovered host  ::: noteclassic Discovered host are created by the Zabbix server and cannot be modified via the API. :::  The discovered host object contains information about a host discovered by a network discovery rule. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |dhostid|string|ID of the discovered host.| |druleid|string|ID of the discovery rule that detected the host.| |lastdown|timestamp|Time when the discovered host last went down.| |lastup|timestamp|Time when the discovered host last went up.| |status|integer|Whether the discovered host is up or down. A host is up if it has at least one active discovered service.<br><br>Possible values:<br>0 - host up;<br>1 - host down.|
ru	### Обнаруженный узел сети  ::: noteclassic Обнаруженный узел сети создается сервером Zabbix и не может быть изменены через API. :::  Объект обнаруженный узел сети содержит информацию об обнаруженном узле сети в соответствии с правилом сетевого обнаружения. Он обладает следующими свойствами.  |Свойство|[Тип](/manual/api/reference_commentary#data_types)|Описание| |--|--|------| |dhostid|string|ID обнаруженного узла сети.| |druleid|string|Идентификатор правила обнаружения, обнаружившего узел сети.| |lastdown|timestamp|Время последнего отказа обнаруженного узла сети.| |lastup|timestamp|Время последней активации обнаруженного узла сети.| |status|integer|Включен или выключен обнаруженный узел сети. Узел сети работает если у него есть хотя бы одна активная обнаруженная служба.<br><br>Возможные значения:<br>0 — узел сети работает;<br>1 — узел сети отключен.|

en-us	# > Discovered host object  The following objects are directly related to the `dhost` API.
ru	# > Объект обнаруженный узел сети  Следующие объекты напрямую связаны с API `dhost`.

en-us	# Discovered host  This class is designed to work with discovered hosts.  Object references:\  -   [Discovered     host](/manual/api/reference/dhost/object#discovered_host)  Available methods:\  -   [dhost.get](/manual/api/reference/dhost/get) - retrieve discovered     hosts
ru	# Обнаруженный узел сети  Этот класс предназначен для работы с обнаруженными узлами сети.  Ссылки на объекты:\  - · [Обнаруженный узел сети](/manual/api/reference/dhost/object#discovered_host)  Доступные методы:\  - · [dhost.get](/manual/api/reference/dhost/get) - получить обнаруженные узлы сети

en-us	# > Discovered service object  The following objects are directly related to the `dservice` API.
ru	# > Объект обнаруженного сервиса  Следующие объекты напрямую связаны с  API обнаружения сервисов (`dservice`).  

en-us	# Discovered service  This class is designed to work with discovered services.  Object references:\  -   [Discovered     service](/manual/api/reference/dservice/object#discovered_service)  Available methods:\  -   [dservice.get](/manual/api/reference/dservice/get) - retrieve     discovered services
ru	# Обнаруженный сервис  Этот класс предназначен для работы с обнаруженными сервисами.  Справка по объектам:\  -   [Обнаруженный     сервис](/manual/api/reference/dservice/object#discovered_service)  Доступные методы:\  -   [dservice.get](/ru/manual/api/reference/dservice/get) - получение     обнаруженных сервисов  

en-us	##### Discovering MBean attributes  Discovery item: `jmx.get[attributes,"com.example:type=*,*"]`  Response:  ``` {.json} [     {         "object": "com.example:type=*",         "domain": "com.example",         "properties": {             "type": "Simple"         }     },     {         "object": "com.zabbix:type=yes,domain=zabbix.com,data-source=/dev/rand,ключ=значение,obj=true",         "domain": "com.zabbix",         "properties": {             "type": "Hello",             "domain": "com.example",             "data-source": "/dev/rand",             "ключ": "значение",             "obj": true         }     } ] ```
ru	##### Обнаружение атрибутов MBean  Элемент данных обнаружения: `jmx.get[attributes,"com.example:type=*,*"]`  Ответ:  ``` {.json} [     {         "object": "com.example:type=*",         "domain": "com.example",         "properties": {             "type": "Simple"         }     },     {         "object": "com.zabbix:type=yes,domain=zabbix.com,data-source=/dev/rand,ключ=значение,obj=true",         "domain": "com.zabbix",         "properties": {             "type": "Hello",             "domain": "com.example",             "data-source": "/dev/rand",             "ключ": "значение",             "obj": true         }     } ] ```

en-us	##### Discovering MBeans  Discovery item: `jmx.get[beans,"com.example:type=*,*"]`  Response:  ``` {.json} [     {         "object": "com.example:type=Hello,data-src=data-base,ключ=значение",         "domain": "com.example",         "properties": {             "data-src": "data-base",             "ключ": "значение",             "type": "Hello"         }     },     {         "object": "com.example:type=Atomic",         "domain": "com.example",         "properties": {             "type": "Atomic"         }     } ] ```
ru	##### Обнаружение объектов MBean  Элемент данных обнаружения: `jmx.get[beans,"com.example:type=*,*"]`  Ответ:  ``` {.json} [     {         "object": "com.example:type=Hello,data-src=data-base,ключ=значение",         "domain": "com.example",         "properties": {             "data-src": "data-base",             "ключ": "значение",             "type": "Hello"         }     },     {         "object": "com.example:type=Atomic",         "domain": "com.example",         "properties": {             "type": "Atomic"         }     } ] ```

en-us	#### Discovery actions  The following conditions can be used in discovery-based events:  |Condition type|Supported operators|Description| |--|--|------| |*Host IP*|equals<br>does not equal|Specify an IP address range or a range to exclude for a discovered host.<br>**equals** - host IP is in the range.<br>**does not equal** - host IP is not in the range.<br>It may have the following formats:<br>Single IP: 192.168.1.33<br>Range of IP addresses: 192.168.1-10.1-254<br>IP mask: 192.168.4.0/24<br>List: 192.168.1.1-254, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24<br>Support for spaces in the list format is provided since Zabbix 3.0.0.| |*Service type*|equals<br>does not equal|Specify a service type of a discovered service or a service type to exclude.<br>**equals** - matches the discovered service.<br>**does not equal** - does not match the discovered service.<br>Available service types: SSH, LDAP, SMTP, FTP, HTTP, HTTPS *(available since Zabbix 2.2 version)*, POP, NNTP, IMAP, TCP, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping, telnet *(available since Zabbix 2.2 version)*.| |*Service port*|equals<br>does not equal|Specify a TCP port range of a discovered service or a range to exclude.<br>**equals** - service port is in the range.<br>**does not equal** - service port is not in the range.| |*Discovery rule*|equals<br>does not equal|Specify a discovery rule or a discovery rule to exclude.<br>**equals** - using this discovery rule.<br>**does not equal** - using any other discovery rule, except this one.| |*Discovery check*|equals<br>does not equal|Specify a discovery check or a discovery check to exclude.<br>**equals** - using this discovery check.<br>**does not equal** - using any other discovery check, except this one.| |*Discovery object*|equals|Specify the discovered object.<br>**equals** - equal to discovered object (a device or a service).| |*Discovery status*|equals|**Up** - matches 'Host Up' and 'Service Up' events<br>**Down** - matches 'Host Down' and 'Service Down' events<br>**Discovered** - matches 'Host Discovered' and 'Service Discovered' events<br>**Lost** - matches 'Host Lost' and 'Service Lost' events| |*Uptime/Downtime*|is greater than or equals<br>is less than or equals|Uptime for 'Host Up' and 'Service Up' events. Downtime for 'Host Down' and 'Service Down' events.<br>**is greater than or equals** - is more or equal to. Parameter is given in seconds.<br>**is less than or equals** - is less or equal to. Parameter is given in seconds.| |*Received value*|equals<br>does not equal<br>is greater than or equals<br>is less than or equals<br>contains<br>does not contain|Specify the value received from an agent (Zabbix, SNMP) check in a discovery rule. String comparison. If several Zabbix agent or SNMP checks are configured for a rule, received values for each of them are checked (each check generates a new event which is matched against all conditions).<br>**equals** - equal to the value.<br>**does not equal** - not equal to the value.<br>**is greater than or equals** - more or equal to the value.<br>**is less than or equals** - less or equal to the value.<br>**contains** - contains the substring. Parameter is given as a string.<br>**does not contain** - does not contain the substring. Parameter is given as a string.| |*Proxy*|equals<br>does not equal|Specify a proxy or a proxy to exclude.<br>**equals** - using this proxy.<br>**does not equal** - using any other proxy except this one.|  ::: noteclassic Service checks in a discovery rule, which result in discovery events, do not take place simultaneously. Therefore, if **multiple** values are configured for `Service type`, `Service port` or `Received value` conditions in the action, they will be compared to one discovery event at a time, but **not** to several events simultaneously. As a result, actions with multiple values for the same check types may not be executed correctly. :::
ru	#### Действия на обнаружение  В действиях на основе обнаружения можно использовать следующие условия:  |Тип условия|Поддерживаемые операторы|Описание| |--|--|------| |*IP узла сети*|равно<br>не равно|Укажите диапазон IP адресов или исключение диапазона у обнаруженного узла сети.<br>**равно** - IP адрес узла сети в указанном диапазоне.<br>**не равно** - IP адрес узла сети не из указанного диапазона.<br>Доступны следующие форматы: :<br>Одиночный IP: 192.168.1.33<br>Диапазон IP адресов:<br>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>Поддержка пробелов в формате списка имеется с Zabbix 3.0.0.| |*Тип сервиса*|равно<br>не равно|Укажите тип сервиса обнаруженного сервиса или исключение типа сервиса.<br>**равно** - совпадает с обнаруженным сервисом.<br>**не равно** - не совпадает с обнаруженным сервисом.<br>Доступные типы сервисов: SSH, LDAP, SMTP, FTP, HTTP, HTTPS *(доступно с Zabbix 2.2)*, POP, NNTP, IMAP, TCP, Zabbix агент, SNMPv1 агент, SNMPv2 агент, SNMPv3 агент, ICMP пинг, telnet *(доступно начиная с версии Zabbix 2.2)*| |*Порт сервиса*|равно<br>не равно|Укажите диапазон TCP портов или исключение диапазона у обнаруженного узла сети.<br>**равно** - порт сервиса из указанного диапазона.<br>**не равно** - порт сервиса не из указанного диапазона.| |*Правило обнаружения*|равно<br>не равно|Укажите правило обнаружения или исключение правила обнаружения.<br>**равно** - использование указанного правила обнаружения.<br>**не равно** - использование любого другого правила обнаружения, отличного от указанного.| |*Проверка обнаружения*|равно<br>не равно|Укажите проверку обнаружения или исключение проверки обнаружения.<br>**равно** - использование указанной проверки обнаружения.<br>**не равно** - использование любой другой проверки обнаружения, отличной от указанной.| |*Обнаруженный объект*|равно|Укажите обнаруженный объект.<br>**равно** - совпадает с обнаруженным объектом (устройством или сервисом).| |*Состояние обнаружения*|равно|**Доступен** - совпадает с событиями 'Узел сети доступен' и 'Сервис доступен'<br>**Недоступен** - совпадает с событиями 'Узел сети недоступен' и 'Сервис недоступен'<br>**Обнаружен** - совпадает с событиями 'Узел сети обнаружен' и 'Сервис обнаружен'<br>**Потерян** - совпадает с событиями 'Узел сети потерян' и 'Сервис потерян'| |*Доступен/Недоступен*|больше чем или равно<br>меньше чем или равно|Время доступности для событий 'Узел сети доступен' и 'Сервис доступен'. Время недоступности для событий 'Узел сети недоступен' и 'Сервис недоступен'.<br>**больше чем или равно** - больше или совпадает. Параметр задается в секундах.<br>**меньше чем или равно** - меньше или совпадает. Параметр задается в секундах.| |*Полученное значение*|равно<br>не равно<br>больше чем или равно<br>меньше чем или равно<br>содержит<br>не содержит|Укажите полученное значение от проверки агента (Zabbix, SNMP) в правиле обнаружения. Регистрозависимое сравнение строк. Если в правиле заданы несколько проверок Zabbix агента или SNMP, проверяется каждое полученное от них значения (каждая проверка генерирует новое событие, которое сопоставляется со всеми условиями).<br>**равно** - совпадает с указанным значением.<br>**не равно** - не совпадает с указанным значением.<br>**больше чем или равно** - больше или совпадает с указанным значением.<br>**меньше чем или равно** - меньше или совпадает с указанным значением.<br>**содержит** - содержит указанную подстроку. Параметр задается в виде строки.<br>**не содержит** - не содержит указанную подстроку. Параметр задается строкой.| |*Прокси*|равно<br>не равно|Укажите прокси или исключение прокси.<br>**равно** - используется указанный прокси.<br>**не равно** - используется любой другой прокси отличный от указанного.|  ::: noteclassic Проверки сервисов в правиле обнаружения, которые приводят к событиям обнаружения, не выполняются одновременно. Поэтому, если в действии настроено **несколько** значений для условий `Тип сервиса`, `Порт сервиса` или `Полученное значение`, они будут сравниваться с одним событием обнаружения за раз, но **не** будут сравниваться с несколькими событиями одновременно. В результате действия с несколькими значениями по одним и тем же типам проверок могут быть выполнены некорректно. :::

en-us	# > Discovery check object  The following objects are directly related to the `dcheck` API.
ru	# > Объект проверки обнаружения  Следующие объекты напрямую связаны с  API проверок обнаружения (`dcheck`).

en-us	# Discovery check  This class is designed to work with discovery checks.  Object references:\  -   [Discovery     check](/manual/api/reference/dcheck/object#discovery_check)  Available methods:\  -   [dcheck.get](/manual/api/reference/dcheck/get) - retrieve discovery     checks
ru	# Проверка обнаружения  Этот класс предназначен для работы с проверками обнаружения.  Справка по объектам:\  -   [Проверка     обнаружения](/manual/api/reference/dcheck/object#discovery_check)  Доступные методы:\  -   [dcheck.get](/manual/api/reference/dcheck/get)  - получение     проверок обнаружения  

en-us	#### Discovery events  Zabbix periodically scans the IP ranges defined in network discovery rules. Frequency of the check is configurable for each rule individually. Once a host or a service is discovered, a discovery event (or several events) are generated.  Zabbix generates the following events:  |Event|When generated| |--|--------| |Service Up|Every time Zabbix detects active service.| |Service Down|Every time Zabbix cannot detect service.| |Host Up|If at least one of the services is UP for the IP.| |Host Down|If all services are not responding.| |Service Discovered|If the service is back after downtime or discovered for the first time.| |Service Lost|If the service is lost after being up.| |Host Discovered|If host is back after downtime or discovered for the first time.| |Host Lost|If host is lost after being up.|
ru	#### События на обнаружения  Zabbix периодически сканирует диапазоны IP адресов, заданные в правилах сетевого обнаружения. Частота этой проверки настраивается отдельно по каждому правилу. После того, как узел сети или сервис обнаружен, генерируется событие (или несколько событий) на обнаружение.  Zabbix генерирует следующие события:  |Событие|Когда генерируется| |--|--------| |Сервис доступен|Каждый раз когда Zabbix обнаруживает активный сервис.| |Сервис недоступен|Каждый раз когда Zabbix не может обнаружить сервис.| |Узел сети доступен|Если хотя бы один сервис доступен для IP.| |Узел сети недоступен|Если все сервисы не доступны.| |Сервис обнаружен|Если сервис стал доступен после его недоступности или обнаружен впервые.| |Сервис потерян|Если сервис потерян после того как был доступен.| |Узел сети обнаружен|Если узел сети стал доступен после его недоступности или обнаружен впервые.| |Узел сети потерян|Если узел сети потерян после того как был доступен.|

en-us	### Discovery of disabled systemd units  It is now also possible to discover **disabled** systemd units using the *systemd.unit.discovery* item key,  supported by Zabbix agent 2. Note that to have items and triggers created from prototypes for disabled systemd units,  it may be necessary to adjust (or remove) prohibiting LLD filters for the {#UNIT.ACTIVESTATE} and {#UNIT.UNITFILESTATE} macros.   For more details, see [Discovery of systemd services](/manual/discovery/low_level_discovery/examples/systemd).
ru	### Обнаружение отключенных systemd модулей  Теперь также имеется возможность обнаружения **отключенных** модулей systemd с использованием ключа элемента данных *systemd.unit.discovery*, подерживаемого Zabbix агентом 2. Обратите внимание, чтобы для отключенных модулей systemd были созданы элементы данных и триггеры из их прототипов, возможно, потребуется адаптировать (или вовсе удалить) запрещающие фильтры LLD в макросах {#UNIT.ACTIVESTATE} и {#UNIT.UNITFILESTATE}.  Для получения более подробных сведений смотрите [Обнаружение systemd служб](/manual/discovery/low_level_discovery/examples/systemd).

en-us	##### Discovery of disabled systemd units  Since Zabbix 6.0.1 it is also possible to discover **disabled** systemd units. In this case  three macros are returned in the resulting JSON:   -    {#UNIT.PATH} -    {#UNIT.ACTIVESTATE} -    {#UNIT.UNITFILESTATE}.   ::: noteimportant To have items and triggers created from prototypes for disabled systemd units, make sure to  adjust (or remove) prohibiting LLD filters for {#UNIT.ACTIVESTATE} and {#UNIT.UNITFILESTATE}. :::
ru	##### Обнаружение деактивированных модулей systemd  Начиная с версии Zabbix 6.0.1, возможно также обнаруживать и **деактивированные** (disabled)  модули systemd. В этом случае в результирующем JSON-е возвращаются три макроса:   -    {#UNIT.PATH} -    {#UNIT.ACTIVESTATE} -    {#UNIT.UNITFILESTATE}.   ::: noteimportant Чтобы из прототипов создавались элементы данных и триггеры для деактивированных модулей systemd, убедитесь, что подправлены (или удалены) запрещающие фильтры LLD для {#UNIT.ACTIVESTATE} и {#UNIT.UNITFILESTATE}. :::

en-us	### Discovery of Windows services  [Low-level discovery](/manual/discovery/low_level_discovery) provides a way to automatically create items, triggers, and graphs for different entities on a computer. Zabbix can automatically start monitoring Windows services on your machine, without the need to know the exact name of a service or create items for each service manually. A filter can be used to generate real items, triggers, and graphs only for services of interest.
ru	#### Обнаружение служб Windows  [Низкоуровневое обнаружение](/manual/discovery/low_level_discovery) даёт возможность автоматического создания элементов данных, триггеров и графиков по различных объектам на компьютере. Zabbix может автоматически начать наблюдение за службами Windows на вашей машине, без необходимости знания точного имени службы или создания элементов данных по каждой службе вручную. Можно использовать фильтр для генерирования реальных элементов данных, триггеров и графиков только по интересующим службам.

en-us	#### discoveryrule  Bug fixes:\ [ZBX-19118](https://support.zabbix.com/browse/ZBX-19118) `discoveryrule.create`, `discoveryrule.update`: property `interfaceid` is no longer required to create/update a HTTP agent type LLD rule.\
ru	#### #### Правило обнаружения  Исправление ошибок:\ [[ZBX-19118](https://support.zabbix.com/browse/ZBX-19118 ) `discoveryrule.create`, `discoveryrule.update`: свойство `interfaceid` больше не требуется для создания/обновления правила LLD с типом HTTP-агент.\

en-us	#### discoveryrule  Changes:\ [ZBXNEXT-7951](https://support.zabbix.com/browse/ZBXNEXT-7951) `discoveryrule.update`: the parameter `uuid` can now be updated.\
ru	#### Правило обнаружения  Изменения:\ [ZBXNEXT-7951](https://support.zabbix.com/browse/ZBXNEXT-7951) `discoveryrule.update`: параметр `uuid` теперь может быть обновлен.\

en-us	# discoveryrule.copy
ru	# discoveryrule.copy

en-us	# discoveryrule.create
ru	# discoveryrule.create

en-us	# discoveryrule.delete
ru	# discoveryrule.delete

en-us	# discoveryrule.get
ru	# discoveryrule.get

en-us	# > Discovery rule object  The following objects are directly related to the `drule` API.
ru	# > Объект правила обнаружения  Следующие объекты напрямую связаны с API правил обнаружения (`drule`).

en-us	#### Discovery rule  The discovery rule form contains five tabs, representing, from left to right, the data flow during discovery:  -   *Discovery rule* - specifies, most importantly, the built-in item or     custom script to retrieve discovery data -   *Preprocessing* - applies some preprocessing to the discovered data -   *LLD macros* - allows to extract some macro values to use in     discovered items, triggers, etc -   *Filters* - allows to filter the discovered values -   *Overrides* - allows to modify items, triggers, graphs or host     prototypes when applying to specific discovered objects  The **Discovery rule** tab contains the item key to use for discovery (as well as some general discovery rule attributes):  ![](../../../assets/en/manual/discovery/low_level_discovery/lld_rule_fs.png)  All mandatory input fields are marked with a red asterisk.  |Parameter|Description| |--|--------| |*Name*|Name of discovery rule.| |*Type*|The type of check to perform discovery.<br>In this example we are using a *Zabbix agent* item type.<br>The discovery rule can also be a [dependent item](/manual/config/items/itemtypes/dependent_items), depending on a regular item. It cannot depend on another discovery rule. For a dependent item, select the respective type (*Dependent item*) and specify the master item in the 'Master item' field. The master item must exist.| |*Key*|Enter the discovery item key (up to 2048 characters).<br>For example, you may use the built-in "vfs.fs.discovery" item key to return a JSON with the list of file systems present on the computer and their types.<br>Note that another option for filesystem discovery is using discovery results by the "vfs.fs.get" agent key, supported since Zabbix 4.4.5 (see [example](/manual/discovery/low_level_discovery/examples/mounted_filesystems)).| |*Update interval*|This field specifies how often Zabbix performs discovery. In the beginning, when you are just setting up file system discovery, you might wish to set it to a small interval, but once you know it works you can set it to 30 minutes or more, because file systems usually do not change very often.<br>[Time suffixes](/manual/appendix/suffixes) are supported, e.g. 30s, 1m, 2h, 1d, since Zabbix 3.4.0.<br>[User macros](/manual/config/macros/user_macros) are supported, since Zabbix 3.4.0.<br>*Note*: The update interval can only be set to '0' if custom intervals exist with a non-zero value. If set to '0', and a custom interval (flexible or scheduled) exists with a non-zero value, the item will be polled during the custom interval duration.<br>*Note* that for an existing discovery rule the discovery can be performed immediately by pushing the *Check now* [button](#form_buttons).| |*Custom intervals*|You can create custom rules for checking the item:<br>**Flexible** - create an exception to the *Update interval* (interval with different frequency)<br>**Scheduling** - create a custom polling schedule.<br>For detailed information see [Custom intervals](/manual/config/items/item/custom_intervals). Scheduling is supported since Zabbix 3.0.0.| |*Keep lost resources period*|This field allows you to specify the duration for how long the discovered entity will be retained (won't be deleted) once its discovery status becomes "Not discovered anymore" (between 1 hour to 25 years; or "0").<br>[Time suffixes](/manual/appendix/suffixes) are supported, e.g. 2h, 1d, since Zabbix 3.4.0.<br>[User macros](/manual/config/macros/user_macros) are supported, since Zabbix 3.4.0.<br>*Note:* If set to "0", entities will be deleted immediately. Using "0" is not recommended, since just wrongly editing the filter may end up in the entity being deleted with all the historical data.| |*Description*|Enter a description.| |*Enabled*|If checked, the rule will be processed.|  ::: noteclassic Discovery rule history is not preserved. :::
ru	#### Правило обнаружения  Диалог правила обнаружения содержит пять вкладок, представляющих (слева направо) поток обработки данных во время обнаружения:  -   *Правило обнаружения* - самое главное, определяет встроенный элемент данных или пользовательский сценарий для получения данных обнаружения -   *Предобработка* - применяет какую-либо предобработку к данным обнаружения -   *LLD макросы* - позволяет извлечь значения некоторых макросов, чтобы использовать в обнаруженных элементах данных, триггерах и т.д. -   *Фильтры* - позволяет отфильтровать обнаруженные значения -   *Замещения* - позволяет изменить прототипы элементов данных, триггеров, графиков или узлов сети, когда они применяются к конкретным найденным объектам  Вкладка **Правило обнаружения** содержит ключ элемента данных, используемого для обнаружения (а также некоторые общие атрибуты правила обнаружения):  ![](../../../assets/en/manual/discovery/low_level_discovery/lld_rule_fs.png)  Все обязательные поля ввода отмечены красной звёздочкой.  |Параметр|Описание| |--|--------| |*Имя*|Имя правила обнаружения.| |*Тип*|Тип проверки выполняемого обнаружения.<br>В данном примере мы используем тип *Zabbix агент*.<br>Правило обнаружения также может являться [зависимым элементом данных](/manual/config/items/itemtypes/dependent_items), зависящим от обычного элемента данных. Оно не может зависеть от другого правила обнаружения. Для зависимых элементов данных выберите соответствующий тип (*Зависимый элемент данных*) и укажите основной элемент данных в поле 'Основной элемент данных'. Основной элемент данных должен существовать.| |*Ключ*|Введите ключ элемента данных, используемого для обнаружения (до 2048 символов).<br>Например, вы можете использовать встроенный ключ элемента данных «vfs.fs.discovery», который возвращает JSON со списком файловых систем, присутствующих в компьютере, и их типов.<br>Обратите внимание, что другой вариант обраружения файловых систем - это использовать результаты, возвращаемые ключом агента «vfs.fs.get», который поддерживается с версии Zabbix 4.4.5 (смотрите [пример](/manual/discovery/low_level_discovery/examples/mounted_filesystems)).| |*Интервал обновления*|Это поле задаёт, как часто Zabbix выполняет обнаружение. Вначале, когда вы только настраиваете обнаружение файловых систем, вы можете указать маленький интервал; но как только вы удостоверитесь что всё работает, вы можете установить его в 30 минут или более, потому что обычно файловые системы не меняются очень часто.<br>Начиная с Zabbix 3.4.0, поддерживаются [суффиксы времени](/manual/appendix/suffixes), например 30s, 1m, 2h, 1d.<br>[Пользовательские макросы](/manual/config/macros/user_macros) поддерживаются, начиная с Zabbix 3.4.0.<br>*Обратите внимание*: интервал обновления может быть выставлен в '0' только если существует пользовательский интервал с ненулевым значением. Если укажете значение, равное '0', и пользовательский интервал (переменный или по расписанию) с ненулевым значением существует, элемент данных будет опрашиваться в течение действия переменного интервала.<br>*Обратите внимание*, что уже созданное правило обнаружения можно выполнить незамедлительно нажатием [кнопки](#кнопки-диалога) *Проверить сейчас*.| |*Пользовательские интервалы*|Вы можете создавать пользовательские правила проверки элемента данных:<br>**Гибкий** - создание исключений из *Интервала обновления* (интервал с другой частотой обновления)<br>**По расписанию** - создание пользовательского расписания проверки.<br>Для получения более подробной информации смотрите [Пользовательские интервалы](/manual/config/items/item/custom_intervals). Проверка по расписанию поддерживается, начиная с Zabix 3.0.0.| |*Период сохранения потерянных ресурсов*|Это поле позволяет вам указать, как много дней обнаруженный объект будет храниться (не будет удалён), после того как его состояние обнаружения станет "более не обнаруживается" (от 1 часа до 25 лет; либо 0).<br>Начиная с Zabbix 3.4.0, поддерживаются [суффиксы времени](/manual/appendix/suffixes), например 30s, 1m, 2h, 1d.<br>[Пользовательские макросы](/manual/config/macros/user_macros) поддерживаются, начиная с Zabbix 3.4.0.<br>*Обратите внимание*: Если значение равно «0», объекты будут удалены сразу. Использование значения «0» не рекомендуется, так как простое ошибочное изменение фильтра может закончится тем, что объект будет удалён вместе со всеми данными истории.| |*Описание*|Введите описание.| |*Активировано*|Если отмечено, правило будет обрабатываться.|  ::: noteclassic История правил обнаружения не сохраняется. :::

en-us	### Discovery rule  The discovery rule object defines a network discovery rule. It has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |druleid|string|*(readonly)* ID of the discovery rule.| |**iprange**<br>(required)|string|One or several IP ranges to check separated by commas.<br><br>Refer to the [network discovery configuration](/manual/discovery/network_discovery/rule) section for more information on supported formats of IP ranges.| |**name**<br>(required)|string|Name of the discovery rule.| |delay|string|Execution interval of the discovery rule. Accepts seconds, time unit with suffix and user macro.<br><br>Default: 1h.| |nextcheck|timestamp|*(readonly)* Time when the discovery rule will be executed next.| |proxy\_hostid|string|ID of the proxy used for discovery.| |status|integer|Whether the discovery rule is enabled.<br><br>Possible values:<br>0 - *(default)* enabled;<br>1 - disabled.|  Note that for some methods (update, delete) the required/optional parameter combination is different.
ru	### Правило обнаружения  Объект правила обнаружения определяет правило обнаружения сети. Он обладает следующими свойствами.  |Свойство|[Тип](/manual/api/reference_commentary#data_types)|Описание| |--|--|------| |druleid|строка|*(только для чтения)* ID правила обнаружения.| |**iprange**<br>(обязательное)|строка|Один или несколько диапазонов IP-адресов для проверки, разделенных запятыми.<br><br>Обратитесь к разделу [конфигурация обнаружения сети](/manual/discovery/network_discovery/rule) для получения дополнительной информации о поддерживаемых форматах диапазонов IP.| |**name**<br>(обязательное)|строка|Название правила обнаружения.| |delay|строка|Интервал выполнения правила обнаружения. Принимает секунды, единицу времени с суффиксом и пользовательский макрос.<br><br>По умолчанию: 1 час.| |nextcheck|штамп времени|*(только для чтения)* Время, когда правило обнаружения будет выполнено в следующий раз.| |proxy\_hostid|строка|ID прокси, используемого для обнаружения.| |status|целое число|Включено ли правило обнаружения.<br><br>Возможные значения:<br>0 - *(по умолчанию)* включено;<br>1 - отключено.|  Обратите внимание, что для некоторых методов (обновление, удаление) комбинация обязательных/необязательных параметров отличается.

en-us	# Discovery rule  This class is designed to work with network discovery rules.  ::: notetip This API is meant to work with network discovery rules. For the low-level discovery rules see the [LLD rule API](discoveryrule). :::  Object references:\  -   [Discovery rule](/manual/api/reference/drule/object#discovery_rule)  Available methods:\  -   [drule.create](/manual/api/reference/drule/create) - create new     discovery rules -   [drule.delete](/manual/api/reference/drule/delete) - delete     discovery rules -   [drule.get](/manual/api/reference/drule/get) - retrieve discovery     rules -   [drule.update](/manual/api/reference/drule/update) - update     discovery rules
ru	# Правило обнаружения  Этот класс предназначен для работы с правилами сетевого обнаружения.  ::: notetip Этот API предназначен для работы с правилами сетевого обнаружения. Правила низкоуровневого обнаружения см. в [правиле LLD API](discoveryrule). :::  Ссылки на объекты:\  - · [Discovery rule](/manual/api/reference/drule/object#discovery_rule)  Доступные методы:\  - · [drule.create](/manual/api/reference/drule/create) - создать новое  · правило обнаружения - · [drule.delete](/manual/api/reference/drule/delete) - удалить  · правило обнаружения - · [drule.get](/manual/api/reference/drule/get) - получить правило  · обнаружения - · [drule.update](/manual/api/reference/drule/update) - обновить  · правило обнаружения

en-us	# discoveryrule.update
ru	# discoveryrule.update

en-us	#### Discovery  Zabbix can use a low-level discovery rule to automatically discover VMware hypervisors and virtual machines.  ![](../../assets/en/manual/vm_monitoring/vm_hypervisor_lld.png)  All mandatory input fields are marked with a red asterisk.  The discovery rule key in the above screenshot is *vmware.hv.discovery\[{$VMWARE.URL}\]*.
ru	#### Обнаружение  Zabbix может использовать правило низкоуровневого обнаружения для автоматического обнаружения гипервизоров и виртуальных машин VMware.  ![](../../assets/en/manual/vm_monitoring/vm_hypervisor_lld.png)  Все обязательные поля ввода отмечены красной звёздочкой.  Ключом правила обнаружения на снимке экрана выше является *vmware.hv.discovery\[{$VMWARE.URL}\]*.

en-us	#### Discovery  Zabbix periodically scans the IP ranges defined in [network discovery rules](/manual/discovery/network_discovery/rule). The frequency of the check is configurable for each rule individually.  Note that one discovery rule will always be processed by a single discoverer process. The IP range will not be split between multiple discoverer processes.  Each rule has a set of service checks defined to be performed for the IP range.  ::: noteclassic Discovery checks are processed independently from the other checks. If any checks do not find a service (or fail), other checks will still be processed. :::  Every check of a service and a host (IP) performed by the network discovery module generates a discovery event.  |Event|Check of service result| |--|--------| |*Service Discovered*|The service is 'up' after it was 'down' or when discovered for the first time.| |*Service Up*|The service is 'up', after it was already 'up'.| |*Service Lost*|The service is 'down' after it was 'up'.| |*Service Down*|The service is 'down', after it was already 'down'.| |*Host Discovered*|At least one service of a host is 'up' after all services of that host were 'down' or a service is discovered which belongs to a not registered host.| |*Host Up*|At least one service of a host is 'up', after at least one service was already 'up'.| |*Host Lost*|All services of a host are 'down' after at least one was 'up'.| |*Host Down*|All services of a host are 'down', after they were already 'down'.|
ru	#### Обнаружение  Zabbix периодически сканирует указанные в [правилах сетевого обнаружения](/manual/discovery/network_discovery/rule) диапазоны IP. Частота проверок настраивается для каждого правила отдельно.  Обратите внимание, что одно правило обнаружения всегда обрабатывается одним процессом обнаружения (discoverer). Диапазон IP адресов не разбивается между несколькими процессами обнаружения.  Каждое правило имеет заданный набор проверок сервисов, которые будут выполняться по диапазону IP.  ::: noteclassic Проверки обнаружения обрабатываются независимо от остальных проверок. Если какие-либо проверки не находят сервис (или завершаются с ошибкой), то другие проверки всё равно выполняются. :::  Каждая проверка сервиса и хоста (IP), выполняемая модулем сетевого обнаружения, генерирует событие обнаружения.  |Событие|Результат проверки сервиса| |--|--------| |*Сервис обнаружен*|Сервис 'доступен' после того, как был 'недоступен' или когда обнаружен первый раз.| |*Сервис доступен*|Сервис 'доступен' после того, как уже был 'доступен'.| |*Сервис потерян*|Сервис 'недоступен' после того, как был 'доступен'.| |*Сервис недоступен*|Сервис 'недоступен' после того, как уже был 'недоступен'.| |*Узел сети обнаружен*|По крайней мере один сервис на узле сети 'доступен' после того, как все сервисы на этом узле сети были 'недоступны', либо обнаружен сервис, относящийся к ещё не зарегистрированному узлу сети.| |*Узел сети доступен*|По крайней мере один сервис на узле сети 'доступен' после того, как по крайней мере один сервис на узле сети уже был 'доступен'.| |*Узел сети потерян*|Все сервисы на узле сети 'недоступны' после того, как по крайней мере один был 'доступен'.| |*Узел сети недоступен*|Все сервисы на узле сети 'недоступны' после того, как они уже были 'недоступны'.|

en-us	#### Display
ru	#### Просмотр

en-us	#### Display  Based on acknowledgment information it is possible to configure how the problem count is displayed in the dashboard or maps. To do that, you have to make selections in the *Problem display* option, available in both [map configuration](/manual/config/visualization/maps/map#creating_a_map) and the *Problems by severity* [dashboard widget](/manual/web_interface/frontend_sections/monitoring/dashboard##adding_widgets). It is possible to display all problem count, unacknowledged problem count as separated from the total or unacknowledged problem count only.  Based on problem update information (acknowledgment, etc.), it is possible to configure update operations - send a message or execute remote commands.
ru	#### Отображение  На основе информации о подтверждении можно настроить отображение количества проблем на панели или картах. Чтобы сделать это, вам необходимо выбрать в опции *Отображение проблем*, доступной как в [настройках карты](/manual/config/visualization/maps/map#создание-карты-сети), так и в [виджете панели](/manual/web_interface/frontend_sections/monitoring/dashboard#добавление-виджетов) *Проблемы по степени важности*. Можно отобразить все проблемы, количество неподтверждённых проблем отдельно от общего количества или только количество неподтверждённых проблем.  На основе информации об обновлении проблемы (подтверждение и т.д.) можно настроить операции обновления - отправить сообщение или выполнить удалённые команды.

en-us	##### Displaying hosts in maintenance  An orange wrench icon ![](../../assets/en/manual/web_interface/frontend_sections/configuration/maintenance_wrench_icon.png) next to the host name indicates that this host is in maintenance in:  -   *Monitoring → Dashboard* -   *Monitoring → Problems* -   *Inventory → Hosts → Host inventory details* -   *Configuration → Hosts* (See 'Status' column)  ![](../../assets/en/manual/maintenance/maintenance_icon.png)  Maintenance details are displayed when the mouse pointer is positioned over the icon.  Additionally, hosts in maintenance get an orange background in *Monitoring → Maps*.
ru	##### Отображение узлов сети в обслуживании  Иконка с оранжевым гаечным ключом ![](../../assets/en/manual/web_interface/frontend_sections/configuration/maintenance_wrench_icon.png) вблизи имени узла сети означает, что этот узел сети находится в обслуживании в следующих разделах:  -   *Мониторинг → Панель* -   *Мониторинг → Проблемы* -   *Инвентаризация → Узлы сети → Детали инвентарных данных узла сети* -   *Настройка → Узлы сети* (Смотрите колонку 'Состояние')  ![](../../assets/en/manual/maintenance/maintenance_icon.png)  Детали обслуживания отображаются при наведении курсора мыши на иконку.  Кроме этого, у узлов сети в обслуживании появляется оранжевый фон в *Мониторинг → Карты сети*.

en-us	##### Displaying suppressed problems  Normally problems for hosts in maintenance are suppressed, i.e. not displayed in the frontend. However, it is also possible to configure that suppressed problems are shown, by selecting the *Show suppressed problems* option in these locations:  -   *Monitoring* → *Dashboard* (in *Problem hosts*, *Problems*,     *Problems by severity*, *Trigger overview* widget configuration) -   *Monitoring* → *Problems* (in the filter) -   *Monitoring* → *Maps* (in map configuration) -   Global     [notifications](/manual/web_interface/user_profile/global_notifications)     (in user profile configuration)  When suppressed problems are displayed, the following icon is displayed: ![](../../assets/en/manual/web_interface/icon_suppressed.png). Rolling a mouse over the icon displays more details:  ![](../../assets/en/manual/web_interface/info_suppressed2.png)
ru	##### Отображение подавленных проблем  Обычно проблемы с узлов сети в обслуживании подавляются, то есть не отображаются в веб-интерфейсе. Однако, также имеется возможность настроить так, чтобы подавленные проблемы отображались при выборе опции *Отображение подавленных проблем* в следующих местах:  -   *Мониторинг* → *Панель* (при настройке виджетов *Узлы сети с проблемами*, *Проблемы*, *Проблемы по важности*, *Обзор триггеров*) -   *Мониторинг* → *Проблемы* (в фильтре) -   *Мониторинг* → *Обзор* (в фильтре) -   *Мониторинг* → *Карты сети* (в настройках карты) -   Глобальные [оповещения](/manual/web_interface/user_profile/global_notifications) (в настройках профиля пользователя)  При отображении подавленных проблем отображается следующая иконка: ![](../../assets/en/manual/web_interface/icon_suppressed.png). При наведении курсора мыши отобразятся более подробные сведения:  ![](../../assets/en/manual/web_interface/info_suppressed2.png)

en-us	#### Displaying trigger status  With a trigger defined, you might be interested to see its status.  If the CPU load has exceeded the threshold level you defined in the trigger, the problem will be displayed in *Monitoring → Problems*.  ![](../../../assets/en/manual/quickstart/trigger_status0.png){width="600"}  The flashing in the status column indicates a recent change of trigger status, one that has taken place in the last 30 minutes.
ru	#### Просмотр состояния триггера  После добавления триггера вам может быть интересно увидеть его состояние.  Если загрузка CPU превысит порог, который вы указали в триггере, проблема отобразится в *Мониторинг → Проблемы*.  ![](../../../assets/en/manual/quickstart/trigger_status0.png){width="600"}  Мигание в столбце состояния указывает на недавнее изменение состояние триггера, которое произошло за последние 30 минут.

en-us	#### Display  In *Monitoring → Maps* the respective color will be displayed on the link if the trigger goes into a problem state.  ![](../../../../../assets/en/manual/config/visualization/map_problem.png)  ::: noteclassic If multiple triggers go into a problem state, the problem with the highest severity will determine the link style and color. If multiple triggers with the same severity are assigned to the same map link, the one with the lowest ID takes precedence. Note also that:\ \ 1. *Minimum trigger severity* and *Show suppressed problem* settings from map configuration affect which problems are taken into account.\ 2. In the case of triggers with multiple problems (multiple problem generation), each problem may have a severity that differs from trigger severity (changed manually), may have different tags (due to macros), and may be suppressed. :::
ru	#### Просмотр  В *Мониторинг → Карты сети* отобразится соответствующий цвет у связи, если триггер перейдет в состояние проблема.  ![](../../../../../assets/en/manual/config/visualization/map_problem.png)  ::: noteclassic Если несколько триггеров перейдут в состояние проблема, то триггер с наивысшей важностью будет определять цвет и стиль связи. Если несколько триггеров с одинаковой важностью назначены на одну связь карты сети, то триггер с наименьшим ID будет иметь приоритет. Обратите также внимание, что:\ \ 1. Настройки *Минимальная важность триггеров* и *Подавленные проблемы* с настроек карты влияют на то, какие проблемы принимаются во внимание.\ 2. В случае наличия триггеров с несколькими проблемами (генерация множественных проблем), важность каждой проблемы может отличаться от важности триггера (изменено вручную), может иметь другие теги (из-за макросов), а также может быть подавлена. :::

en-us	##### Display  In the item list dependent items are displayed with their master item name as prefix.  ![](../../../../../assets/en/manual/config/items/itemtypes/dependent_items.png){width="600"}  If a master item is deleted, so are all its dependent items.
ru	##### Отображение  В списке элементов данных зависимые элементы данных отображаются с именем основного элемента данных в качестве префикса.  ![](../../../../../assets/en/manual/config/items/itemtypes/dependent_items.png){width="600"}  Если основной элемент данных удаляется, то будут удалены и все его зависимые элементы данных.

en-us	#### Display  The following screen will be displayed when trying to access the Zabbix frontend while in maintenance mode. The screen is refreshed every 30 seconds in order to return to a normal state without user intervention when the maintenance is over.  ![](../../../assets/en/manual/web_interface/frontend_maintenance.png)  IP addresses defined in ZBX\_GUI\_ACCESS\_IP\_RANGE will be able to access the frontend as always.
ru	#### Отображение  При попытке входа на веб-интерфейс Zabbix в течение режима обслуживания будет отображаться следующий экран. Экран обновляется каждые 30 секунд, чтобы после завершения обслуживания вернуться в нормальное состояние без вмешательства пользователя.  ![](../../../assets/en/manual/web_interface/frontend_maintenance.png)  IP адреса, заданные в ZBX\_GUI\_ACCESS\_IP\_RANGE, смогут получить доступ к веб-интерфейсу, как всегда.

en-us	##### Display  This is the result in *Monitoring → Latest data*:  ![](../../../../../assets/en/manual/config/items/itemtypes/trapped_data.png){width="600"}  Note that if a single numeric value is sent in, the data graph will show a horizontal line to the left and to the right of the time point of the value.
ru	##### Отображение  Результат в *Мониторинг → Последние данные*:  ![](../../../../../assets/en/manual/config/items/itemtypes/trapped_data.png){width="600"}  Обратите внимание, если отправлено одно числовое значение, на графике отобразится горизонтальная линия с левого до правого края от точки времени значения.

en-us	#### Display  To view web scenarios configured for a host, go to *Monitoring → Hosts*, locate the host in the list and click on the *Web* hyperlink in the last column. Click on the scenario name to get detailed information.  ![](../../assets/en/manual/web_monitoring/scenario_details2.png){width="600"}  An overview of web scenarios can also be displayed in *Monitoring → Dashboard* by a Web monitoring widget.  Recent results of the web scenario execution are available in the *Monitoring → Latest data* section.
ru	#### Просмотр  Для просмотра веб-сценариев настроенных для узла сети, перейдите в *Мониторинг → Узлы сети*, найдите нужный узел сети в списке и нажмите на ссылку *Веб* в последней колонке. Нажмите на имя сценария для просмотра подробной статистики.  ![](../../assets/en/manual/web_monitoring/scenario_details2.png){width="600"}  Обзор сценариев веб-мониторинга можно также отобразить на *Мониторинг → Панель*  в виджете Веб-мониторинга.  Последние результаты выполнения веб-сценария доступны в разделе *Мониторинг → Последние данные*.

en-us	#### Docker base images  Zabbix components are provided on Ubuntu, Alpine Linux and CentOS base images:  |Image|Version| |---|---| |[alpine](https://hub.docker.com/_/alpine/)|3.16| |[ubuntu](https://hub.docker.com/_/ubuntu/)|22.04 (jammy)| |[centos](https://hub.docker.com/_/centos/)|8|  All images are configured to rebuild latest images if base images are updated.
ru	#### Базовые образы Docker  Компоненты Zabbix поставляются на основе образов Ubuntu, Alpine Linux и CentOS:  |Образ|Версия| |---|---| |[alpine](https://hub.docker.com/_/alpine/)|3.16| |[ubuntu](https://hub.docker.com/_/ubuntu/)|22.04 (jammy)| |[centos](https://hub.docker.com/_/centos/)|8|  Все образы сконфигурированы на пересоздание в случае, если базовые образы были обновлены.

en-us	### Docker Compose  Zabbix provides compose files also for defining and running multi-container Zabbix components in Docker. These compose files are available in Zabbix docker official repository on github.com: <https://github.com/zabbix/zabbix-docker>. These compose files are added as examples, they are overloaded. For example, they contain proxies with MySQL and SQLite3 support.  There are a few different versions of compose files:   |File name|Description| |--|--------| |`docker-compose_v3_alpine_mysql_latest.yaml`|The compose file runs the latest version of Zabbix 5.4 components on Alpine Linux with MySQL database support.| |`docker-compose_v3_alpine_mysql_local.yaml`|The compose file locally builds the latest version of Zabbix 5.4 and runs Zabbix components on Alpine Linux with MySQL database support.| |`docker-compose_v3_alpine_pgsql_latest.yaml`|The compose file runs the latest version of Zabbix 5.4 components on Alpine Linux with PostgreSQL database support.| |`docker-compose_v3_alpine_pgsql_local.yaml`|The compose file locally builds the latest version of Zabbix 5.4 and runs Zabbix components on Alpine Linux with PostgreSQL database support.| |`docker-compose_v3_centos_mysql_latest.yaml`|The compose file runs the latest version of Zabbix 5.4 components on CentOS 8 with MySQL database support.| |`docker-compose_v3_centos_mysql_local.yaml`|The compose file locally builds the latest version of Zabbix 5.4 and runs Zabbix components on CentOS 8 with MySQL database support.| |`docker-compose_v3_centos_pgsql_latest.yaml`|The compose file runs the latest version of Zabbix 5.4 components on CentOS 8 with PostgreSQL database support.| |`docker-compose_v3_centos_pgsql_local.yaml`|The compose file locally builds the latest version of Zabbix 5.4 and runs Zabbix components on CentOS 8 with PostgreSQL database support.| |`docker-compose_v3_ubuntu_mysql_latest.yaml`|The compose file runs the latest version of Zabbix 5.4 components on Ubuntu 20.04 with MySQL database support.| |`docker-compose_v3_ubuntu_mysql_local.yaml`|The compose file locally builds the latest version of Zabbix 5.4 and runs Zabbix components on Ubuntu 20.04 with MySQL database support.| |`docker-compose_v3_ubuntu_pgsql_latest.yaml`|The compose file runs the latest version of Zabbix 5.4 components on Ubuntu 20.04 with PostgreSQL database support.| |`docker-compose_v3_ubuntu_pgsql_local.yaml`|The compose file locally builds the latest version of Zabbix 5.4 and runs Zabbix components on Ubuntu 20.04 with PostgreSQL database support.|  ::: noteimportant Available Docker compose files support version 3 of Docker Compose. :::
ru	### Docker Compose  Zabbix также поставляет файлы конфигурации  для определения и запуска нескольких контейнеров с Zabbix компонентами в Docker. Данные файлы конфигурации доступны в официальном Zabbix docker репозитории на github.com: <https://github.com/zabbix/zabbix-docker>. Эти файлы конфигурации добавлены в качестве примера и перегружены. Например, в них содержится прокси с поддержкой MySQL и SQLite3.  Имеется несколько различных версий файлов конфигурации:  |Имя файла|Описание| |--|--------| |`docker-compose_v3_alpine_mysql_latest.yaml`|Файл конфигурации запускает последнюю версию компонентов Zabbix 6.0 на Alpine Linux с поддержкой базы данных MySQL.| |`docker-compose_v3_alpine_mysql_local.yaml`|Файл конфигурации собирает локально последнюю версию компонентов Zabbix 6.0 и запускает компоненты Zabbix на Alpine Linux с поддержкой базы данных MySQL.| |`docker-compose_v3_alpine_pgsql_latest.yaml`|Файл конфигурации запускает последнюю версию компонентов Zabbix 6.0 на Alpine Linux с поддержкой базы данных PostgreSQL.| |`docker-compose_v3_alpine_pgsql_local.yaml`|Файл конфигурации собирает локально последнюю версию компонентов Zabbix 6.0 и запускает компоненты Zabbix на Alpine Linux с поддержкой базы данных PostgreSQL.| |`docker-compose_v3_centos_mysql_latest.yaml`|Файл конфигурации запускает последнюю версию компонентов Zabbix 6.0 на CentOS 8 с поддержкой базы данных MySQL.| |`docker-compose_v3_centos_mysql_local.yaml`|Файл конфигурации собирает локально последнюю версию компонентов Zabbix 6.0 и запускает компоненты Zabbix на CentOS 8 с поддержкой базы данных MySQL.| |`docker-compose_v3_centos_pgsql_latest.yaml`|Файл конфигурации запускает последнюю версию компонентов Zabbix 6.0 на CentOS 8 с поддержкой базы данных PostgreSQL.| |`docker-compose_v3_centos_pgsql_local.yaml`|Файл конфигурации собирает локально последнюю версию компонентов Zabbix 6.0 и запускает компоненты Zabbix на CentOS 8 с поддержкой базы данных PostgreSQL.| |`docker-compose_v3_ubuntu_mysql_latest.yaml`|Файл конфигурации запускает последнюю версию компонентов Zabbix 6.0 на Ubuntu 20.04 с поддержкой базы данных MySQL.| |`docker-compose_v3_ubuntu_mysql_local.yaml`|Файл конфигурации собирает локально последнюю версию компонентов Zabbix 6.0 и запускает компоненты Zabbix на Ubuntu 20.04 с поддержкой базы данных MySQL.| |`docker-compose_v3_ubuntu_pgsql_latest.yaml`|Файл конфигурации запускает последнюю версию компонентов Zabbix 6.0 на Ubuntu 20.04 с поддержкой базы данных PostgreSQL.| |`docker-compose_v3_ubuntu_pgsql_local.yaml`|Файл конфигурации собирает локально последнюю версию компонентов Zabbix 6.0 и запускает компоненты Zabbix на Ubuntu 20.04 с поддержкой базы данных PostgreSQL.|  ::: noteimportant Доступные Docker файлы конфигурации поддерживают версию 3 Docker Compose. :::

en-us	#### Docker file sources  Everyone can follow Docker file changes using the Zabbix [official repository](https://github.com/zabbix/zabbix-docker) on [github.com](https://github.com/). You can fork the project or make your own images based on official Docker files.
ru	#### Исходные файлы Docker  Каждый может следить на изменениями в Docker файлах, используя [официальный репозиторий](https://github.com/zabbix/zabbix-docker) Zabbix на [github.com](https://github.com/). Вы можете создавать ответвления от проекта или свои собственные образы на основе официальных Docker файлов.

en-us	 ### Docker  |Key|<|<|<| |--|--|------|------| |**Description**|**Return value**|**Parameters**|**Comments**| |docker.container\_info\[<ID>,<info>\]|<|<|<| |Low-level information about a container.|An output of the [ContainerInspect](https://docs.docker.com/engine/api/v1.28/#operation/ContainerInspect) API call serialized as JSON|**ID** - ID or name of the container.<br>**info** - the amount of information returned. Supported values: *short* (default) or *full*.|The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.container\_stats\[<ID>\]|<|<|<| |Container resource usage statistics.|An output of the [ContainerStats](https://docs.docker.com/engine/api/v1.28/#operation/ContainerStats) API call and CPU usage percentage serialized as JSON|**ID** - ID or name of the container.| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.containers|<|<|<| |A list of containers.|An output of the [ContainerList](https://docs.docker.com/engine/api/v1.28/#operation/ContainerList) API call serialized as JSON|\-| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.containers.discovery\[<options>\]|<|<|<| |A list of containers. Used for [low-level discovery](/manual/discovery/low_level_discovery/).|JSON object |**options** - specifies whether all or only running containers should be discovered. Supported values:<br>*true* - return all containers;<br>*false* - return only running containers (default).| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.data\_usage|<|<|<| |Information about current data usage.|An output of the [SystemDataUsage](https://docs.docker.com/engine/api/v1.28/#operation/SystemDataUsage) API call serialized as JSON|\-| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.images|<|<|<| |A list of images.|An output of the [ImageList](https://docs.docker.com/engine/api/v1.28/#operation/ImageList) API call serialized as JSON|\-| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.images.discovery|<|<|<| |A list of images. Used for [low-level discovery](/manual/discovery/low_level_discovery/).|JSON object |\-| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.info|<|<|<| |System information.|An output of the [SystemInfo](https://docs.docker.com/engine/api/v1.28/#operation/SystemInfo) API call serialized as JSON|\-| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.| |docker.ping|<|<|<| |Test if a Docker daemon is alive or not.|1 - connection is alive<br><br>0 - connection is broken|\-| The Agent2 user ('zabbix') must be added to the 'docker' [group](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) for sufficient privileges. Otherwise the check will fail.|
ru	### Docker  |Ключ|<|<|<| |--|--|------|------| |**Описание**|**Возвращаемое значение**|**Параметры**|**Комментарии**| |docker.container\_info \[<ID>,<info>\]|<|<|<| |Низкоуровневая информация о контейнере.|Вывод API вызова [ContainerInspect](https://docs.docker.com/engine/api/v1.28/#operation/ContainerInspect), преобразованный в JSON|**ID** - ID или имя контейнера<br>**info** - объём возвращаемой информации. Возможные значения: *short* (по умолчанию) или *full*.|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.container\_stats \[<ID>\]|<|<|<| |Стстистика использования ресурсов контейнером.|Вывод API вызова [ContainerStats](https://docs.docker.com/engine/api/v1.28/#operation/ContainerStats) и использование CPU в процентах, преобразованные в JSON|**ID** - ID или имя контейнера|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.containers|<|<|<| |Список контейнеров.|Вывод API запроса [ContainerList](https://docs.docker.com/engine/api/v1.28/#operation/ContainerList), преобразованный в JSON|\-|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.containers.discovery\[<опции>\]|<|<|<| |Список контейнеров. Используется [низкоуровневым обнаружением](/manual/discovery/low_level_discovery/).|Объект JSON |**опции** - задает, следует ли обнаруживать все или только запущенные контейнеры. Поддерживаемые значения:<br>*true* - возвращать все контейнеры;<br>*false* - возвращать только запущенные контейнеры (по умолчанию).|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.data\_usage|<|<|<| |Информация о текущем использовании данных.|Вывод API запроса [SystemDataUsage](https://docs.docker.com/engine/api/v1.28/#operation/SystemDataUsage), преобразованный в JSON|\-|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.images|<|<|<| |Список образов.|Вывод API запроса [ImageList](https://docs.docker.com/engine/api/v1.28/#operation/ImageList), преобразованный в JSON|\-|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.images.discovery|<|<|<| |Список образов. Используется [низкоуровневым обнаружением](/manual/discovery/low_level_discovery/).|Объект JSON |\-|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.info|<|<|<| |Информация о системе.|Вывод API вызова [SystemInfo](https://docs.docker.com/engine/api/v1.28/#operation/SystemInfo), преобразованный в JSON|\-|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.| |docker.ping|<|<|<| |Проверка, активен или нет Docker демон.|1 - подключение установлено<br><br>0 - подключение разорвано|\-|Agent2 пользователь ('zabbix') должен быть добавлен в 'docker' [группу](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) для достаточных привилегий. В противном случае проверка завершится с ошибкой.|

en-us	### Docker  Zabbix provides [Docker](https://www.docker.com) images for each Zabbix component as portable and self-sufficient containers to speed up deployment and update procedure.  Zabbix components come with MySQL and PostgreSQL database support, Apache2 and Nginx web server support. These images are separated into different images.  ::: noteimportant Since Zabbix 6.0, deterministic triggers need to be created during the installation. If binary logging is enabled for MySQL/MariaDB, this requires superuser privileges or setting the variable/configuration parameter  *log_bin_trust_function_creators = 1*. See [Database creation scripts](/manual/appendix/install/db_scripts#mysql) for instructions how to set the variable.\ Note that if executing from a console, the variable will only be set temporarily and will be dropped when a Docker is restarted. In this case, keep your SQL service running, only stop zabbix-server service by running 'docker compose down zabbix-server' and then 'docker compose up -d zabbix-server'.\ Alternatively, you can set this variable in the configuration file. :::
ru	### Docker  Чтобы ускорить процедуру развёртывания и обновления, Zabbix предоставляет образы [Docker](https://www.docker.com) для каждого компонента Zabbix в виде переносимых и самодостаточных контейнеров.  Компоненты Zabbix поставляются с поддержкой баз данных MySQL и PostgreSQL, веб-серверов Apache2 и Nginx. Эти образы разделены на несколько отдельных образов.  ::: noteimportant Начиная с версии Zabbix 6.0, во время инсталяции должны быть созданы детерминированные триггеры. Если для MySQL/MariaDB включено бинарное журналирование, то это требует привилегий суперпользователя либо выставления переменной / параметра конфигурации *log_bin_trust_function_creators = 1*. Смотрите [скрипты создания базы данных](/manual/appendix/install/db_scripts#mysql) для инструкций по установке этой переменной.\ Обратите внимание, что при выполнении из консоли переменная будет выставляться только временно и будет сбрасываться при рестарте Docker-а. В этом случае сохраняйте ваш сервис SQL работающим, остановите лишь сервис zabbix-server командой 'docker compose down zabbix-server' и затем 'docker compose up -d zabbix-server'.\ В качестве альтернативы, вы можете выставить эту переменную в конфигурационном файле. :::

en-us	# drule.create
ru	# drule.create

en-us	# drule.delete
ru	# drule.delete

en-us	# drule.get
ru	# drule.get

en-us	# drule.update
ru	# drule.update

en-us	# dservice.get
ru	# dservice.get

en-us	#### - Dummy module  Zabbix includes a sample module written in C language. The module is located under src/modules/dummy:      alex@alex:~trunk/src/modules/dummy$ ls -l     -rw-rw-r-- 1 alex alex 9019 Apr 24 17:54 dummy.c     -rw-rw-r-- 1 alex alex   67 Apr 24 17:54 Makefile     -rw-rw-r-- 1 alex alex  245 Apr 24 17:54 README  The module is well documented, it can be used as a template for your own modules.  After ./configure has been run in the root of Zabbix source tree as described above, just run **make** in order to build **dummy.so**.  ``` {.c} /* ** Zabbix ** Copyright (C) 2001-2020 Zabbix SIA ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. **/  #include <stdlib.h> #include <string.h> #include <time.h> #include <stdint.h>  #include "module.h"  /* the variable keeps timeout setting for item processing */ static int  item_timeout = 0;  /* module SHOULD define internal functions as static and use a naming pattern different from Zabbix internal */ /* symbols (zbx_*) and loadable module API functions (zbx_module_*) to avoid conflicts                       */ static int  dummy_ping(AGENT_REQUEST *request, AGENT_RESULT *result); static int  dummy_echo(AGENT_REQUEST *request, AGENT_RESULT *result); static int  dummy_random(AGENT_REQUEST *request, AGENT_RESULT *result);  static ZBX_METRIC keys[] = /*  KEY         FLAG        FUNCTION    TEST PARAMETERS */ {     {"dummy.ping",      0,      dummy_ping, NULL},     {"dummy.echo",      CF_HAVEPARAMS,  dummy_echo, "a message"},     {"dummy.random",    CF_HAVEPARAMS,  dummy_random,   "1,1000"},     {NULL} };  /******************************************************************************  *                                                                            *  * Function: zbx_module_api_version                                           *  *                                                                            *  * Purpose: returns version number of the module interface                    *  *                                                                            *  * Return value: ZBX_MODULE_API_VERSION - version of module.h module is       *  *               compiled with, in order to load module successfully Zabbix   *  *               MUST be compiled with the same version of this header file   *  *                                                                            *  ******************************************************************************/ int zbx_module_api_version(void) {     return ZBX_MODULE_API_VERSION; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_item_timeout                                          *  *                                                                            *  * Purpose: set timeout value for processing of items                         *  *                                                                            *  * Parameters: timeout - timeout in seconds, 0 - no timeout set               *  *                                                                            *  ******************************************************************************/ void    zbx_module_item_timeout(int timeout) {     item_timeout = timeout; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_item_list                                             *  *                                                                            *  * Purpose: returns list of item keys supported by the module                 *  *                                                                            *  * Return value: list of item keys                                            *  *                                                                            *  ******************************************************************************/ ZBX_METRIC  *zbx_module_item_list(void) {     return keys; }  static int  dummy_ping(AGENT_REQUEST *request, AGENT_RESULT *result) {     SET_UI64_RESULT(result, 1);      return SYSINFO_RET_OK; }  static int  dummy_echo(AGENT_REQUEST *request, AGENT_RESULT *result) {     char    *param;      if (1 != request->nparam)     {         /* set optional error message */         SET_MSG_RESULT(result, strdup("Invalid number of parameters."));         return SYSINFO_RET_FAIL;     }      param = get_rparam(request, 0);      SET_STR_RESULT(result, strdup(param));      return SYSINFO_RET_OK; }  /******************************************************************************  *                                                                            *  * Function: dummy_random                                                     *  *                                                                            *  * Purpose: a main entry point for processing of an item                      *  *                                                                            *  * Parameters: request - structure that contains item key and parameters      *  *              request->key - item key without parameters                    *  *              request->nparam - number of parameters                        *  *              request->params[N-1] - pointers to item key parameters        *  *              request->types[N-1] - item key parameters types:              *  *                  REQUEST_PARAMETER_TYPE_UNDEFINED (key parameter is empty) *  *                  REQUEST_PARAMETER_TYPE_ARRAY (array)                      *  *                  REQUEST_PARAMETER_TYPE_STRING (quoted or unquoted string) *  *                                                                            *  *             result - structure that will contain result                    *  *                                                                            *  * Return value: SYSINFO_RET_FAIL - function failed, item will be marked      *  *                                 as not supported by zabbix                 *  *               SYSINFO_RET_OK - success                                     *  *                                                                            *  * Comment: get_rparam(request, N-1) can be used to get a pointer to the Nth  *  *          parameter starting from 0 (first parameter). Make sure it exists  *  *          by checking value of request->nparam.                             *  *          In the same manner get_rparam_type(request, N-1) can be used to   *  *          get a parameter type.                                             *  *                                                                            *  ******************************************************************************/ static int  dummy_random(AGENT_REQUEST *request, AGENT_RESULT *result) {     char    *param1, *param2;     int from, to;      if (2 != request->nparam)     {         /* set optional error message */         SET_MSG_RESULT(result, strdup("Invalid number of parameters."));         return SYSINFO_RET_FAIL;     }      param1 = get_rparam(request, 0);     param2 = get_rparam(request, 1);      /* there is no strict validation of parameters and types for simplicity sake */     from = atoi(param1);     to = atoi(param2);      if (from > to)     {         SET_MSG_RESULT(result, strdup("Invalid range specified."));         return SYSINFO_RET_FAIL;     }      SET_UI64_RESULT(result, from + rand() % (to - from + 1));      return SYSINFO_RET_OK; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_init                                                  *  *                                                                            *  * Purpose: the function is called on agent startup                           *  *          It should be used to call any initialization routines             *  *                                                                            *  * Return value: ZBX_MODULE_OK - success                                      *  *               ZBX_MODULE_FAIL - module initialization failed               *  *                                                                            *  * Comment: the module won't be loaded in case of ZBX_MODULE_FAIL             *  *                                                                            *  ******************************************************************************/ int zbx_module_init(void) {     /* initialization for dummy.random */     srand(time(NULL));      return ZBX_MODULE_OK; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_uninit                                                *  *                                                                            *  * Purpose: the function is called on agent shutdown                          *  *          It should be used to cleanup used resources if there are any      *  *                                                                            *  * Return value: ZBX_MODULE_OK - success                                      *  *               ZBX_MODULE_FAIL - function failed                            *  *                                                                            *  ******************************************************************************/ int zbx_module_uninit(void) {     return ZBX_MODULE_OK; }  /******************************************************************************  *                                                                            *  * Functions: dummy_history_float_cb                                          *  *            dummy_history_integer_cb                                        *  *            dummy_history_string_cb                                         *  *            dummy_history_text_cb                                           *  *            dummy_history_log_cb                                            *  *                                                                            *  * Purpose: callback functions for storing historical data of types float,    *  *          integer, string, text and log respectively in external storage    *  *                                                                            *  * Parameters: history     - array of historical data                         *  *             history_num - number of elements in history array              *  *                                                                            *  ******************************************************************************/ static void dummy_history_float_cb(const ZBX_HISTORY_FLOAT *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_integer_cb(const ZBX_HISTORY_INTEGER *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_string_cb(const ZBX_HISTORY_STRING *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_text_cb(const ZBX_HISTORY_TEXT *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_log_cb(const ZBX_HISTORY_LOG *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  /******************************************************************************  *                                                                            *  * Function: zbx_module_history_write_cbs                                     *  *                                                                            *  * Purpose: returns a set of module functions Zabbix will call to export      *  *          different types of historical data                                *  *                                                                            *  * Return value: structure with callback function pointers (can be NULL if    *  *               module is not interested in data of certain types)           *  *                                                                            *  ******************************************************************************/ ZBX_HISTORY_WRITE_CBS   zbx_module_history_write_cbs(void) {     static ZBX_HISTORY_WRITE_CBS    dummy_callbacks =     {         dummy_history_float_cb,         dummy_history_integer_cb,         dummy_history_string_cb,         dummy_history_text_cb,         dummy_history_log_cb,     };      return dummy_callbacks; } ```  The module exports three new items:  -   `dummy.ping` - always returns '1' -   `dummy.echo[param1]` - returns the first parameter as it is, for     example, `dummy.echo[ABC]` will return ABC -   `dummy.random[param1, param2]` - returns a random number within the     range of param1-param2, for example, `dummy.random[1,1000000]`
ru	#### - Пустой модуль  Zabbix включает простой модуль, написанный на языке С. Модуль находится в src/modules/dummy:      alex@alex:~trunk/src/modules/dummy$ ls -l     -rw-rw-r-- 1 alex alex 9019 Apr 24 17:54 dummy.c     -rw-rw-r-- 1 alex alex   67 Apr 24 17:54 Makefile     -rw-rw-r-- 1 alex alex  245 Apr 24 17:54 README  Модуль хорошо документирован, его можно использовать как шаблон для ваших собственных модулей.  После выполнения ./configure в корне дерева исходных кодов Zabbix, как описано ранее, просто выполните **make** для сборки **dummy.so**.  ``` {.c} /* ** Zabbix ** Copyright (C) 2001-2020 Zabbix SIA ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation; either version 2 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program; if not, write to the Free Software ** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA. **/  #include <stdlib.h> #include <string.h> #include <time.h> #include <stdint.h>  #include "module.h"  /* the variable keeps timeout setting for item processing */ static int  item_timeout = 0;  /* module SHOULD define internal functions as static and use a naming pattern different from Zabbix internal */ /* symbols (zbx_*) and loadable module API functions (zbx_module_*) to avoid conflicts                       */ static int  dummy_ping(AGENT_REQUEST *request, AGENT_RESULT *result); static int  dummy_echo(AGENT_REQUEST *request, AGENT_RESULT *result); static int  dummy_random(AGENT_REQUEST *request, AGENT_RESULT *result);  static ZBX_METRIC keys[] = /*  KEY         FLAG        FUNCTION    TEST PARAMETERS */ {     {"dummy.ping",      0,      dummy_ping, NULL},     {"dummy.echo",      CF_HAVEPARAMS,  dummy_echo, "a message"},     {"dummy.random",    CF_HAVEPARAMS,  dummy_random,   "1,1000"},     {NULL} };  /******************************************************************************  *                                                                            *  * Function: zbx_module_api_version                                           *  *                                                                            *  * Purpose: returns version number of the module interface                    *  *                                                                            *  * Return value: ZBX_MODULE_API_VERSION - version of module.h module is       *  *               compiled with, in order to load module successfully Zabbix   *  *               MUST be compiled with the same version of this header file   *  *                                                                            *  ******************************************************************************/ int zbx_module_api_version(void) {     return ZBX_MODULE_API_VERSION; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_item_timeout                                          *  *                                                                            *  * Purpose: set timeout value for processing of items                         *  *                                                                            *  * Parameters: timeout - timeout in seconds, 0 - no timeout set               *  *                                                                            *  ******************************************************************************/ void    zbx_module_item_timeout(int timeout) {     item_timeout = timeout; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_item_list                                             *  *                                                                            *  * Purpose: returns list of item keys supported by the module                 *  *                                                                            *  * Return value: list of item keys                                            *  *                                                                            *  ******************************************************************************/ ZBX_METRIC  *zbx_module_item_list(void) {     return keys; }  static int  dummy_ping(AGENT_REQUEST *request, AGENT_RESULT *result) {     SET_UI64_RESULT(result, 1);      return SYSINFO_RET_OK; }  static int  dummy_echo(AGENT_REQUEST *request, AGENT_RESULT *result) {     char    *param;      if (1 != request->nparam)     {         /* set optional error message */         SET_MSG_RESULT(result, strdup("Invalid number of parameters."));         return SYSINFO_RET_FAIL;     }      param = get_rparam(request, 0);      SET_STR_RESULT(result, strdup(param));      return SYSINFO_RET_OK; }  /******************************************************************************  *                                                                            *  * Function: dummy_random                                                     *  *                                                                            *  * Purpose: a main entry point for processing of an item                      *  *                                                                            *  * Parameters: request - structure that contains item key and parameters      *  *              request->key - item key without parameters                    *  *              request->nparam - number of parameters                        *  *              request->params[N-1] - pointers to item key parameters        *  *              request->types[N-1] - item key parameters types:              *  *                  REQUEST_PARAMETER_TYPE_UNDEFINED (key parameter is empty) *  *                  REQUEST_PARAMETER_TYPE_ARRAY (array)                      *  *                  REQUEST_PARAMETER_TYPE_STRING (quoted or unquoted string) *  *                                                                            *  *             result - structure that will contain result                    *  *                                                                            *  * Return value: SYSINFO_RET_FAIL - function failed, item will be marked      *  *                                 as not supported by zabbix                 *  *               SYSINFO_RET_OK - success                                     *  *                                                                            *  * Comment: get_rparam(request, N-1) can be used to get a pointer to the Nth  *  *          parameter starting from 0 (first parameter). Make sure it exists  *  *          by checking value of request→nparam.                             *  *          In the same manner get_rparam_type(request, N-1) can be used to   *  *          get a parameter type.                                             *  *                                                                            *  ******************************************************************************/ static int  dummy_random(AGENT_REQUEST *request, AGENT_RESULT *result) {     char    *param1, *param2;     int from, to;      if (2 != request->nparam)     {         /* set optional error message */         SET_MSG_RESULT(result, strdup("Invalid number of parameters."));         return SYSINFO_RET_FAIL;     }      param1 = get_rparam(request, 0);     param2 = get_rparam(request, 1);      /* there is no strict validation of parameters and types for simplicity sake */     from = atoi(param1);     to = atoi(param2);      if (from > to)     {         SET_MSG_RESULT(result, strdup("Invalid range specified."));         return SYSINFO_RET_FAIL;     }      SET_UI64_RESULT(result, from + rand() % (to - from + 1));      return SYSINFO_RET_OK; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_init                                                  *  *                                                                            *  * Purpose: the function is called on agent startup                           *  *          It should be used to call any initialization routines             *  *                                                                            *  * Return value: ZBX_MODULE_OK - success                                      *  *               ZBX_MODULE_FAIL - module initialization failed               *  *                                                                            *  * Comment: the module won't be loaded in case of ZBX_MODULE_FAIL             *  *                                                                            *  ******************************************************************************/ int zbx_module_init(void) {     /* initialization for dummy.random */     srand(time(NULL));      return ZBX_MODULE_OK; }  /******************************************************************************  *                                                                            *  * Function: zbx_module_uninit                                                *  *                                                                            *  * Purpose: the function is called on agent shutdown                          *  *          It should be used to cleanup used resources if there are any      *  *                                                                            *  * Return value: ZBX_MODULE_OK - success                                      *  *               ZBX_MODULE_FAIL - function failed                            *  *                                                                            *  ******************************************************************************/ int zbx_module_uninit(void) {     return ZBX_MODULE_OK; }  /******************************************************************************  *                                                                            *  * Functions: dummy_history_float_cb                                          *  *            dummy_history_integer_cb                                        *  *            dummy_history_string_cb                                         *  *            dummy_history_text_cb                                           *  *            dummy_history_log_cb                                            *  *                                                                            *  * Purpose: callback functions for storing historical data of types float,    *  *          integer, string, text and log respectively in external storage    *  *                                                                            *  * Parameters: history     - array of historical data                         *  *             history_num - number of elements in history array              *  *                                                                            *  ******************************************************************************/ static void dummy_history_float_cb(const ZBX_HISTORY_FLOAT *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_integer_cb(const ZBX_HISTORY_INTEGER *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_string_cb(const ZBX_HISTORY_STRING *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_text_cb(const ZBX_HISTORY_TEXT *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  static void dummy_history_log_cb(const ZBX_HISTORY_LOG *history, int history_num) {     int i;      for (i = 0; i < history_num; i++)     {         /* do something with history[i].itemid, history[i].clock, history[i].ns, history[i].value, ... */     } }  /******************************************************************************  *                                                                            *  * Function: zbx_module_history_write_cbs                                     *  *                                                                            *  * Purpose: returns a set of module functions Zabbix will call to export      *  *          different types of historical data                                *  *                                                                            *  * Return value: structure with callback function pointers (can be NULL if    *  *               module is not interested in data of certain types)           *  *                                                                            *  ******************************************************************************/ ZBX_HISTORY_WRITE_CBS   zbx_module_history_write_cbs(void) {     static ZBX_HISTORY_WRITE_CBS    dummy_callbacks =     {         dummy_history_float_cb,         dummy_history_integer_cb,         dummy_history_string_cb,         dummy_history_text_cb,         dummy_history_log_cb,     };      return dummy_callbacks; } ```  Модуль экпортирует 3 новых элемента данных:  -   `dummy.ping` - всегда возвращает '1' -   `dummy.echo[param1]` - возвращает первый параметр как есть, например, `dummy.echo[ABC]` вернет ABC -   `dummy.random[param1, param2]` - возвращает случайное число из диапазона param1-param2, например, `dummy.random[1,1000000]`

en-us	#### Dynamic widgets  When [configuring](/manual/web_interface/frontend_sections/monitoring/dashboard/widgets) some of the widgets:  -   Classic graph -   Graph prototype -   Item value -   Plain text -   URL  there is an extra option called *Dynamic item*. You can check this box to make the widget dynamic - i.e. capable of displaying different content based on the selected host.  Now, when saving the dashboard, you will notice that a new host selection field has appeared atop the dashboard for selecting the host (while the *Select* button allows selecting the host group in a popup):  ![](../../../../../assets/en/manual/web_interface/frontend_sections/monitoring/dynamic_selection.png)  Thus you have a widget, which can display content that is based on the data from the host that is selected. The benefit of this is that you do not need to create extra widgets just because, for example, you want to see the same graphs containing data from various hosts.
ru	#### Динамические виджеты  При [настройке](/manual/web_interface/frontend_sections/monitoring/dashboard/widgets) некоторых виджетов:  -   График (классический) -   Прототип графика -   Значение элемента данных -   Простой текст -   URL  имеется дополнительная опция под названием *Динамический элемент*. Вы можете установить этот флажок, чтобы сделать виджет динамическим - то есть, способным отображать различное содержимое в зависимости от выбранного узла сети.  Тогда после сохранения панели вы заметите, что в верхней части панели появилось новое поле для выбора узла сети (нажатие на кнопку *Выбрать* (*Select*) позволяет выбрать группу узлов сети во всплывающем окне):  ![](../../../../../assets/en/manual/web_interface/frontend_sections/monitoring/dynamic_selection.png)  Таким образом, у вас есть виджет, способный отображать содержимое на основании данных с выбранного узла сети. Преимущество этого в том, что вам не нужно создавать дополнительные виджеты только потому что, например, вы хотите видеть такие же графики, содержащие данные с разных узлов сети.

en-us	#### Easy Connect  Easy Connect uses the following parameters to connect to the database:  -   *Host* - the host name or IP address of the database server computer     (DBHost parameter in the configuration file). -   *Port* - the listening port on the database server (DBPort parameter     in the configuration file; if not set the default 1521 port will be     used). -   <service\_name> - the service name of the database you want to     access (DBName parameter in the configuration file).  **Example:**  Database parameters set in the server or proxy configuration file (zabbix\_server.conf and zabbix\_proxy.conf):      DBHost=localhost     DBPort=1521     DBUser=myusername     DBName=ORCL     DBPassword=mypassword  Connection string used by Zabbix to establish connection:      DBUser/DBPassword@DBHost:DBPort/DBName  During Zabbix frontend installation, set the corresponding parameters in the *Configure DB connection* step of the setup wizard:  -   Database host: localhost -   Database port: 1521 -   Database name: ORCL -   User: myusername -   Password: mypassword  ![](../../../../assets/en/manual/appendix/install/oracle_easy_connect.png){width="600"}  Alternatively, these parameters can be set in the frontend configuration file (zabbix.conf.php):      $DB["TYPE"]                     = 'ORACLE';     $DB["SERVER"]                   = 'localhost';     $DB["PORT"]             = '1521';     $DB["DATABASE"]                 = 'ORCL';     $DB["USER"]                     = 'myusername';     $DB["PASSWORD"]                 = 'mypassword';
ru	#### Лёгкое подключение (Easy Connect)  Лёгкое подключение использует следующие параметры для подключения к базе данных:  -   *Host* - имя хоста или IP адрес компьютера с сервером базы данных     (параметр DBHost в файле конфигурации). -   *Port* - порт, открытый на сервере баз данных (параметр DBPort     в файле конфигурации; если не задан, то по умолчанию используется порт 1521). -   <service\_name> - имя службы базы данных, к которой Вы хотите иметь     доступ (параметр DBName в файле конфигурации).  **Пример:**  Параметры базы данных заданы в файле конфигурации сервера или прокси (zabbix\_server.conf либо zabbix\_proxy.conf):      DBHost=localhost     DBPort=1521     DBUser=myusername     DBName=ORCL     DBPassword=mypassword  Строка подключения, используемая Zabbix-ом, чтобы установить соединение:      DBUser/DBPassword@DBHost:DBPort/DBName  Во время установки веб-интерфейса Zabbix, задайте соответствующие параметры на шаге *Настройка соединения с базой данных* помощника по установке:  -   Хост базы данных: localhost -   Порт базы данных: 1521 -   Имя базы данных: ORCL -   Пользователь: myusername -   Пароль: mypassword  ![](../../../../assets/en/manual/appendix/install/oracle_easy_connect.png){width="600"}  Альтернативный способ - эти параметры можно задать в файле конфигурации веб-интерфейса (zabbix.conf.php):      $DB["TYPE"]                     = 'ORACLE';     $DB["SERVER"]                   = 'localhost';     $DB["PORT"]             = '1521';     $DB["DATABASE"]                 = 'ORCL';     $DB["USER"]                     = 'myusername';     $DB["PASSWORD"]                 = 'mypassword';

en-us	##### Editing linked entities  If you try to edit an item or trigger that was linked from the template, you may realize that many key options are disabled for editing. This makes sense as the idea of templates is that things are edited in one-touch manner on the template level. However, you still can, for example, enable/disable an item on the individual host and set the update interval, history length and some other parameters.  ::: noteimportant Any customizations to the entities implemented on a template-level will override the previous customizations of the entities on a host-level. :::  If you want to edit the entity fully, you have to edit it on the template level (template level shortcut is displayed in the form name), keeping in mind that these changes will affect all hosts that have this template linked to them.
ru	##### Изменение соединенных объектов  Если вы попытаетесь изменить элемент данных или триггер, который присоединён из шаблона, вы можете увидеть, что многие ключевые опции недоступны для редактирования. Такой подход имеет смысл, так как идея шаблонов - чтобы изменять объекты в одно касание на уровне шаблона. Тем не менее, вы всё ещё можете, например, активировать/деактивировать элемент данных на отдельном узле сети, указать интервал обновления, срок хранения истории и некоторые другие параметры.  ::: noteimportant Любые настройки объектов, реализованные на уровне шаблона, перезапишут ранее сделанные настройки этих объектов на уровне узлов сети. :::  Если вы хотите изменить полностью объект, вы должны отредактировать его на уровне шаблона (ссылка на уровень шаблона отображается в имени диалога), но имейте ввиду, что все эти изменения будут влиять на все узлы сети, которые соединены с этим шаблоном.

en-us	### Editing services  Click on the *Edit* button to access the edit mode. When in edit mode, the listing  is complemented with checkboxes before the entries and also these additional options:  -   ![](../../../../../assets/en/manual/web_interface/add_service.png) -     add a child service to this service -   ![](../../../../../assets/en/manual/web_interface/edit_service.png) -     edit this service -   ![](../../../../../assets/en/manual/web_interface/delete_service.png) -     delete this service  ![](../../../../../assets/en/manual/web_interface/services_edit.png){width="600"}  To [configure](/manual/it_services/service_tree#service-configuration) a new service, click on the *Create service* button in the top right-hand corner.
ru	### Изменение услуг  Нажмите на кнопку *Изменить (Edit)*, чтобы перейти в режим редактирования. В режиме редактирования список дополнен флажками перед записями, а также дополнительными опциями:  -   ![](../../../../../assets/en/manual/web_interface/add_service.png) —     добавить к данной услуге дочернюю -   ![](../../../../../assets/en/manual/web_interface/edit_service.png) —     редактировать данную услугу -   ![](../../../../../assets/en/manual/web_interface/delete_service.png) —     удалить данную услугу  ![](../../../../../assets/en/manual/web_interface/services_edit.png){width="600"}  Для [настройки](/manual/it_services/service_tree#настройка-услуги) новой услуги нажмите на кнопку *Создать услугу (Create service)* в правом верхнем углу.

en-us	##### Element configuration
ru	##### Настройка элемента

en-us	#### Element tags  Element tag values are explained in the table below.
ru	#### Теги элементов  Значения тегов элементов описаны в таблице ниже.

en-us	#### Element tags  Element tag values are explained in the table below.
ru	#### Теги элементов  Значения тегов элементов описаны в таблице ниже.

en-us	#### Element tags  Element tag values are explained in the table below.  |Element|Element property|Required|Type|Range^**[1](#footnotes)**^|Description| |--|--|-|--|----|--------| |media\_types| |\-| | |Root element for media\_types.| | |name|x|`string`| |Media type name.| | |type|x|`string`|0 - EMAIL<br>1 - SMS<br>2 - SCRIPT<br>4 - WEBHOOK|Transport used by the media type.| | |status|\-|`string`|0 - ENABLED (default)<br>1 - DISABLED|Whether the media type is enabled.| | |max\_sessions|\-|`integer`|Possible values for SMS: 1 - (default)<br><br>Possible values for other media types: 0-100, 0 - unlimited|The maximum number of alerts that can be processed in parallel.| | |attempts|\-|`integer`|1-10 (default: 3)|The maximum number of attempts to send an alert.| | |attempt\_interval|\-|`string`|0-60s (default: 10s)|The interval between retry attempts.<br><br>Accepts seconds and time unit with suffix.| | |description|\-|`string`| |Media type description.| |message\_templates| |\-| | |Root element for media type message templates.| | |event\_source|x|`string`|0 - TRIGGERS<br>1 - DISCOVERY<br>2 - AUTOREGISTRATION<br>3 - INTERNAL<br>4 - SERVICE|Event source.| | |operation\_mode|x|`string`|0 - PROBLEM<br>1 - RECOVERY<br>2 - UPDATE|Operation mode.| | |subject|\-|`string`| |Message subject.| | |message|\-|`string`| |Message body.| |*Used only by email media type*|<|<|<|<|<| | |smtp\_server|x|`string`| |SMTP server.| | |smtp\_port|\-|`integer`|Default: 25|SMTP server port to connect to.| | |smtp\_helo|x|`string`| |SMTP helo.| | |smtp\_email|x|`string`| |Email address from which notifications will be sent.| | |smtp\_security|\-|`string`|0 - NONE (default)<br>1 - STARTTLS<br>2 - SSL\_OR\_TLS|SMTP connection security level to use.| | |smtp\_verify\_host|\-|`string`|0 - NO (default)<br>1 - YES|SSL verify host for SMTP. Optional if smtp\_security is STARTTLS or SSL\_OR\_TLS.| | |smtp\_verify\_peer|\-|`string`|0 - NO (default)<br>1 - YES|SSL verify peer for SMTP. Optional if smtp\_security is STARTTLS or SSL\_OR\_TLS.| | |smtp\_authentication|\-|`string`|0 - NONE (default)<br>1 - PASSWORD|SMTP authentication method to use.| | |username|\-|`string`| |Username.| | |password|\-|`string`| |Authentication password.| | |content\_type|\-|`string`|0 - TEXT<br>1 - HTML (default)|Message format.| |*Used only by SMS media type*|<|<|<|<|<| | |gsm\_modem|x|`string`| |Serial device name of the GSM modem.| |*Used only by script media type*|<|<|<|<|<| | |script name|x|`string`| |Script name.| |parameters| |\-| | |Root element for script parameters.| |*Used only by webhook media type*|<|<|<|<|<| | |script|x|`string`| |Script.| | |timeout|\-|`string`|1-60s (default: 30s)|Javascript script HTTP request timeout interval.| | |process\_tags|\-|`string`|0 - NO (default)<br>1 - YES|Whether to process returned tags.| | |show\_event\_menu|\-|`string`|0 - NO (default)<br>1 - YES|If {EVENT.TAGS.\*} were successfully resolved in event\_menu\_url and event\_menu\_name fields, this field indicates presence of entry in the event menu.| | |event\_menu\_url|\-|`string`| |URL of the event menu entry. Supports {EVENT.TAGS.\*} macro.| | |event\_menu\_name|\-|`string`| |Name of the event menu entry. Supports {EVENT.TAGS.\*} macro.| |parameters| |\-| | |Root element for webhook media type parameters.| | |name|x|`string`| |Webhook parameter name.| | |value|\-|`string`| |Webhook parameter value.|
ru	#### Теги элементов  Значения тегов элементов описаны в таблице ниже.  |Элемент|Свойство элемента|Обязательный|Тип|Диапазон^**[1](#примечания)**^|Описание| |--|--|-|--|----|--------| |media\_types| |\-| | |Корневой элемент способов оповещений.| | |name|x|`строка`| |Имя способа оповещения.| | |type|x|`строка`|0 - EMAIL<br>1 - SMS<br>2 - SCRIPT<br>4 - WEBHOOK|Транспорт, используемый способом оповещения.| | |status|\-|`строка`|0 - ENABLED (по умолчанию)<br>1 - DISABLED|Активирован ли способ оповещения.| | |max\_sessions|\-|`целое число`|Допустимые значения для SMS: 1 - (по умолчанию)<br><br>Допустимые значения для остальных способов оповещения: 0-100, 0 - без ограничений|Максимальное количество уведомлений, которые могут обрабатываться параллельно.| | |attempts|\-|`целое число`|1-10 (по умолчанию: 3)|Максимальное количество попыток отослать уведомление.| | |attempt\_interval|\-|`строка`|0-60s (по умолчанию: 10s)|Интервал между повторными попытками.<br><br>Принимаются секунды и единицы времени с суффиксом.| | |description|\-|`строка`| |Описание способа оповещения.| |message\_templates| |\-| | |Корневой элемент шаблонов сообщения способа оповещения.| | |event\_source|x|`строка`|0 - TRIGGERS<br>1 - DISCOVERY<br>2 - AUTOREGISTRATION<br>3 - INTERNAL<br>4 - SERVICE|Источник события.| | |operation\_mode|x|`строка`|0 - PROBLEM<br>1 - RECOVERY<br>2 - UPDATE|Режим работы.| | |subject|\-|`строка`| |Тема сообщения.| | |message|\-|`строка`| |Текст сообщения.| |*Используется только для способа оповещения Email*|<|<|<|<|<| | |smtp\_server|x|`строка`| |SMTP сервер.| | |smtp\_port|\-|`целое число`|По умолчанию: 25|Порт SMTP сервера для подключения.| | |smtp\_helo|x|`строка`| |SMTP helo.| | |smtp\_email|x|`строка`| |Email адрес, от имени которого отсылаются оповещения.| | |smtp\_security|\-|`строка`|0 - NONE (по умолчанию)<br>1 - STARTTLS<br>2 - SSL\_OR\_TLS|Уровень безопасности, который надо использовать для SMTP соединения.| | |smtp\_verify\_host|\-|`строка`|0 - NO (по умолчанию)<br>1 - YES|SSL проверка хоста для SMTP. Опционально, если smtp\_security выставлено в STARTTLS или SSL\_OR\_TLS.| | |smtp\_verify\_peer|\-|`строка`|0 - NO (по умолчанию)<br>1 - YES|SSL проверка сервера для SMTP. Опционально, если smtp\_security выставлено в STARTTLS или SSL\_OR\_TLS.| | |smtp\_authentication|\-|`строка`|0 - NONE (по умолчанию)<br>1 - PASSWORD|Метод аутентификации, который следует использовать для SMTP.| | |username|\-|`строка`| |Имя пользователя.| | |password|\-|`строка`| |Пароль аутентификации.| | |content\_type|\-|`строка`|0 - TEXT<br>1 - HTML (по умолчанию)|Формат сообщения.| |*Используется только для способа оповещения SMS*|<|<|<|<|<| | |gsm\_modem|x|`строка`| |Имя последовательного устройства модема GSM.| |*Используется только для способа оповещения Скрипт*|<|<|<|<|<| | |script name|x|`строка`| |Имя скрипта.| |parameters| |\-| | |Корневой элемент параметров скрипта.| |*Используется только для способа оповещения Вебхук*|<|<|<|<|<| | |script|x|`строка`| |Скрипт.| | |timeout|\-|`строка`|1-60s (по умолчанию: 30s)|Время ожидания запроса HTTP при выполнении скрипта JavaScript.| | |process\_tags|\-|`строка`|0 - NO (по умолчанию)<br>1 - YES|Обрабатывать ли возвращаемые теги.| | |show\_event\_menu|\-|`строка`|0 - NO (по умолчанию)<br>1 - YES|Если {EVENT.TAGS.\*} были успешно раскрыты в полях event\_menu\_url и event\_menu\_name, это поле означает присутствие пункта в меню события.| | |event\_menu\_url|\-|`строка`| |URL пункта меню события. Поддерживаются макросы {EVENT.TAGS.\*}.| | |event\_menu\_name|\-|`строка`| |Имя пункта меню события. Поддерживаются макросы {EVENT.TAGS.\*}.| |parameters| |\-| | |Корневой элемент параметров способа оповещений Вебхук.| | |name|x|`строка`| |Имя параметра вебхука.| | |value|\-|`строка`| |Значение параметра вебхука.|

en-us	#### Element tags  Element tag values are explained in the table below.  |Element|Element property|Type|Range|Description| |--|--|--|----|--------| |images| | | |Root element for images.| | |name|`string`| |Unique image name.| | |imagetype|`integer`|1 - image<br>2 - background|Image type.| | |encodedImage| | |Base64 encoded image.| |maps| | | |Root element for maps.| | |name|`string`| |Unique map name.| | |width|`integer`| |Map width, in pixels.| | |height|`integer`| |Map height, in pixels.| | |label\_type|`integer`|0 - label<br>1 - host IP address<br>2 - element name<br>3 - status only<br>4 - nothing|Map element label type.| | |label\_location|`integer`|0 - bottom<br>1 - left<br>2 - right<br>3 - top|Map element label location by default.| | |highlight|`integer`|0 - no<br>1 - yes|Enable icon highlighting for active triggers and host statuses.| | |expandproblem|`integer`|0 - no<br>1 - yes|Display problem trigger for elements with a single problem.| | |markelements|`integer`|0 - no<br>1 - yes|Highlight map elements that have recently changed their status.| | |show\_unack|`integer`|0 - count of all problems<br>1 - count of unacknowledged problems<br>2 - count of acknowledged and unacknowledged problems separately|Problem display.| | |severity\_min|`integer`|0 - not classified<br>1 - information<br>2 - warning<br>3 - average<br>4 - high<br>5 - disaster|Minimum trigger severity to show on the map by default.| | |show\_suppressed|`integer`|0 - no<br>1 - yes|Display problems which would otherwise be suppressed (not shown) because of host maintenance.| | |grid\_size|`integer`|20, 40, 50, 75 or 100|Cell size of a map grid in pixels, if "grid\_show=1"| | |grid\_show|`integer`|0 - yes<br>1 - no|Display a grid in map configuration.| | |grid\_align|`integer`|0 - yes<br>1 - no|Automatically align icons in map configuration.| | |label\_format|`integer`|0 - no<br>1 - yes|Use advanced label configuration.| | |label\_type\_host|`integer`|0 - label<br>1 - host IP address<br>2 - element name<br>3 - status only<br>4 - nothing<br>5 - custom label|Display as host label, if "label\_format=1"| | |label\_type\_hostgroup|`integer`|0 - label<br>2 - element name<br>3 - status only<br>4 - nothing<br>5 - custom label|Display as host group label, if "label\_format=1"| | |label\_type\_trigger|`integer`|0 - label<br>2 - element name<br>3 - status only<br>4 - nothing<br>5 - custom label|Display as trigger label, if "label\_format=1"| | |label\_type\_map|`integer`|0 - label<br>2 - element name<br>3 - status only<br>4 - nothing<br>5 - custom label|Display as map label, if "label\_format=1"| | |label\_type\_image|`integer`|0 - label<br>2 - element name<br>4 - nothing<br>5 - custom label|Display as image label, if "label\_format=1"| | |label\_string\_host|`string`| |Custom label for host elements, if "label\_type\_host=5"| | |label\_string\_hostgroup|`string`| |Custom label for host group elements, if "label\_type\_hostgroup=5"| | |label\_string\_trigger|`string`| |Custom label for trigger elements, if "label\_type\_trigger=5"| | |label\_string\_map|`string`| |Custom label for map elements, if "label\_type\_map=5"| | |label\_string\_image|`string`| |Custom label for image elements, if "label\_type\_image=5"| | |expand\_macros|`integer`|0 - no<br>1 - yes|Expand macros in labels in map configuration.| | |background|`id`| |ID of the background image (if any), if "imagetype=2"| | |iconmap|`id`| |ID of the icon mapping (if any).| |urls| | | |Used by maps or each map element.| | |name|`string`| |Link name.| | |url|`string`| |Link URL.| | |elementtype|`integer`|0 - host<br>1 - map<br>2 - trigger<br>3 - host group<br>4 - image|Map item type the link belongs to.| |selements| | | | | | |elementtype|`integer`|0 - host<br>1 - map<br>2 - trigger<br>3 - host group<br>4 - image|Map element type.| | |label|`string`| |Icon label.| | |label\_location|`integer`|-1 - use map default<br>0 - bottom<br>1 - left<br>2 - right<br>3 - top| | | |x|`integer`| |Location on the X axis.| | |y|`integer`| |Location on the Y axis.| | |elementsubtype|`integer`|0 - single host group<br>1 - all host groups|Element subtype, if "elementtype=3"| | |areatype|`integer`|0 - same as whole map<br>1 - custom size|Area size, if "elementsubtype=1"| | |width|`integer`| |Width of area, if "areatype=1"| | |height|`integer`| |Height of area, if "areatype=1"| | |viewtype|`integer`|0 - place evenly in the area|Area placement algorithm, if "elementsubtype=1"| | |use\_iconmap|`integer`|0 - no<br>1 - yes|Use icon mapping for this element. Relevant only if iconmapping is activated on map level.| | |selementid|`id`| |Unique element record ID.| | |evaltype|`integer`| |Evaluation type for tags.| |tags| | | |Problem tags (for host and host group elements). If tags are given, only problems with these tags will be displayed on the map.| | |tag|`string`| |Tag name.| | |value|`string`| |Tag value.| | |operator|`integer`| |Operator.| |elements| | | |Zabbix entities that are represented on the map (host, host group, map etc).| | |host| | | | |icon\_off| | | |Image to use when element is in 'OK' status.| |icon\_on| | | |Image to use when element is in 'Problem' status.| |icon\_disabled| | | |Image to use when element is disabled.| |icon\_maintenance| | | |Image to use when element is in maintenance.| | |name|`string`| |Unique image name.| |shapes| | | | | | |type|`integer`|0 - rectangle<br>1 - ellipse|Shape type.| | |x|`integer`| |X coordinates of the shape in pixels.| | |y|`integer`| |Y coordinates of the shape in pixels.| | |width|`integer`| |Shape width.| | |height|`integer`| |Shape height.| | |border\_type|`integer`|0 - none<br>1 - bold line<br>2 - dotted line<br>3 - dashed line|Type of the border for the shape.| | |border\_width|`integer`| |Width of the border in pixels.| | |border\_color|`string`| |Border color represented in hexadecimal code.| | |text|`string`| |Text inside of shape.| | |font|`integer`|0 - Georgia, serif<br>1 - "Palatino Linotype", "Book Antiqua", Palatino, serif<br>2 - "Times New Roman", Times, serif<br>3 - Arial, Helvetica, sans-serif<br>4 - "Arial Black", Gadget, sans-serif<br>5 - "Comic Sans MS", cursive, sans-serif<br>6 - Impact, Charcoal, sans-serif<br>7 - "Lucida Sans Unicode", "Lucida Grande", sans-serif<br>8 - Tahoma, Geneva, sans-serif<br>9 - "Trebuchet MS", Helvetica, sans-serif<br>10 - Verdana, Geneva, sans-serif<br>11 - "Courier New", Courier, monospace<br>12 - "Lucida Console", Monaco, monospace|Text font style.| | |font\_size|`integer`| |Font size in pixels.| | |font\_color|`string`| |Font color represented in hexadecimal code.| | |text\_halign|`integer`|0 - center<br>1 - left<br>2 - right|Horizontal alignment of text.| | |text\_valign|`integer`|0 - middle<br>1 - top<br>2 - bottom|Vertical alignment of text.| | |background\_color|`string`| |Background (fill) color represented in hexadecimal code.| | |zindex|`integer`| |Value used to order all shapes and lines (z-index).| |lines| | | | | | |x1|`integer`| |X coordinates of the line point 1 in pixels.| | |y1|`integer`| |Y coordinates of the line point 1 in pixels.| | |x2|`integer`| |X coordinates of the line point 2 in pixels.| | |y2|`integer`| |Y coordinates of the line point 2 in pixels.| | |line\_type|`integer`|0 - none<br>1 - bold line<br>2 - dotted line<br>3 - dashed line|Line type.| | |line\_width|`integer`| |Line width in pixels.| | |line\_color|`string`| |Line color represented in hexadecimal code.| | |zindex|`integer`| |Value used to order all shapes and lines (z-index).| |links| | | |Links between map elements.| | |drawtype|`integer`|0 - line<br>2 - bold line<br>3 - dotted line<br>4 - dashed line|Link style.| | |color|`string`| |Link color (6 symbols, hex).| | |label|`string`| |Link label.| | |selementid1|`id`| |ID of one element to connect.| | |selementid2|`id`| |ID of the other element to connect.| |linktriggers| | | |Link status indicators.| | |drawtype|`integer`|0 - line<br>2 - bold line<br>3 - dotted line<br>4 - dashed line|Link style when trigger is in the 'Problem' state.| | |color|`string`| |Link color (6 symbols, hex) when trigger is in the 'Problem' state.| |trigger| | | |Trigger used for indicating link status.| | |description|`string`| |Trigger name.| | |expression|`string`| |Trigger expression.| | |recovery\_expression|`string`| |Trigger recovery expression.|
ru	#### Теги элементов  Значения тегов элементов описаны в таблице ниже.  |Элемент|Свойство элемента|Тип|Диапазон|Описание| |--|--|--|----|--------| |images| | | |Корневой элемент изображений.| | |name|`строка`| |Unique image name.| | |imagetype|`целое число`|1 - image<br>2 - background|Тип изображения.| | |encodedImage| | |Изображение, закодированное в Base64.| |maps| | | |Корневой элемент карт сети.| | |name|`строка`| |Уникальное имя карты.| | |width|`целое число`| |Ширина карты, в пикселях.| | |height|`целое число`| |Высота карты, в пикселях.| | |label\_type|`целое число`|0 - подпись<br>1 - IP адрес узла сети<br>2 - имя элемента<br>3 - только состояние<br>4 - ничего|Тип подписи к элементам карты.| | |label\_location|`целое число`|0 - снизу<br>1 - слева<br>2 - справа<br>3 - сверху|Расположение подписи к элементам карты по умолчанию.| | |highlight|`целое число`|0 - нет<br>1 - да|Включение подсветки иконок для активных триггеров и состояний узлов сети.| | |expandproblem|`целое число`|0 - нет<br>1 - да|Отображение триггера с проблемой у элементов с одной проблемой.| | |markelements|`целое число`|0 - нет<br>1 - да|Подсветка элементов карты, которые недавно изменили свое состояние.| | |show\_unack|`целое число`|0 - количество всех проблем<br>1 - количество неподтвержденных проблем<br>2 - количество подтвержденных и неподтвержденных проблем раздельно|Отображение проблем.| | |severity\_min|`целое число`|0 - не классифицировано<br>1 - информация<br>2 - предупреждение<br>3 - средняя<br>4 - высокая<br>5 - чрезвычайная|Минимальная важность триггеров, которая отображается на карте, по умолчанию.| | |show\_suppressed|`целое число`|0 - нет<br>1 - да|Отображение проблем, которые в противном случае были бы подавлены (не показаны) по причине обслуживания узлов сети.| | |grid\_size|`целое число`|20, 40, 50, 75 или 100|Размер ячейки сетки карты в пикселях, если "grid\_show=1"| | |grid\_show|`целое число`|0 - да<br>1 - нет|Отображение сетки в настройке карты.| | |grid\_align|`целое число`|0 - да<br>1 - нет|Автоматическое выравнивание иконок в настройке карты.| | |label\_format|`целое число`|0 - нет<br>1 - да|Использование расширенной конфигурации подписей.| | |label\_type\_host|`целое число`|0 - подпись<br>1 - IP адрес узла сети<br>2 - имя элемента<br>3 - только состояние<br>4 - ничего<br>5 - пользовательская подпись|Метод отображения подписи к узлам сети, если "label\_format=1"| | |label\_type\_hostgroup|`целое число`|0 - подпись<br>2 - имя элемента<br>3 - только состояние<br>4 - ничего<br>5 - пользовательская подпись|Метод отображения подписи к группам узлов сети, если "label\_format=1"| | |label\_type\_trigger|`целое число`|0 - подпись<br>2 - имя элемента<br>3 - только состояние<br>4 - ничего<br>5 - пользовательская подпись|Метод отображения подписи к триггеров, если "label\_format=1"| | |label\_type\_map|`целое число`|0 - подпись<br>2 - имя элемента<br>3 - только состояние<br>4 - ничего<br>5 - пользовательская подпись|Метод отображения подписи к картам сети, если "label\_format=1"| | |label\_type\_image|`целое число`|0 - подпись<br>2 - имя элемента<br>4 - ничего<br>5 - пользовательская подпись|Метод отображения подписи к изображениям, если "label\_format=1"| | |label\_string\_host|`строка`| |Пользовательская подпись к элементам узлов сети, если "label\_type\_host=5"| | |label\_string\_hostgroup|`строка`| |Пользовательская подпись к элементам групп узлов сети, если "label\_type\_hostgroup=5"| | |label\_string\_trigger|`строка`| |Пользовательская подпись к элементам триггеров, если "label\_type\_trigger=5"| | |label\_string\_map|`строка`| |Пользовательская подпись к элементам карт сети, если "label\_type\_map=5"| | |label\_string\_image|`строка`| |Пользовательская подпись к элементам изображений, если "label\_type\_image=5"| | |expand\_macros|`целое число`|0 - нет<br>1 - да|Раскрытие макросов в подписях при настройке карты.| | |background|`id`| |Идентификатор фонового изображения (если имеется), если  "imagetype=2"| | |iconmap|`id`| |Идентификатор соответствия иконок (если имеется).| |urls| | | |Используется картами сети либо каждым элементом карты.| | |name|`строка`| |Имя ссылки.| | |url|`строка`| |Сама ссылка URL.| | |elementtype|`целое число`|0 - узел сети<br>1 - карта<br>2 - триггер<br>3 - группа узлов сети<br>4 - изображение|Тип элемента карты, к которому относится ссылка.| |selements| | | | | | |elementtype|`целое число`|0 - узел сети<br>1 - карта<br>2 - триггер<br>3 - группа узлов сети<br>4 - изображение|Тип элемента карты.| | |label|`строка`| |Подпись к иконке.| | |label\_location|`целое число`|-1 - использование умолчаний карты<br>0 - сниху<br>1 - слева<br>2 - справа<br>3 - сверху| | | |x|`целое число`| |Расположение на оси X.| | |y|`целое число`| |Расположение на оси Y.| | |elementsubtype|`integer`|0 - одна группа узлов сети<br>1 - все узлы сети группы|Подтип элемента, если "elementtype=3"| | |areatype|`целое число`|0 - вписать во всю карту<br>1 - пользовательский размер|Размер области, если "elementsubtype=1"| | |width|`целое число`| |Ширина области, если "areatype=1"| | |height|`целое число`| |Высота области, если "areatype=1"| | |viewtype|`целое число`|0 - располагать равномерно в области|Алгоритм расположения в области, если "elementsubtype=1"| | |use\_iconmap|`целое число`|0 - нет<br>1 - да|Использование соответствия иконок для этого элемента. Уместно только, если соответствие иконок активировано на уровне карты.| | |selementid|`id`| |Уникальный идентификатор записи элемента.| | |evaltype|`целое число`| |Тип обработки тегов.| |tags| | | |Теги проблем (для элементов узел сети и группа узлов сети). Если теги указаны, на карте будут отображаться только проблемы с этими тегами.| | |tag|`строка`| |Имя тега.| | |value|`строка`| |Значение тега.| | |operator|`целое число`| |Оператор.| |elements| | | |Zabbix объекты, которые представлены на карте (узел сети, группа узлов сети, карта и т.д.).| | |host| | | | |icon\_off| | | |Изображение, используемое, когда элемент в состоянии 'OK'.| |icon\_on| | | |Изображение, используемое, когда элемент в состоянии 'Проблема'.| |icon\_disabled| | | |Изображение, используемое, когда элемент деактивирован.| |icon\_maintenance| | | |Изображение, используемое, когда элемент в обслуживании.| | |name|`строка`| |Уникальное имя изображения.| |shapes| | | | | | |type|`целое число`|0 - прямоугольник<br>1 - эллипс|Тип фигуры.| | |x|`целое число`| |Координата X фигуры (в пикселях).| | |y|`целое число`| |Координата Y фигуры (в пикселях).| | |width|`целое число`| |Ширина фигуры.| | |height|`целое число`| |Высота фигуры.| | |border\_type|`целое число`|0 - отсутствует<br>1 - жирная линия<br>2 - точечная линия<br>3 - пунктирная линия|Тип рамки фигуры.| | |border\_width|`целое число`| |Ширина рамки в пикселях.| | |border\_color|`строка`| |Цвет рамки, представленный в виде 16-ричного кода.| | |text|`строка`| |Текст внутри фигуры.| | |font|`целое число`|0 - Georgia, serif<br>1 - "Palatino Linotype", "Book Antiqua", Palatino, serif<br>2 - "Times New Roman", Times, serif<br>3 - Arial, Helvetica, sans-serif<br>4 - "Arial Black", Gadget, sans-serif<br>5 - "Comic Sans MS", cursive, sans-serif<br>6 - Impact, Charcoal, sans-serif<br>7 - "Lucida Sans Unicode", "Lucida Grande", sans-serif<br>8 - Tahoma, Geneva, sans-serif<br>9 - "Trebuchet MS", Helvetica, sans-serif<br>10 - Verdana, Geneva, sans-serif<br>11 - "Courier New", Courier, monospace<br>12 - "Lucida Console", Monaco, monospace|Стиль шрифта для текста.| | |font\_size|`целое число`| |Размер шрифта в пикселях.| | |font\_color|`строка`| |Цвет шрифта, представленный в виде 16-ричного кода.| | |text\_halign|`целое число`|0 - по центру<br>1 - по левой стороне<br>2 - по правой стороне|Выравнивание текста по горизонтали.| | |text\_valign|`целое число`|0 - по середине<br>1 - по верхнему краю<br>2 - по нижнему краю|Выравнивание текста по вертикали.| | |background\_color|`строка`| |Цвет фона (заливки), представленный в виде 16-ричного кода.| | |zindex|`целое число`| |Значение, используемое для указания порядка всех фигур и линий (z-index).| |lines| | | | | | |x1|`целое число`| |Координата X точки 1 линии в пикселях.| | |y1|`целое число`| |Координата Y точки 1 линии в пикселях.| | |x2|`целое число`| |Координата X точки 2 линии в пикселях.| | |y2|`целое число`| |Координата Y точки 2 линии в пикселях.| | |line\_type|`целое число`|0 - отсутствует<br>1 - жирная линия<br>2 - точечная линия<br>3 - пунктирная линия|Тип линии.| | |line\_width|`целое число`| |Ширина линии в пикселях.| | |line\_color|`строка`| |Цвет линии, представленный в виде 16-ричного кода.| | |zindex|`целое число`| |Значение, используемое для указания порядка всех фигур и линий (z-index).| |links| | | |Связи между элементами карты.| | |drawtype|`целое число`|0 - линия<br>2 - жирная линия<br>3 - точечная линия<br>4 - пунктирная линия|Стиль связи.| | |color|`строка`| |Цвет связи (6 символов, hex).| | |label|`строка`| |Подпись к связи.| | |selementid1|`id`| |Идентификатор первого элемента, с которым соединена связь.| | |selementid2|`id`| |Идентификатор второго элемента, с которым соединена связь.| |linktriggers| | | |Индикаторы состояния связей.| | |drawtype|`целое число`|0 - линия<br>2 - жирная линия<br>3 - точечная линия<br>4 - пунктирная линия|Стиль связи, когда триггер в состоянии 'Проблема'.| | |color|`строка`| |Цвет связи (6 символов, hex), когда триггер в состоянии 'Проблема'.| |trigger| | | |Триггер , используемый для индикации состояния связи.| | |description|`строка`| |Имя триггера.| | |expression|`строка`| |Выражение триггера.| | |recovery\_expression|`строка`| |Выражение восстановления триггера.|

en-us	#### Email settings  Initially there are several predefined notification [delivery methods](/manual/config/notifications/media) in Zabbix. [Email](/manual/config/notifications/media/email) is one of those.  To configure email settings, go to *Administration → Media types* and click on *Email* in the list of pre-defined media types.  ![](../../../assets/en/manual/quickstart/media_types.png)  This will present us with the email settings definition form.  ![](../../../assets/en/manual/quickstart/media_type_email.png)  All mandatory input fields are marked with a red asterisk.  In the *Media type* tab, set the values of SMTP server, SMTP helo and SMTP email to the appropriate for your environment.  ::: noteclassic 'SMTP email' will be used as the 'From' address for the notifications sent from Zabbix. :::  Next, it is required to define the content of the problem message. The content is  defined by means of a message template, configured in the *Message templates* tab.  Click on *Add* to create a message template, and select *Problem* as the message type.  ![](../../../assets/en/manual/quickstart/media_type_email2.png)  Click on *Add* when ready and save the form.  Now you have configured 'Email' as a working media type. The media type must also be linked to users by defining specific delivery addresses (like we did when [configuring a new user](login#adding_user)), otherwise it will not be used.
ru	#### Настройки E-mail  Изначально в Zabbix имеется несколько предустановленных [способов доставки](/manual/config/notifications/media) оповещений. [E-mail](/manual/config/notifications/media/email) — один из них.  Для конфигурирования настроек e-mail, перейдите в *Администрирование → Способы оповещений* и нажмите на *Email* в списке предустановленных способов оповещений.  ![](../../../assets/en/manual/quickstart/media_types.png)  Отобразится диалог определения настроек e-mail.\ ![](../../../assets/en/manual/quickstart/media_type_email.png)  Все обязательные поля ввода отмечены красной звёздочкой.  На вкладке «Способ оповещений» установите значения сервера SMTP, SMTP helo и SMTP e-mail, подходящие для вашей среды.  ::: noteclassic «SMTP email» будет использоваться как адрес отправителя (поле «From:») при отправке оповещений от Zabbix. :::  Затем требуется определить содержимое сообщения о проблеме. Это содержимое определяется посредством шаблона сообщения, настраиваемого на вкладке  *Шаблоны сообщений* .  Для создания шаблона сообщения нажмите  *Добавить* и выберите *Проблема* в качестве типа сообщения.  ![](../../../assets/en/manual/quickstart/media_type_email2.png)  Когда готовы, нажмите на *Добавить* и сохраните диалог.  Теперь вы настроили «Email» как рабочий способ оповещения. Способ оповещения должен связываться с пользователями путём определения конкретных адресов доставки (как мы это делали, когда [настраивали нового пользователя](login#добавление-пользователя)), в противном случае он не будет использоваться.

en-us	#### Enabling a host  Enable host monitoring, i.e. set its status to 0.  Request:  ```json {     "jsonrpc": "2.0",     "method": "host.update",     "params": {         "hostid": "10126",         "status": 0     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10126"         ]     },     "id": 1 } ```
ru	#### Активация узла сети  Активируйте мониторинг узла сети, установив для него статус 0.  Запрос:  ```json {     "jsonrpc": "2.0",     "method": "host.update",     "params": {         "hostid": "10126",         "status": 0     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Ответ:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "10126"         ]     },     "id": 1 } ```

en-us	#### Enabling a media type  Enable a media type, that is, set its status to "0".  Request:  ```json {     "jsonrpc": "2.0",     "method": "mediatype.update",     "params": {         "mediatypeid": "6",         "status": "0"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "6"         ]     },     "id": 1 } ```
ru	#### Включение способа оповещения  Включить способа оповещения, то есть установите его статус в значение "0".  Запрос:  ```json {     "jsonrpc": "2.0",     "method": "mediatype.update",     "params": {         "mediatypeid": "6",         "status": "0"     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Ответ:  ```json {     "jsonrpc": "2.0",     "result": {         "mediatypeids": [             "6"         ]     },     "id": 1 } ```

en-us	#### Enabling an item  Enable an item, that is, set its status to "0".  Request:  ```json {     "jsonrpc": "2.0",     "method": "item.update",     "params": {         "itemid": "10092",         "status": 0     },     "auth": "700ca65537074ec963db7efabda78259",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "10092"         ]     },     "id": 1 } ```
ru	#### Включение элемента данных  Включить элемент данных, то есть установить его статус в значение "0".  Запрос:  ```json {     "jsonrpc": "2.0",     "method": "item.update",     "params": {         "itemid": "10092",         "status": 0     },     "auth": "700ca65537074ec963db7efabda78259",     "id": 1 } ```  Ответ:  ```json {     "jsonrpc": "2.0",     "result": {         "itemids": [             "10092"         ]     },     "id": 1 } ```

en-us	#### Enabling a web scenario  Enable a web scenario, that is, set its status to "0".  Request:  ```json {     "jsonrpc": "2.0",     "method": "httptest.update",     "params": {         "httptestid": "5",         "status": 0     },     "auth": "700ca65537074ec963db7efabda78259",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "httptestids": [             "5"         ]     },     "id": 1 } ```
ru	#### Включение веб-сценария  Включить веб-сценарий, то есть установить его статус в значение "0".  Запрос:  ```json {     "jsonrpc": "2.0",     "method": "httptest.update",     "params": {         "httptestid": "5",         "status": 0     },     "auth": "700ca65537074ec963db7efabda78259",     "id": 1 } ```  Ответ:  ```json {     "jsonrpc": "2.0",     "result": {         "httptestids": [             "5"         ]     },     "id": 1 } ```

en-us	#### Enabling Content Security Policy (CSP) on the web server  To protect Zabbix frontend against Cross Site Scripting (XSS), data injection, and similar attacks, we recommend enabling Content Security Policy on the web server. To do so, configure the web server to return the [HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy).  ::: noteimportant The following CSP header configuration is only for the default Zabbix frontend installation and for cases when all content originates from the site's domain (excluding subdomains). A different CSP header configuration may be required if you are, for example, configuring the [*URL*](/manual/web_interface/frontend_sections/dashboards/widgets/url) widget to display content from the site's subdomains or external domains, switching from *OpenStreetMap* to another map engine, or adding external CSS or widgets. :::  To enable CSP for your Zabbix frontend in Apache configuration, follow these steps:  1\. Locate your virtual host's configuration file:  -   `/etc/httpd/conf/httpd.conf` on RHEL-based systems -   `/etc/apache2/sites-available/000-default.conf` on Debian/Ubuntu  2\. Add the following directive to your virtual host's configuration file:  ```ini <VirtualHost *:*>     Header set Content-Security-Policy: "default-src 'self' *.openstreetmap.org; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src 'self' data: *.openstreetmap.org; style-src 'self' 'unsafe-inline'; base-uri 'self'; form-action 'self';" </VirtualHost> ```  3\. Restart the Apache service to apply the changes:  ```bash # On RHEL-based systems: systemctl restart httpd.service  # On Debian/Ubuntu systemctl restart apache2.service ```
ru	#### Включение политики безопасности контента (CSP) на веб-сервере  Чтобы защитить интерфейс Zabbix от межсайтового скриптинга (Cross Site Scripting, XSS), внедрения данных (data injection) и подобных атак, мы рекомендуем включить политику безопасности контента (Content Security Policy, CSP) на веб-сервере. Для этого настройте веб-сервер на возврат [HTTP-заголовка \[en\]](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy).  ::: noteimportant Следующая конфигурация заголовка CSP предназначена только для установки веб-интерфейса Zabbix по умолчанию и для случаев, когда весь контент происходит из домена сайта (за исключением поддоменов). Другая конфигурация заголовка CSP может потребоваться, если вы, например, настраиваете виджет [*URL*](/manual/web_interface/frontend_sections/dashboards/widgets/url) для отображения контента из поддоменов сайта или внешних доменов, переключаете с *OpenStreetMap* на другой картографический движок или добавляете внешние CSS или виджеты. :::  Чтобы включить CSP для вашего веб-интерфейса Zabbix в конфигурации Apache, выполните следующие действия:  1\. Найдите ваш файл конфигурации виртуальных хостов:  -   `/etc/httpd/conf/httpd.conf` на системах на базе RHEL -   `/etc/apache2/sites-available/000-default.conf` на Debian/Ubuntu  2\. Добавьте следующую директиву в ваш файл конфигурации виртуальных хостов:  ```ini <VirtualHost *:*>     Header set Content-Security-Policy: "default-src 'self' *.openstreetmap.org; script-src 'self' 'unsafe-inline' 'unsafe-eval'; connect-src 'self'; img-src 'self' data: *.openstreetmap.org; style-src 'self' 'unsafe-inline'; base-uri 'self'; form-action 'self';" </VirtualHost> ```  3\. Перезапустите службу Apache, чтобы применить изменения:  ```bash # на системах на базе RHEL: systemctl restart httpd.service  # на Debian/Ubuntu systemctl restart apache2.service ```

en-us	### Enabling high availability
ru	### Включение высокой доступности

en-us	#### Enabling HTTP Strict Transport Security (HSTS) on the web server  To protect Zabbix frontend against protocol downgrade attacks, we recommend enabling [HSTS](https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security) policy on the web server.  To enable HSTS policy for your Zabbix frontend in Apache configuration, follow these steps:  1\. Locate your virtual host's configuration file:  -   `/etc/httpd/conf/httpd.conf` on RHEL-based systems -   `/etc/apache2/sites-available/000-default.conf` on Debian/Ubuntu  2\. Add the following directive to your virtual host's configuration file:  ```ini <VirtualHost *:*>     Header set Strict-Transport-Security "max-age=31536000" </VirtualHost> ```  3\. Restart the Apache service to apply the changes:  ```bash # On RHEL-based systems: systemctl restart httpd.service  # On Debian/Ubuntu systemctl restart apache2.service ```
ru	#### Включение строгой транспортной безопасности HTTP (HSTS) на веб-сервере  Чтобы защитить веб-интерфейс Zabbix от атак, понижающих версию протокола, мы рекомендуем включить [HSTS](https://ru.wikipedia.org/wiki/HSTS) политику на веб-сервере.  Чтобы включить HSTS политику для веб-интерфейса вашего Zabbix в конфигурации Apache, выполните седующие шаги:  1\. Найдите файл конфигурации виртуальных хостов:  -   `/etc/httpd/conf/httpd.conf` на системах на базе RHEL -   `/etc/apache2/sites-available/000-default.conf` на Debian/Ubuntu  2\. Добавьте следующую директиву к файл конфигурации ваших виртуальных хостов:  ```ini <VirtualHost *:*> Header set Strict-Transport-Security "max-age=31536000" </VirtualHost> ```  3\. Перезапустите сервис Apache, чтобы применить изменения:  ```bash # на системах на базе RHEL: systemctl restart httpd.service  # на Debian/Ubuntu: systemctl restart apache2.service ```

en-us	#### Enabling MIB files  On RedHat-based systems, MIB files should be enabled by default. On Debian-based systems, you have to edit the file `/etc/snmp/snmp.conf` and comment out the line that says `mibs :`      # As the snmp packages come without MIB files due to license reasons, loading     # of MIBs is disabled by default. If you added the MIBs you can re-enable     # loading them by commenting out the following line.     mibs :
ru	#### Подлючение MIB файлов  На системах на основе RedHat mib файлы должны быть подключены по умолчанию. На системах на основе Debian вам нужно отредактировать файл `/etc/snmp/snmp.conf` и закомментировать строку, которая содержит `mibs`:      # As the snmp packages come without MIB files due to license reasons, loading     # of MIBs is disabled by default. If you added the MIBs you can re-enable     # loading them by commenting out the following line.     mibs :

en-us	#### Enabling multiple hosts  Enable monitoring of two hosts, i.e., set their status to 0.  Request:  ```json {     "jsonrpc": "2.0",     "method": "host.massupdate",     "params": {         "hosts": [             {                 "hostid": "69665"             },             {                 "hostid": "69666"             }         ],         "status": 0     },     "auth": "038e1d7b1735c6a5436ee9eae095879e",     "id": 1 } ```  Response:  ```json {     "jsonrpc": "2.0",     "result": {         "hostids": [             "69665",             "69666"         ]     },     "id": 1 } ```
ru	#### Включение нескольких хостов  Включить мониторинг двух хостов, т. е. установить их статус в 0.  Запрос:  ```json {    "jsonrpc": "2.0",    "method": "host.massupdate",    "params": {    "hosts": [    {    "hostid": "69665"    },    {    "hostid": "69666"    }    ],    "status": 0    },    "auth": "038e1d7b1735c6a5436ee9eae095879e",    "id": 1 } ```  Ответ:  ```json {    "jsonrpc": "2.0",    "result": {    "hostids": [    "69665",    "69666"    ]    },    "id": 1 } ```

en-us	#### Enabling remote JMX monitoring for Java application  A Java application does not need any additional software installed, but it needs to be started with the command-line options specified below to have support for remote JMX monitoring.  As a bare minimum, if you just wish to get started by monitoring a simple Java application on a local host with no security enforced, start it with these options:      java \     -Dcom.sun.management.jmxremote \     -Dcom.sun.management.jmxremote.port=12345 \     -Dcom.sun.management.jmxremote.authenticate=false \     -Dcom.sun.management.jmxremote.ssl=false \     -Dcom.sun.management.jmxremote.registry.ssl=false \     -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar  This makes Java listen for incoming JMX connections on port 12345, from local host only, and tells it not to require authentication or SSL.  If you want to allow connections on another interface, set the -Djava.rmi.server.hostname parameter to the IP of that interface.  If you wish to be more stringent about security, there are many other Java options available to you. For instance, the next example starts the application with a more versatile set of options and opens it to a wider network, not just local host.      java \     -Djava.rmi.server.hostname=192.168.3.14 \     -Dcom.sun.management.jmxremote \     -Dcom.sun.management.jmxremote.port=12345 \     -Dcom.sun.management.jmxremote.authenticate=true \     -Dcom.sun.management.jmxremote.password.file=/etc/java-6-openjdk/management/jmxremote.password \     -Dcom.sun.management.jmxremote.access.file=/etc/java-6-openjdk/management/jmxremote.access \     -Dcom.sun.management.jmxremote.ssl=true \     -Dcom.sun.management.jmxremote.registry.ssl=true \     -Djavax.net.ssl.keyStore=$YOUR_KEY_STORE \     -Djavax.net.ssl.keyStorePassword=$YOUR_KEY_STORE_PASSWORD \     -Djavax.net.ssl.trustStore=$YOUR_TRUST_STORE \     -Djavax.net.ssl.trustStorePassword=$YOUR_TRUST_STORE_PASSWORD \     -Dcom.sun.management.jmxremote.ssl.need.client.auth=true \     -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar  Most (if not all) of these settings can be specified in `/etc/java-6-openjdk/management/management.properties` (or wherever that file is on your system).  Note that if you wish to use SSL, you have to modify startup.sh script by adding `-Djavax.net.ssl.*` options to Java gateway, so that it knows where to find key and trust stores.  See [Monitoring and Management Using JMX](http://download.oracle.com/javase/1.5.0/docs/guide/management/agent.html) for a detailed description.
ru	#### Включение удаленного JMX мониторинга для Java приложений  Приложению Java не требуется какое-либо дополнительно установленное программное обеспечение, но для поддержки удаленного мониторинга JMX приложение необходимо запустить с указанными ниже параметрами командной строки.  Как минимум, если вы просто хотите начать мониторинг простого приложения Java на локальном хосте без какой-либо защиты, запустите его со следующими опциями:      java \     -Dcom.sun.management.jmxremote \     -Dcom.sun.management.jmxremote.port=12345 \     -Dcom.sun.management.jmxremote.authenticate=false \     -Dcom.sun.management.jmxremote.ssl=false \     -Dcom.sun.management.jmxremote.registry.ssl=false \     -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar  С этими аргументами Java будет слушать входящие соединения JMX на порту 12345, только с локального хоста, без необходимости в аутентификации или SSL.  Если вы хотите разрешить подключения с другого интерфейса, укажите параметр -Djava.rmi.server.hostname равным IP адресу этого интерфейса.  Если вы хотите иметь более строгую проверку в плане безопасности, имеется много других доступных для вас опций в Java. Скажем, следующий пример запускает приложение с более разносторонним набором опций и открывает это приложение для более широкой сети, не только для локального компьютера.      java \     -Djava.rmi.server.hostname=192.168.3.14 \     -Dcom.sun.management.jmxremote \     -Dcom.sun.management.jmxremote.port=12345 \     -Dcom.sun.management.jmxremote.authenticate=true \     -Dcom.sun.management.jmxremote.password.file=/etc/java-6-openjdk/management/jmxremote.password \     -Dcom.sun.management.jmxremote.access.file=/etc/java-6-openjdk/management/jmxremote.access \     -Dcom.sun.management.jmxremote.ssl=true \     -Dcom.sun.management.jmxremote.registry.ssl=true \     -Djavax.net.ssl.keyStore=$ВАШЕ_ХРАНИЛИЩЕ_КЛЮЧЕЙ \     -Djavax.net.ssl.keyStorePassword=$ВАШ_ПАРОЛЬ_К_ХРАНИЛИЩУ_КЛЮЧЕЙ \     -Djavax.net.ssl.trustStore=$ВАШЕ_ДОВЕРЕННОЕ_ХРАНИЛИЩЕ \     -Djavax.net.ssl.trustStorePassword=$ВАШ_ПАРОЛЬ_К_ДОВЕРЕННОМУ_ХРАНИЛИЩУ \     -Dcom.sun.management.jmxremote.ssl.need.client.auth=true \     -jar /usr/share/doc/openjdk-6-jre-headless/demo/jfc/Notepad/Notepad.jar  Значительное количество (если не все) этих настроек можно указать в /etc/java-6-openjdk/management/management.properties (или там, где этот файл расположен на вашем компьютере).  Обратите внимание, если вы хотите использовать SSL, вы должны изменить startup.sh скрипт Java gateway, добавив в него опции `-Djavax.net.ssl.*` так, чтобы он знал, где найти хранилище ключей и доверенное хранилище.  Смотрите [Мониторинг и Управление с использованием JMX \[en\]](http://download.oracle.com/javase/1.5.0/docs/guide/management/agent.html) для получения более подробной информации.

en-us	#### Enabling Zabbix on root directory of URL  On RHEL-based systems, add a virtual host to Apache configuration (`/etc/httpd/conf/httpd.conf`) and set permanent redirect for document root to Zabbix SSL URL. Note that *example.com* should be replaced with the actual name of the server.  ```ini # Add lines:  <VirtualHost *:*>     ServerName example.com     Redirect permanent / https://example.com </VirtualHost> ```  Restart the Apache service to apply the changes:  ```bash systemctl restart httpd.service ```
ru	#### Включение Zabbix в корневом каталоге URL  На системах на основе RHEL, добавьте виртуальный хост в файл конфигурации Apache (`/etc/httpd/conf/httpd.conf`) и настройте постоянную переадресацию для корневого каталога на Zabbix SSL URL. Не забудьте заменить *example.com* на актуальное имя сервера.  ```ini # Добавьте строки:  <VirtualHost *:*> ServerName example.com Redirect permanent / https://example.com </VirtualHost> ```  Перезапустите сервис Apache, чтобы применить изменения:  ```bash systemctl restart httpd.service ```

en-us	#### Encoding settings  To make sure that the acquired data are not corrupted you may specify the correct encoding for processing the check (e.g. 'vfs.file.contents') in the `encoding` parameter. The list of supported encodings (code page identifiers) may be found in documentation for [libiconv](http://www.gnu.org/software/libiconv/) (GNU Project) or in Microsoft Windows SDK documentation for "Code Page Identifiers".  If no encoding is specified in the `encoding` parameter the following resolution strategies are applied:  -   If encoding is not specified (or is an empty string) it is assumed to be UTF-8, the data is processed "as-is"; -   BOM analysis - applicable for items 'vfs.file.contents',     'vfs.file.regexp', 'vfs.file.regmatch'. An attempt is made to     determine the correct encoding by using the byte order mark (BOM) at     the beginning of the file. If BOM is not present - standard     resolution (see above) is applied instead.
ru	#### Доступные кодировки  Чтобы убедиться, что полученные данные не повреждены, вы можете указать корректную кодировку для обработки проверки (например в 'vfs.file.contents') в параметре 'кодировка'. Список поддерживаемых кодировок (идентификаторов кодовых страниц) можно найти в документации к [libiconv](http://​www.gnu.org/​software/​libiconv/​) (GNU Project) или в документации к Microsoft Windows SDK по "Идентификаторам кодовых страниц"​. ​  Если кодировка не задана в параметре `​кодировка`, то применяются следующие стратегии преобразования:  -   Если кодировка не задана (или указана пустая строка), тогда предполагается наличие UTF-8 кодировки и данные обрабатываются "как есть"; -   Анализ BOM - применяется к элементам данных 'vfs.file.contents', 'vfs.file.regexp', 'vfs.file.regmatch'. Предпринимается попытка определить корректную кодировку при помощи использования маркера последовательности байтов (BOM) в начале файла. Если BOM отсутствует - вместо этого применяется стандартное преобразование (см. выше).

en-us	##### Encryption  The **Encryption** tab allows you to require [encrypted](/manual/encryption) connections with the host.  |Parameter|Description| |--|--------| |*Connections to host*|How Zabbix server or proxy connects to Zabbix agent on a host: no encryption (default), using PSK (pre-shared key) or certificate.| |*Connections from host*|Select what type of connections are allowed from the host (i.e. from Zabbix agent and Zabbix sender). Several connection types can be selected at the same time (useful for testing and switching to other connection type). Default is "No encryption".| |*Issuer*|Allowed issuer of certificate. Certificate is first validated with CA (certificate authority). If it is valid, signed by the CA, then the *Issuer* field can be used to further restrict allowed CA. This field is intended to be used if your Zabbix installation uses certificates from multiple CAs. If this field is empty then any CA is accepted.| |*Subject*|Allowed subject of certificate. Certificate is first validated with CA. If it is valid, signed by the CA, then the *Subject* field can be used to allow only one value of *Subject* string. If this field is empty then any valid certificate signed by the configured CA is accepted.| |*PSK identity*|Pre-shared key identity string.<br>Do not put sensitive information in the PSK identity, it is transmitted unencrypted over the network to inform a receiver which PSK to use.| |*PSK*|Pre-shared key (hex-string). Maximum length: 512 hex-digits (256-byte PSK) if Zabbix uses GnuTLS or OpenSSL library, 64 hex-digits (32-byte PSK) if Zabbix uses mbed TLS (PolarSSL) library. Example: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952|
ru	##### Шифрование  Вкладка **Шифрование** позволяет вам требовать [шифрование](/manual/encryption) соединений с узлом сети.  |Параметр|Описание| |--|--------| |*Подключения к узлу сети*|Каким образом Zabbix сервер или прокси подключаются к Zabbix агенту на хосте: без шифрования (по умолчанию), используя PSK (pre-shared key) или сертификат.| |*Соединения с узла сети*|Выберите, какой тип подключений разрешён с узла сети (то есть, с Zabbix агента и Zabbix sender). Можно выбрать несколько типов соединений одновременно (полезно при тестировании и переключении на другой тип соединения). По умолчанию — «Без шифрования».| |*Издатель*|Разрешённый эмитент сертификата. Сертификат сначала подтверждается CA (центром сертификации). Если он действительный, подписан с помощью CA, тогда можно использовать поле *Издатель* для более строгого ограничения разрешённых CA. Это поле предназначено для использования, если ваша Zabbix инсталляция использует сертификаты от нескольких CA. Если поле не заполнено, то принимается любой CA.| |*Тема*|Разрешённая тема сертификата. Сертификат сначала подтверждается CA. Если он действительный, подписан с помощью CA, тогда можно использовать поле *Тема*, чтобы разрешить только одно значение строки *Тема*. Если поле пустое, тогда принимается любой сертификат, подписанный настроенным CA.| |*Идентификатор PSK*|Строка идентификации pre-shared key.<br>Не указывайте конфиденциальную информацию в идентификаторе PSK, так как он передаётся по сети в незашифрованном виде для информирования получателя, какой PSK использовать.| |*PSK*|Pre-shared key (строка в шестнадцатеричном формате). Максимальная длина: 512 шестнадцатеричных цифр (256-байт PSK), если Zabbix использует библиотеки GnuTLS или OpenSSL, 64 шестнадцатеричных цифры (32-байт PSK), если Zabbix использует библиотеку mbed TLS (PolarSSL). Пример: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952|

en-us	#### Entity count  New [functions](/manual/appendix/functions) have been added to simplify the counting of specific hosts, items, or values, returned by [foreach functions](/manual/appendix/functions/aggregate/foreach).  Aggregate functions:  -   **count** - total number of values in an array returned by a foreach     function (returns an integer); -   **item\_count** - total number of currently enabled items that match     filter criteria (returns an integer).  Foreach function:  -   **exists\_foreach** - number of currently enabled items that match     filter criteria (returns an array).
ru	#### Количество объектов  Добавлены новые [функции](/manual/appendix/functions), которые упрощают подсчет количества заданных узлов сети, элементов данных или значений, которые возвращаются [функциями цикла](/manual/appendix/functions/aggregate/foreach).  Функции агрегации:  -   **count** -- общее количество значений в массиве, полученном от функции цикла (возвращается целое число); -   **item\_count** -- общее количество активированных на момент опроса элементов данных, попадающих под заданный фильтр (возвращается целое число).  Функция цикла:  -   **exists\_foreach** -- количество активированных на момент опроса элементов данных, которые попадают под заданный критерий фильтра (возвращается массив).

en-us	#### Entity count  New [functions](/manual/appendix/functions) have been added to simplify the counting of specific hosts, items, or values, returned by [foreach functions](/manual/appendix/functions/aggregate/foreach).  Aggregate functions:  -   **count** - total number of values in an array returned by a foreach     function (returns an integer); -   **item\_count** - total number of currently enabled items that match     filter criteria (returns an integer).  Foreach function:  -   **exists\_foreach** - number of currently enabled items that match     filter criteria (returns an array).  #### Anomaly detection  Zabbix 5.2 introduced new trend functions useful for baseline monitoring. However, they still require defining relative thresholds (e.g. check that web traffic in September, 2021 is less than 2x higher compared to September, 2020). There are use cases when such thresholds are hard to define. For instance, the web traffic of a new but highly popular web site can organically grow many times over a year but the growth rate is unknown. Yet, a sudden traffic spike due to DDOS attack must generate an alert regardless of organic traffic growth.  Anomaly detection algorithms do exactly this - find data that don't look normal (outliers) in a context of other values.  New [history function](/manual/appendix/functions/history) trendstl() has been added which uses 'decomposition' method to calculate the anomaly rate. It splits a single time series sequence into three other sequences:  -   trend sequence that only contains big changes in the original data (e.g. website traffic shows growth) -   season sequence that only contains seasonal changes (e.g. less website traffic in summer, more in autumn) -   remainder sequence that only contains residual values that can not be interpreted as parts of trend or season  ![](../../../assets/en/manual/introduction/stl_data.png)  Anomaly detection works with remainder sequence and checks if there are values that are too far from the majority of remainder values. "Far" means that the absolute value from the remainder sequence is N times greater than the standard or mean deviation.   
ru	#### Количество объектов  Добавлены новые [функции](/manual/appendix/functions), упрощающие подсчёт отдельных узлов сети, элементов данных или значений, которые возвращаются [функциями цикла](/manual/appendix/functions/aggregate/foreach).  Функции агрегации:  -   **count** - общее количество значений в массиве, который вернулся при помощи функции цикла (возвращается целое положительное число); -   **item\_count** - общее количество активированных в данный момент времени элементов данных, попадающих под критерий фильтра (возвращается целое положительное число).  Функция цикла:  -   **exists\_foreach** - общее количество активированных в данный момент времени элементов данных, попадающих под критерий фильтра (возвращается массив).  #### Определение аномалий  Zabbix 5.2 внёс новые функции динамики изменений полезных для базисного мониторинга. Однако, эти функции до сих пор требуют необходимость определить относительных значений порогов (например, проверка, что веб-трафик в Сентябре 2021 менее чем в 2 раза выше по сравнению с Сентябрём 2020). Бывают такие случаи, когда определить такие пороги затруднительно. Например, веб-трафик нового, но крайне популярного веб-сайта может органично рости много раз за год, но темпы роста будет неизвестными. Тем не менее, внезапный всплеск трафика из-за DDOS атаки должен сгенерировать оповещение вне зависимости от органичности роста трафика.  Алгоритмы определения аномалий как раз это и делают - они ищут данные, которые не выглядят нормально (исключения) в контексте других значений.  Добавлена новая [функция истории](/manual/appendix/functions/history) trendstl(), которая использует метод 'расчленения' для вычисления частоты аномалий. Эта функция разделяет один ряд времени на три ряда времени:  -   ряд динамики изменений, который содержит только большие изменения в исходных данных (например, когда трафик веб-сайта показывает рост) -   ряд сезонности, который содержит только сезонные изменения (например, меньше трафика на веб-сайт летом, больше осенью) -   остаточный ряд, который содержит только остаточные значения, которые не могут быть объяснены как части динамики изменения или сезона  ![](../../../assets/en/manual/introduction/stl_data.png)  Обнаружение аномалий работает с остаточным рядом и проверяет имеются ли значения слишком далёкие от большинства значений остаточного ряда. "Далёкие" означает, что абсолютное значение из остаточного ряда в N раз больше, чем стандартное или среднее отклонения.   

en-us	##### Entity count  New [functions](/manual/appendix/functions) have been added to simplify the counting of specific hosts, items, or values, returned by [foreach functions](/manual/appendix/functions/aggregate/foreach).  Aggregate functions:  -   **count** - total number of values in an array returned by a foreach     function (returns an integer); -   **item\_count** - total number of currently enabled items that match     filter criteria (returns an integer).  Foreach function:  -   **exists\_foreach** - number of currently enabled items that match     filter criteria (returns an array).  ### Anomaly detection  Zabbix 5.2 introduced new trend functions useful for baseline monitoring. However, they still require defining relative thresholds (e.g. check that web traffic in September, 2021 is less than 2x higher compared to September, 2020). There are use cases when such thresholds are hard to define. For instance, the web traffic of a new but highly popular web site can organically grow many times over a year but the growth rate is unknown. Yet, a sudden traffic spike due to DDOS attack must generate an alert regardless of organic traffic growth.  Anomaly detection algorithms do exactly this - find data that don't look normal (outliers) in a context of other values.  New [history function](/manual/appendix/functions/history) trendstl() has been added which uses 'decomposition' method to calculate the anomaly rate. It splits a single time series sequence into three other sequences:  -   trend sequence that only contains big changes in the original data (e.g. website traffic shows growth) -   season sequence that only contains seasonal changes (e.g. less website traffic in summer, more in autumn) -   remainder sequence that only contains residual values that can not be interpreted as parts of trend or season  ![](../../../assets/en/manual/introduction/stl_data.png)  Anomaly detection works with remainder sequence and checks if there are values that are too far from the majority of remainder values. "Far" means that the absolute value from the remainder sequence is N times greater than the standard or mean deviation.   
ru	### Плагин Zabbix агент 2  Каждый плагин Zabbix агент 2 теперь имеет отдельный [файл конфигурации](/manual/appendix/config/zabbix_agent2_plugins). По молчанию, эти файлы располагаются в `./zabbix_agent2.d/plugins.d/` директории. Этот путь указывается в `Include` параметре файла конфигурации агента 2 и может быть относительным к расположению [zabbix\_agent2.conf](/manual/appendix/config/zabbix_agent2) или [zabbix\_agent2.win.conf](/manual/appendix/config/zabbix_agent2_win) файлов.  

en-us	##### Entity uniqueness criteria  When adding entities (items, triggers, graphs etc.) from a template it is important to know what of those entities already exist on the host and need to be updated and what entities differ. The uniqueness criteria for deciding upon the sameness/difference are:  -   for items - the item key -   for triggers - trigger name and expression -   for custom graphs - graph name and its items
ru	##### Критерии уникальности объекта  При добавлении объектов (элементов данных, триггеров, графиков и т.п.) из шаблона важно знать: какие из этих объектов уже существуют у узла сети и должны быть обновлены, а какие объекты различаются. Критериями уникальности при принятии решения на сходство/различия являются:  -   для элементов данных - ключ элемента данных -   для триггеров - имя и выражение триггера -   для пользовательских графиков - имя графика и его элементы данных

en-us	#### Environment files  In the same directory with compose files on github.com you can find files with default environment variables for each component in compose file. These environment files are named like `.env_<type of component>`.
ru	#### Файлы окружения  В той же директории с файлами конфигурации compose на github.com вы можете найти файлы с переменными окружения по умолчанию для каждого компонента из файлов конфигурации compose. Эти файлы окружения называются приблизительно так: `.env_<тип компоненты>`.

en-us	##### Environment variables  All Zabbix component images provide environment variables to control configuration. These environment variables are listed in each component repository. These environment variables are options from Zabbix configuration files, but with different naming method. For example, `ZBX_LOGSLOWQUERIES` is equal to `LogSlowQueries` from Zabbix server and Zabbix proxy configuration files.  ::: noteimportant  Some of configuration options are not allowed to change. For example, `PIDFile` and `LogType`. :::  Some of components have specific environment variables, which do not exist in official Zabbix configuration files:  |Variable|Components|Description| |--|--|------| |`DB_SERVER_HOST`|Server<br>Proxy<br>Web interface|This variable is IP or DNS name of MySQL or PostgreSQL server.<br>By default, value is `mysql-server` or `postgres-server` for MySQL or PostgreSQL respectively| |`DB_SERVER_PORT`|Server<br>Proxy<br>Web interface|This variable is port of MySQL or PostgreSQL server.<br>By default, value is '3306' or '5432' respectively.| |`MYSQL_USER`|Server<br>Proxy<br>Web-interface|MySQL database user.<br>By default, value is 'zabbix'.| |`MYSQL_PASSWORD`|Server<br>Proxy<br>Web interface|MySQL database password.<br>By default, value is 'zabbix'.| |`MYSQL_DATABASE`|Server<br>Proxy<br>Web interface|Zabbix database name.<br>By default, value is 'zabbix' for Zabbix server and 'zabbix\_proxy' for Zabbix proxy.| |`POSTGRES_USER`|Server<br>Web interface|PostgreSQL database user.<br>By default, value is 'zabbix'.| |`POSTGRES_PASSWORD`|Server<br>Web interface|PostgreSQL database password.<br>By default, value is 'zabbix'.| |`POSTGRES_DB`|Server<br>Web interface|Zabbix database name.<br>By default, value is 'zabbix'.| |`PHP_TZ`|Web-interface|Timezone in PHP format. Full list of supported timezones are available on [php.net](http://php.net/manual/en/timezones.php).<br>By default, value is 'Europe/Riga'.| |`ZBX_SERVER_NAME`|Web interface|Visible Zabbix installation name in right top corner of the web interface.<br>By default, value is 'Zabbix Docker'| |`ZBX_JAVAGATEWAY_ENABLE`|Server<br>Proxy|Enables communication with Zabbix Java gateway to collect Java related checks.<br>By default, value is "false"| |`ZBX_ENABLE_SNMP_TRAPS`|Server<br>Proxy|Enables SNMP trap feature. It requires **zabbix-snmptraps** instance and shared volume */var/lib/zabbix/snmptraps* to Zabbix server or Zabbix proxy.|
ru	##### Переменные окружения  Все компоненты Zabbix предусматривают наличие переменных окружения для управления конфигурацией. Эти переменные окружения перечислены в репозиториях каждого из компонентов. Переменные окружения являются параметрами из файлов конфигурации Zabbix, но с другим методом наименования. Например,`ZBX_LOGSLOWQUERIES` идентичен `LogSlowQueries` из файлов конфигурации Zabbix сервера и Zabbix прокси.  ::: noteimportant  Некоторые параметры конфигурации недоступны для изменения. Например, `PIDFile` и `LogType`. :::  У некоторых компонентов есть специфические переменные окружения, отсутствующие в официальных файлах конфигурации Zabbix:  |Переменная|Компоненты|Описание| |--|--|------| |`DB_SERVER_HOST`|Сервер<br>Прокси<br>Веб-интерфейс|Переменная является IP адресом или DNS именем MySQL или PostgreSQL сервера.<br>По умолчанию, значение `mysql-server` или `postgres-server` для MySQL или PostgreSQL соответственно| |`DB_SERVER_PORT`|Сервер<br>Прокси<br>Веб-интерфейс|Переменная является портом MySQL или PostgreSQL сервера.<br>По умолчанию, значение «3306» или «5432» соответственно.| |`MYSQL_USER`|Сервер<br>Прокси<br>Веб-интерфейс|Имя пользователя базы данных MySQL.<br>По умолчанию, значение «zabbix».| |`MYSQL_PASSWORD`|Сервер<br>Прокси<br>Веб-интерфейс|Пароль пользователя базы данных MySQL.<br>По умолчанию, значение «zabbix».| |`MYSQL_DATABASE`|Сервер<br>Прокси<br>Веб-интерфейс|Имя базы данных Zabbix.<br>По умолчанию, значение «zabbix» для Zabbix сервера и «zabbix\_proxy» для Zabbix прокси.| |`POSTGRES_USER`|Сервер<br>Веб-интерфейс|Имя пользователя базы данных PostgreSQL.<br>По умолчанию, значение «zabbix».| |`POSTGRES_PASSWORD`|Сервер<br>Веб-интерфейс|Пароль пользователя базы данных PostgreSQL.<br>По умолчанию, значение «zabbix».| |`POSTGRES_DB`|Сервер<br>Веб-интерфейс|Имя базы данных Zabbix.<br>По умолчанию, значение «zabbix».| |`PHP_TZ`|Веб-интерфейс|Часовой пояс в PHP формате. Полный список поддерживаемых часовых поясов доступен на [php.net](http://php.net/manual/ru/timezones.php).<br>По умолчанию, значение «Europe/Riga».| |`ZBX_SERVER_NAME`|Веб-интерфейс|Видимое имя Zabbix инсталляции в правом верхнем углу веб-интерфейса.<br>По умолчанию, значение «Zabbix Docker»| |`ZBX_JAVAGATEWAY_ENABLE`|Сервер<br>Прокси|Включает обмен данными с Zabbix Java gateway для сбора проверок относящихся к Java.<br>По умолчанию, значение «false».| |`ZBX_ENABLE_SNMP_TRAPS`|Сервер<br>Прокси|Включение функции SNMP трапов. Переменной требуется экземпляр **zabbix-snmptraps** и разделяемый с Zabbix сервером или Zabbix прокси том */var/lib/zabbix/snmptraps*.|

en-us	#### Error messages  ODBC error messages are structured into fields to provide detailed information. For example:      Cannot execute ODBC query: [SQL_ERROR]:[42601][7][ERROR: syntax error at or near ";"; Error while executing the query]     └───────────┬───────────┘  └────┬────┘ └──┬──┘└┬┘└─────────────────────────────┬─────────────────────────────────────┘                 │                   │         │    └─ Native error code            └─ Native error message                 │                   │         └─ SQLState                 └─ Zabbix message   └─ ODBC return code  Note that the error message length is limited to 2048 bytes, so the message can be truncated. If there is more than one ODBC diagnostic record Zabbix tries to concatenate them (separated with `|`) as far as the length limit allows.
ru	#### Сообщения об ошибках  Сообщения об ошибках ODBC структурированы по полям для предоставления подробной информации. Например:      Cannot execute ODBC query: [SQL_ERROR]:[42601][7][ERROR: syntax error at or near ";"; Error while executing the query]     └───────────┬───────────┘  └────┬────┘ └──┬──┘└┬┘└─────────────────────────────┬─────────────────────────────────────┘                 │                   │         │    └─ Родной код ошибки            └─ Родное сообщение об ошибке                 │                   │         └─ SQLState                 └─ Zabbix сообщение └─ ODBC возвращаемый код  Обратите внимание, что длина сообщения об ошибке ограничена 2048 байтами, поэтому сообщение может быть усечено. Если имеется более одной ODBC диагностической записи, Zabbix пытается их скомпоновать (разделяя символом `|`), насколько позволяет ограничение по длине.

en-us	 #### Errors with fping execution in rootless containers  When containers are running in rootless mode or in a specific-restrictions environment, you may face errors related to fping execution when performing ICMP checks, such as `fping: Operation not permitted` or all packets to all resources lost.   To fix this problem add `--cap-add=net_raw` to "docker run" or "podman run" commands.   Additionally fping execution in non-root environments may require sysctl modification, i.e.:       sudo sysctl -w "net.ipv4.ping_group_range=0 1995"  where "1995" is the zabbix GID. For more details, see [ZBX-22833](https://support.zabbix.com/browse/ZBX-22833).
ru	#### Ошибки при выполнении fping в контейнерах без root-доступа  Когда контейнеры работают в режиме без root-доступа или в среде со специальными ограничениями, вы можете столкнуться с ошибками, связанными с выполнением fping при выполнении проверок ICMP, такими как: `fping: Operation not permitted`, — или потерей всех пакетов ко всем ресурсам.   Для исправления этой проблема добавьте `--cap-add=net_raw` к командам «docker run» или «podman run».   В дополнение к этому, выполнение fping в средах без root-доступа может потребовать модификации sysctl, то есть:       sudo sysctl -w "net.ipv4.ping_group_range=0 1995"  где «1995» — это GID zabbix. Для дополнительной информации смотрите [ZBX-22833](https://support.zabbix.com/browse/ZBX-22833) \[en\].

en-us	#### Escalation examples
ru	#### Примеры эскалаций

en-us	#### Evaluation period  An evaluation period is used in functions referencing the item history. It allows to specify the interval we are interested in. It can be specified as time period (30s, 10m, 1h) or as a value range (\#5 - for five latest values).  The evaluation period is measured up to "now" - where "now" is the latest recalculation time of the trigger (see [Calculation time](#calculation_time) above); "now" is not the "now" time of the server.  The evaluation period specifies either:  -   To consider all values between "now-time period" and "now" (or, with     time shift, between "now-time shift-time period" and     "now-time\_shift") -   To consider no more than the num count of values from the past, up     to "now"     -   If there are 0 available values for the time period or num count         specified - then the trigger or calculated item that uses this         function becomes unsupported  Note that:  -   If only a single function (referencing data history) is used in the     trigger, "now" is always the latest received value. For example, if     the last value was received an hour ago, the evaluation period will     be regarded as up to the latest value an hour ago. -   A new trigger is calculated as soon as the first value is received     (history functions); it will be calculated within 30 seconds for     time-based functions. Thus the trigger will be calculated even     though perhaps the set evaluation period (for example, one hour) has     not yet passed since the trigger was created. The trigger will also     be calculated after the first value, even though the evaluation     range was set, for example, to ten latest values.
ru	#### Период вычисления  Период вычисления используется в функциях, которые ссылаются на историю элемента данных. Это позволяет указать интересующий нас интервал. Интервал можно указать в виде периода времени (30s, 10m, 1h) или в виде диапазонов значений (\#5 -для пяти последних значений).  Период вычисления измеряется до «сейчас», где «сейчас» - это время последнего пересчёта триггера (смотрите [Время вычисления](#время-вычисления) выше); «сейчас», это не «текущее» время сервера.  Период вычисления указывает либо:  -   Учитывать все значения между «сейчас - период времени» и «сейчас» (или, при наличии сдвига времени, между «сейчас - сдвиг\_времени - период времени» и «сейчас - сдвиг\_времени») -   Учитывать не более чем количество значений из прошлого, до «сейчас»     -   Если имеется 0 доступных значений за этот период времени или указанное количество - тогда триггер или вычисляемый элемент данных, который использует такую функцию, становится неподдерживаемым  Обратите внимание, что:  -   Если в триггере используется одна функция (которая ссылается на данные истории), «сейчас» всегда последнее полученное значение. Например, если последнее значение получено час назад, период вычисления будет рассматриваться до последнего значения часом ранее. -   Новый триггер вычисляется сразу, как только получено первое значение (функции истории); он будет вычисляться в течение 30 секунд при наличии функций, связанных со временем. Таким образом, триггер будет вычислен, даже если заданный период оценки (например, один час) еще не прошёл с момента создания триггера. Триггер также будет вычислен после первого значения - даже если диапазон оценки был задан, например, последними десятью значениями.

en-us	# event.acknowledge
ru	# event.acknowledge

en-us	##### Event correlation  Event correlation (also called global event correlation) is a way to set up custom event closing (resulting in OK event generation) rules.  The rules define how the new problem events are paired with existing problem events and allow to close the new event or the matched events by generating corresponding OK events.  However, event correlation must be configured very carefully, as it can negatively affect event processing performance or, if misconfigured, close more events than intended (in the worst case even all problem events could be closed). A few configuration tips:  1.  always reduce the correlation scope by setting a unique tag for the     control event (the event that is paired with old events) and use the     'new event tag' correlation condition 2.  don't forget to add a condition based on the old event when using     'close old event' operation, or all existing problems could be     closed 3.  avoid using common tag names used by different correlation     configurations
ru	##### Корреляция событий  Корреляция событий (также называемая глобальной корреляцией событий) является способом настройки пользовательских правил закрытия событий (в результате чего генерируются ОК события).  Правила определяют, каким образом новые события проблемы соотносятся с существующими событиями проблемы и позволяют закрыть новое событие или совпадающие события при помощи генерации ОК событий.  Однако, корреляцию событий необходимо настраивать очень осторожно, так как она может негативно повлиять на производительность обработки событий или, при неправильной настройке, закрыть больше событий, чем требуется (в худшем случае могут быть закрыты вообще все события о проблемах). Несколько советов по настройке:  1.  всегда старайтесь уменьшить масштаб корреляции, указав уникальный тег для контрольного события (парное событие со старыми событиями) и использовав условие корреляции 'тег нового события' 2.  не забывайте добавлять условие на основе старого события при использовании операции 'закрыть старые события', в противном случае все существующие проблемы могут быть закрыты 3.  избегайте использования распространенных имен тегов, которые используются различными настройками корреляции

en-us	# event.get
ru	# event.get

en-us	#### Event menu  Clicking on the problem name brings up the event menu:  ![](../../../../../assets/en/manual/web_interface/frontend_sections/monitoring/event_menu.png)  The event menu allows to:  -   filter the problems of the trigger -   access the trigger configuration -   access a simple graph/item history of the underlying item(s) -   access an external ticket of the problem (if configured, see the     *Include event menu entry* option when configuring     [webhooks](/manual/config/notifications/media/webhook)) -   execute global     [scripts](/manual/web_interface/frontend_sections/administration/scripts)     (these scripts need to have their scope defined as 'Manual event     action'). This feature may be handy for running scripts used for     managing problem tickets in external systems.
ru	#### Меню события  При нажатии на имени проблемы открывается меню события:  ![](../../../../../assets/en/manual/web_interface/frontend_sections/monitoring/event_menu.png)  Меню события позволяет:  -   фильтровать проблемы триггера -   перейти к настройкам триггера -   перейти к простому графику/истории элементов данных, к которым относится проблема -   перейти к внешней системе обработки заявок по данной проблеме (при соответствующих настройках      [вебхука](/manual/config/notifications/media/webhook), т.е. если выбрано *Добавить запись в меню события*) -   выполнить глобальный     [скрипт](/manual/web_interface/frontend_sections/administration/scripts)     (для такого скрипта должна быть задана область «Действие вручную над событиями»). Это может быть полезно при выполнении скриптов для управления задачами, созданными по проблемам во внешних системах обработки заявок.

en-us	# > Event object  The following objects are directly related to the `event` API.
ru	# > Объект события  Следующие объекты напрямую связаны с API событий (`event`).

en-us	#### Events  Retrieve events generated by triggers, network discovery and other Zabbix systems for more flexible situation management or third-party tool integration.  [Event API](/manual/api/reference/event)
ru	#### События  Получение событий, которые сгенерированы триггерами, сетевым обнаружением и другими системами Zabbix для более гибкого управления ситуациями или интеграции со сторонними инструментами.  [API события](/manual/api/reference/event)

en-us	### Event tag  The event tag object has the following properties.  |Property|[Type](/manual/api/reference_commentary#data_types)|Description| |--|--|------| |tag|string|Event tag name.| |value|string|Event tag value.|
ru	### Тег события  Объект тега события имеет следующие свойства.  |Свойство|[Тип](/manual/api/reference_commentary#типы-данных)|Описание| |--|--|------| |tag|строка|Имя тега события.| |value|строка|Значение тега события.|

en-us	# Event  This class is designed to work with events.  Object references:\  -   [Event](/manual/api/reference/event/object#host)  Available methods:\  -   [event.get](/manual/api/reference/event/get) - retrieving events -   [event.acknowledge](/manual/api/reference/event/acknowledge) -     acknowledging events
ru	# Событие  Этот класс предназначен для работы с событиями.  Ссылки на объекты:\  - · [Event](/manual/api/reference/event/object#host)  Доступные методы:\  - · [event.get](/manual/api/reference/event/get) - получение событий - · [event.acknowledge](/manual/api/reference/event/acknowledge) -  · подтверждение событий

en-us	### Example
ru	### Пример

en-us	##### Example 10  CPU activity at any time with exception.  Use of function time() and **not** operator:      min(/zabbix/system.cpu.load[all,avg1],5m)>2     and not (dayofweek()=7 and time()>230000)     and not (dayofweek()=1 and time()<010000)  The trigger may change its state to problem at any time, except for 2 hours on a week change (Sunday, 23:00 - Monday, 01:00).
ru	##### Пример 10  Активность CPU в любое время с исключением.  Используется функция time() и оператор **not**:      min(/zabbix/system.cpu.load[all,avg1],5m)>2     and not (dayofweek()=7 and time()>230000)     and not (dayofweek()=1 and time()<010000)  Триггер может изменить свое состояние на Проблема в любое время, за исключением интервала в 2 часа при изменении недели (воскресенье, 23:00 - понедельник, 01:00).

en-us	##### Example 11  Check if client local time is in sync with Zabbix server time.  Use of function fuzzytime():      fuzzytime(/MySQL_DB/system.localtime,10s)=0  The trigger will change to the problem state in case when local time on server MySQL\_DB and Zabbix server differs by more than 10 seconds. Note that 'system.localtime' must be configured as a [passive check](/manual/appendix/items/activepassive#passive_checks).
ru	##### Пример 11  Проверка синхронизации времени на клиенте со временем на Zabbix сервере  Используется функция fuzzytime():      fuzzytime(/MySQL_DB/system.localtime,10s)=0  Триггер изменит состояние на проблему тогда, когда локальное время на сервере MySQL\_DB и Zabbix сервере будут различаться более чем на 10 секунд. Обратите внимание, что 'system.localtime' должен быть настроен как [пассивная проверка](/manual/appendix/items/activepassive#пассивные-проверки).

en-us	##### Example 12  Comparing average load today with average load of the same time yesterday (using time shift as `now-1d`).      avg(/server/system.cpu.load,1h)/avg(/server/system.cpu.load,1h:now-1d)>2  This trigger will fire if the average load of the last hour tops the average load of the same hour yesterday more than two times.
ru	##### Пример 12  Сравнение средней загрузки сегодня со средним значением загрузки за это же время вчера (использование сдвига времени в виде `now-1d`).      avg(/server/system.cpu.load,1h)/avg(/server/system.cpu.load,1h:now-1d)>2  Этот триггер сработает, если средняя загрузка за последний час более чем вдвое превысит среднюю загрузку за тот же час вчера.

en-us	##### Example 13  Using the value of another item to get a trigger threshold:      last(/Template PfSense/hrStorageFree[{#SNMPVALUE}])<last(/Template PfSense/hrStorageSize[{#SNMPVALUE}])*0.1  The trigger will fire if the free storage drops below 10 percent.
ru	##### Пример 13  Использование значения другого элемента данных в качестве порогового значения триггера:      last(/Template PfSense/hrStorageFree[{#SNMPVALUE}])<last(/Template PfSense/hrStorageSize[{#SNMPVALUE}])*0.1  Триггер изменит свое состояние на проблему, если количество свободного пространства на диске упадёт ниже 10 процентов.

en-us	##### Example 14  Using [evaluation result](#operators) to get the number of triggers over a threshold:      (last(/server1/system.cpu.load[all,avg1])>5) + (last(/server2/system.cpu.load[all,avg1])>5) + (last(/server3/system.cpu.load[all,avg1])>5)>=2  The trigger will fire if at least two of the triggers in the expression are in a problem state.
ru	##### Пример 14  Использование [результата вычисления](#операторы) для получения количества триггеров больше порога:      (last(/server1/system.cpu.load[all,avg1])>5) + (last(/server2/system.cpu.load[all,avg1])>5) + (last(/server3/system.cpu.load[all,avg1])>5)>=2  Этот триггер сработает, если по крайней мере два триггера в выражении будут в состоянии ПРОБЛЕМА.

en-us	##### Example 15  Comparing string values of two items - operands here are functions that return strings.  Problem: create an alert if Ubuntu version is different on different hosts      last(/NY Zabbix server/vfs.file.contents[/etc/os-release])<>last(/LA Zabbix server/vfs.file.contents[/etc/os-release])
ru	##### Пример 15  Сравнение строковых значений двух элементов данных: операнды здесь - это функции, которые возвращают строки.  Проблема: создание оповещения, если версия Ubuntu отличается от версии на другом узле сети      last(/NY Zabbix server/vfs.file.contents[/etc/os-release])<>last(/LA Zabbix server/vfs.file.contents[/etc/os-release])

en-us	##### Example 16  Comparing two string values - operands are:  -   a function that returns a string -   a combination of macros and strings  Problem: detect changes in the DNS query  The item key is:      net.dns.record[8.8.8.8,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1]  with macros defined as      {$WEBSITE_NAME} = example.com     {$DNS_RESOURCE_RECORD_TYPE} = MX  and normally returns:      example.com           MX       0 mail.example.com  So our trigger expression to detect if the DNS query result deviated from the expected result is:      last(/Zabbix server/net.dns.record[8.8.8.8,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME}           {$DNS_RESOURCE_RECORD_TYPE}       0 mail.{$WEBSITE_NAME}"  Notice the quotes around the second operand.
ru	##### Пример 16  Сравнение двух строковых значений - операнды здесь:  -   функция, которая возвращает строку -   комбинация макросов и строк  Проблема: обнаружение изменений в DNS запросе  Ключ элемента данных:      net.dns.record[8.8.8.8,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1]  с макросами, заданными как      {$WEBSITE_NAME} = example.com     {$DNS_RESOURCE_RECORD_TYPE} = MX  который обычно возвращает:      example.com           MX       0 mail.example.com  Итак, наше выражение триггера определяет, если результат DNS запроса отклоняется от ожидаемого значения:      last(/Zabbix server/net.dns.record[8.8.8.8,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME}           {$DNS_RESOURCE_RECORD_TYPE}       0 mail.{$WEBSITE_NAME}"  Обратите внимание на кавычки вокруг второго операнда.

en-us	##### Example 17  Comparing two string values - operands are:  -   a function that returns a string -   a string constant with special characters \\ and "  Problem: detect if the `/tmp/hello` file content is equal to:      \" //hello ?\"  Option 1) write the string directly      last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""  Notice how \\ and " characters are escaped when the string gets compared directly.  Option 2) use a macro      {$HELLO_MACRO} = \" //hello ?\"  in the expression:      last(/Zabbix server/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}
ru	##### Пример 17  Сравнение двух строковых значений - операнды здесь:  -   функция, которая возврашает строку -   строковая константа со специальными символами \\ и "  Проблема: определить идентично ли содержимое файла `/tmp/hello` следующим данным:      \" //hello ?\"  Опция 1) указать строку напрямую      last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""  Обратите внимание на то как экранируются символы \\ и " при сравнении строки напрямую.  Опция 2) использование макроса      {$HELLO_MACRO} = \" //hello ?\"  в выражении:      last(/Zabbix server/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}

en-us	##### Example 18  Comparing long-term periods.  Problem: Load of Exchange server increased by more than 10% last month      trendavg(/Exchange/system.cpu.load,1M:now/M)>1.1*trendavg(/Exchange/system.cpu.load,1M:now/M-1M)  You may also use the [Event name](/manual/config/triggers/trigger#configuration) field in trigger configuration to build a meaningful alert message, for example to receive something like  `"Load of Exchange server increased by 24% in July (0.69) comparing to June (0.56)"`  the event name must be defined as:      Load of {HOST.HOST} server increased by {{?100*trendavg(//system.cpu.load,1M:now/M)/trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(0)}% in {{TIME}.fmttime(%B,-1M)} ({{?trendavg(//system.cpu.load,1M:now/M)}.fmtnum(2)}) comparing to {{TIME}.fmttime(%B,-2M)} ({{?trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(2)})  It is also useful to allow manual closing in trigger configuration for this kind of problem.
ru	##### Пример 18  Сравнение длительных периодов.  Проблема: Загрузка Exchange сервера увеличилась более чем на 10% за последний месяц      trendavg(/Exchange/system.cpu.load,1M:now/M)>1.1*trendavg(/Exchange/system.cpu.load,1M:now/M-1M)  Вы можете также использовать поле [Имени события](/manual/config/triggers/trigger#настройка) в настройках триггера, чтобы создать осмысленное сообщение оповещения, например, для получения примерно следующего  `"Load of Exchange server increased by 24% in July (0.69) comparing to June (0.56)"`  имя события должно быть определено следующим образом:      Load of {HOST.HOST} server increased by {{?100*trendavg(//system.cpu.load,1M:now/M)/trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(0)}% in {{TIME}.fmttime(%B,-1M)} ({{?trendavg(//system.cpu.load,1M:now/M)}.fmtnum(2)}) comparing to {{TIME}.fmttime(%B,-2M)} ({{?trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(2)})  Также для подобных проблем полезно было бы разрешить закрывать триггер вручную в настройках самого триггера.

en-us	##### Example 1  Calculating percentage of free disk space on '/'.  Use of function **last**:      100*last(//vfs.fs.size[/,free])/last(//vfs.fs.size[/,total])  Zabbix will take the latest values for free and total disk spaces and calculate percentage according to the given formula.
ru	##### Пример 1  Вычисление процентного отношения свободного места на диске для '/'.  Использование функции **last**:      100*last(//vfs.fs.size[/,free])/last(//vfs.fs.size[/,total])  Zabbix будет брать последние значения полного и свободного объема диска и, затем, вычислять процентное отношение в соответствии с заданной формулой.

en-us	##### Example 1: Discovering MBeans  This rule will return 3 objects: the top row of the column: MBean1, MBean2, MBean3.  For more information about objects please refer to [supported macros](/manual/discovery/low_level_discovery/examples/jmx#supported_macros) table, *Discovery of MBeans* section.  Discovery rule configuration collecting MBeans (without the attributes) looks like the following:  ![lld\_rule\_mbean.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean.png)  The key used here:      jmx.discovery[beans,"*:type=GarbageCollector,name=*"]  All the garbage collectors without attributes will be discovered. As Garbage collectors have the same attribute set, we can use desired attributes in item prototypes the following way:  ![lld\_rule\_mbean\_prototypes.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean_prototypes.png)  The keys used here:      jmx[{#JMXOBJ},CollectionCount]      jmx[{#JMXOBJ},CollectionTime]      jmx[{#JMXOBJ},Valid]   LLD discovery rule will result in something close to this (items are discovered for two Garbage collectors):  ![discovery\_rule\_mbean\_3.png](../../../../../assets/en/manual/discovery/low_level_discovery/discovery_rule_mbean_3.png){width="600"}
ru	##### Пример 1: Обнаружение MBeans  Это правило вернёт 3 объекта: верхнюю строку со столбцами: MBean1, MBean2, MBean3.  Для более подробной информации об объектах, пожалуйста, обратитесь к таблице [поддерживаемые макросы](/manual/discovery/low_level_discovery/examples/jmx#поддерживаемые-макросы), раздел *Обнаружение объектов MBean*.  Конфигурация правила обнаружения для сбора объектов MBeans (без атрибутов) выглядит наподобие следующего:  ![lld\_rule\_mbean.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean.png)  Используемый здесь ключ:      jmx.discovery[beans,"*:type=GarbageCollector,name=*"]  Будут обнаружены все сборщики мусора (garbage collectors) без атрибутов. Поскольку сборщики мусора имеют одинаковый набор атрибутов, мы можем использовать желаемые атрибуты в прототипах элементов данных следующим образом:  ![lld\_rule\_mbean\_prototypes.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean_prototypes.png)  Используемые здесь ключи:      jmx[{#JMXOBJ},CollectionCount]      jmx[{#JMXOBJ},CollectionTime]      jmx[{#JMXOBJ},Valid]   Правило LLD обнаружения приведёт к чему-то, близкому к этому (элементы данных обнаружены для двух сборщиков мусора):  ![discovery\_rule\_mbean\_3.png](../../../../../assets/en/manual/discovery/low_level_discovery/discovery_rule_mbean_3.png){width="600"}

en-us	##### Example 1  General example:  |Parameter|Description| |--|--------| |**OID**|1.2.3.45.6.7.8.0 (or .1.2.3.45.6.7.8.0)| |**Key**|<Unique string to be used as reference to triggers><br>For example, "my\_param".|  Note that OID can be given in either numeric or string form. However, in some cases, string OID must be converted to numeric representation. Utility snmpget may be used for this purpose:      snmpget -On localhost public enterprises.ucdavis.memory.memTotalSwap.0
ru	##### Пример 1  Общий пример:  |Параметр|Описание| |--|--------| |**OID**|1.2.3.45.6.7.8.0 (или .1.2.3.45.6.7.8.0)| |**Ключ**|<Уникальная строка, которая используется как ссылка в триггерах><br>Например, "my\_param".|  Обратите внимание, что OID можно задать в числовом или строковом представлении. Тем не менее, в некоторых случаях строковый OID должен быть сконвертирован в числовое представление. Для этого можно использовать утилиту snmpget:      snmpget -On localhost public enterprises.ucdavis.memory.memTotalSwap.0

en-us	##### Example 1  Message subject:      Problem: {TRIGGER.NAME}  When you receive the message, the message subject will be replaced by something like:      Problem: Processor load is too high on Zabbix server
ru	##### Пример 1  Тема сообщения:      Проблема: {TRIGGER.NAME}  При получении сообщения, тема этого сообщения будет заменена на нечто подобное:      Проблема: Загрузка процессора слишком высокая на Zabbix сервере

en-us	 ##### Example 1  Monitoring of two instances “MySQL1” and “MySQL2”.  Configuration parameters:  ```bash Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306 Plugins.Mysql.Sessions.MySQL1.User=mysql1_user Plugins.Mysql.Sessions.MySQL1.Password=unique_password Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306 Plugins.Mysql.Sessions.MySQL2.User=mysql2_user Plugins.Mysql.Sessions.MySQL2.Password=different_password ```  As a result of this configuration, each session name may be used as a connString in an [item key](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2), e.g., `mysql.ping[MySQL1]` or `mysql.ping[MySQL2]`.
ru	##### Пример 1  Мониторинг двух экземпляров “MySQL1” и “MySQL2”.  Параметры конфигурации:  ```bash Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306 Plugins.Mysql.Sessions.MySQL1.User=mysql1_user Plugins.Mysql.Sessions.MySQL1.Password=unique_password Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.0:3306 Plugins.Mysql.Sessions.MySQL2.User=mysql2_user Plugins.Mysql.Sessions.MySQL2.Password=different_password ```  В результате таких настроек, каждое имя сессии может использоваться в качестве параметра `строка_подключения` в [ключах элементов данных](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2), например: `mysql.ping[MySQL1]`, `mysql.ping[MySQL2]`

en-us	**Example 1**  Restart of Windows on certain condition.  In order to automatically restart Windows upon a problem detected by Zabbix, define the following script:  |Script parameter|Value| |--|--------| |*Scope*|'Action operation'| |*Type*|'Script'| |*Command*|c:\\windows\\system32\\shutdown.exe -r -f|
ru	**Пример 1**  Перезагрузка Windows при определённом условии.  Для того, чтобы автоматически перезагрузить Windows, когда Zabbix обнаруживает проблемы, задайте следующий скрипт:  |Параметр скрипта|Значение| |--|--------| |*Область*|'Операция действия'| |*Тип*|'Скрипт'| |*Команда*|c:\\windows\\system32\\shutdown.exe -r -f|

en-us	##### Example 1  Sending a repeated notification once every 30 minutes (5 times in total) to a 'MySQL Administrators' group. To configure:  -   in Operations tab, set the *Default operation step duration* to     '30m' (30 minutes) -   Set the escalation steps to be *From* '1' *To* '5' -   Select the 'MySQL Administrators' group as recipients of the message  ![](../../../../../assets/en/manual/config/escalations_a.png){width="600"}  Notifications will be sent at 0:00, 0:30, 1:00, 1:30, 2:00 hours after the problem starts (unless, of course, the problem is resolved sooner).  If the problem is resolved and a recovery message is configured, it will be sent to those who received at least one problem message within this escalation scenario.  ::: noteclassic If the trigger that generated an active escalation is disabled, Zabbix sends an informative message about it to all those that have already received notifications. :::
ru	##### Пример 1  Отправка повторяющихся оповещений каждые 30 минут (в общей сложности 5 раз) группе 'MySQL администраторы'. Для настройки:  -   Задайте *Длительность шага операции по умолчанию* равным '30m' (30 минут) на вкладке *Операции* -   Укажите шаги эскалаций *С* '1' *До* '5' -   Выберите группу 'MySQL администраторы' получателями сообщений  ![](../../../../../assets/en/manual/config/escalations_a.png){width="600"}  Оповещения будут отправлены в 0:00, 0:30, 1:00, 1:30, 2:00 часов после начала проблемы (если, конечно, проблема не будет решена раньше).  Если проблема решена и сообщение о восстановлении настроено, оно будет отправлено всем тем, кто получил хотя бы одно сообщение в этом сценарии эскалаций.  ::: noteclassic Если триггер, который вызвал активную эскалацию, был деактивирован, Zabbix отправит информационное сообщение об этом всем, кто уже получил оповещения. :::

en-us	##### Example 1  Send simple GET requests to retrieve data from services such as Elasticsearch:  -   Create a GET item with URL: `localhost:9200/?pretty` -   Notice the response:  ```{=html} <!-- --> ```     {       "name" : "YQ2VAY-",       "cluster_name" : "elasticsearch",       "cluster_uuid" : "kH4CYqh5QfqgeTsjh2F9zg",       "version" : {         "number" : "6.1.3",         "build_hash" : "af51318",         "build_date" : "2018-01-26T18:22:55.523Z",         "build_snapshot" : false,         "lucene_version" : "7.1.0",         "minimum_wire_compatibility_version" : "5.6.0",         "minimum_index_compatibility_version" : "5.0.0"       },       "tagline" : "You know, for search"     }  -   Now extract the version number using a JSONPath preprocessing step:     `$.version.number`
ru	##### Пример 1  Отправка простых GET запросов на получение данных с таких сервисов, как Elasticsearch:  -   Создайте GET элемент данных с URL: `localhost:9200/?pretty` -   Обратите внимание на ответ:  ```{=html} <!-- --> ```     {       "name" : "YQ2VAY-",       "cluster_name" : "elasticsearch",       "cluster_uuid" : "kH4CYqh5QfqgeTsjh2F9zg",       "version" : {         "number" : "6.1.3",         "build_hash" : "af51318",         "build_date" : "2018-01-26T18:22:55.523Z",         "build_snapshot" : false,         "lucene_version" : "7.1.0",         "minimum_wire_compatibility_version" : "5.6.0",         "minimum_index_compatibility_version" : "5.0.0"       },       "tagline" : "You know, for search"     }  -   Теперь извлеките номер версии, используя шаг предварительной обработки JSONPath: `$.version.number`

en-us	##### Example 1  Something very simple:      UserParameter=ping[*],echo $1  We may define unlimited number of items for monitoring all having format ping\[something\].  -   ping\[0\] - will always return '0' -   ping\[aaa\] - will always return 'aaa'
ru	##### Пример 1  Очень простой пример:      UserParameter=ping[*],echo $1  Мы можем создать неограниченное количество элементов данных для наблюдения за чем угодно, указав в таком формате: ping\[что угодно\].  -   ping\[0\] - будет всегда возвращать ‘0’ -   ping\[aaa\] - будет всегда возвращать ‘aaa’

en-us	##### Example 1  Stop repetitive problem events from the same network port.  ![](../../../../assets/en/manual/config/event_correlation/correlation_example.png)  This global correlation rule will correlate problems if *Host* and *Port* tag values exist on the trigger and they are the same in the original event and the new one.  The operation will close new problem events on the same network port, keeping only the original problem open.
ru	##### Пример 1  Остановка повторяющихся событий о проблемах с одного и того же сетевого порта.  ![](../../../../assets/en/manual/config/event_correlation/correlation_example.png)  Такое глобальное правило корреляции сопоставит проблемы, если у триггера существуют значения тегов *Host* и *Port*, и они одинаковые как у оригинального события, так и у нового события.  Эта операция будет закрывать новые события о проблемах по тому же самому сетевому порту, оставив открытой только изначальную проблему.

en-us	##### Example 1  Temperature in server room is too high.  Problem expression:      last(/server/temp)>20  Recovery expression:      last(/server/temp)<=15
ru	##### Пример 1  Температура в серверной комнате слишком высокая.  Выражение проблемы:      last(/server/temp)>20  Выражение восстановления:      last(/server/temp)<=15

en-us	##### Example 1  The processor load is too high on Zabbix server.      last(/Zabbix server/system.cpu.load[all,avg1])>5  By using the function 'last()', we are referencing the most recent value. `/Zabbix server/system.cpu.load[all,avg1]` gives a short name of the monitored parameter. It specifies that the host is 'Zabbix server' and the key being monitored is 'system.cpu.load\[all,avg1\]'. Finally, `>5` means that the trigger is in the PROBLEM state whenever the most recent processor load measurement from Zabbix server is greater than 5.
ru	##### Пример 1  Высокая загрузка процессора на сервере Zabbix.      last(/Zabbix server/system.cpu.load[all,avg1])>5  Используя функцию 'last()', мы ссылаемся на самое последнее значение. '/Zabbix server/system.cpu.load[all,avg1]' представляет короткое имя наблюдаемого параметра. Эта строка указывает, что сервер - 'Zabbix server' и наблюдаемый ключ - 'system.cpu.load\[all,avg1\]'.  И, наконец, '>5' означает, что триггер будет переходить в состояние ПРОБЛЕМА всякий раз, когда самое последнее измерение загрузки процессора на сервере Zabbix server будет превышать 5.

en-us	##### Example 1  To create a "Web scenario failed" trigger, you can define a trigger expression:      last(/host/web.test.fail[Scenario])<>0  Make sure to replace 'Scenario' with the real name of your scenario.
ru	##### Пример 1  Для создания триггера "Ошибка в веб-сценарии", вы можете указать следующее выражение триггера:      last(/узел_сети/web.test.fail[Сценарий])<>0  Не забудьте заменить 'Сценарий' на реальное название вашего сценария.

en-us	##### Example 1  Total disk space of host group 'MySQL Servers'.      sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"]))
ru	##### Пример 1  Общий размер дискового пространства в группе узлов сети 'MySQL Servers'.      sum(last_foreach(/*/vfs.fs.size[/,total]?[group="MySQL Servers"]))

en-us	##### Example 1  Use of host-level macro in the "Status of SSH daemon" item key:  `net.tcp.service[ssh,,{$SSH_PORT}]`  This item can be assigned to multiple hosts, providing that the value of **{$SSH\_PORT}** is defined on those hosts.
ru	##### Пример 1  Использование макроса уровня узла сети в ключе элемента данных "Состояние демона SSH":  `net.tcp.service[ssh,{$SSH_PORT}]`  Этот элемент данных можно присоединить к нескольким узлам сети, при условии, что значение **{$SSH\_PORT}** указано на этих узлах сети.

en-us	##### Example 1  Use of the following expression in low-level discovery to discover databases except a database with a specific name:      ^TESTDATABASE$  ![regexp\_expr\_2.png](../../assets/en/manual/regular_expressions/regexp_expr_2.png)  Chosen *Expression type*: "Result is FALSE". Doesn't match name, containing string "*TESTDATABASE*".
ru	#### Пример 1  Использование следующего регулярного выражения в LLD для обнаружения баз данных не будет принимать во внимание базу данных с заданным именем:      ^TESTDATABASE$  ![regexp\_expr\_2.png](../../assets/en/manual/regular_expressions/regexp_expr_2.png)  Выбран *Тип выражения*: "Результат ЛОЖЬ". Не соответствует имени, содержащему строку "*TESTDATABASE*".

en-us	##### Example 1  Using host metadata to distinguish between Linux and Windows hosts.  Say you would like the hosts to be autoregistered by the Zabbix server. You have active Zabbix agents (see "Configuration" section above) on your network. There are Windows hosts and Linux hosts on your network and you have "Linux by Zabbix agent" and "Windows by Zabbix agent" templates available in your Zabbix frontend. So at host registration, you would like the appropriate Linux/Windows template to be applied to the host being registered. By default, only the hostname is sent to the server at autoregistration, which might not be enough. In order to make sure the proper template is applied to the host you should use host metadata.
ru	##### Пример 1  Использование метаданных узла сети для различения хостов Linux и Windows.  Допустим, вы хотите, чтобы узлы сети автоматически регистрировались сервером Zabbix. В вашей сети у вас есть активные агенты Zabbix (см. раздел «Конфигурация» выше). Также в вашей сети есть хосты Windows и хосты Linux, а в вашем веб-интерфейсе Zabbix вам доступны шаблоны «Linux by Zabbix agent» и «Windows by Zabbix agent». Поэтому вы хотите, чтобы при регистрации узла сети к регистрируемому узлу был применён соответствующий шаблон Linux/Windows. По умолчанию, на сервер при авторегистрации отправляется только имя узла сети, чего может быть недостаточно. Чтобы убедиться, что к узлу сети применяется правильный шаблон, вы должны использовать метаданные узла сети.

en-us	##### Example 2  Calculating a 10-minute average of the number of values processed by Zabbix.  Use of function **avg**:      avg(/Zabbix Server/zabbix[wcache,values],10m)  Note that extensive use of calculated items with long time periods may affect performance of Zabbix server.
ru	##### Пример 2  Вычисление 10-минутного усреднения количества значений, обрабатываемых Zabbix.  Использование функции **avg**:      avg(/Zabbix Server/zabbix[wcache,values],10m)  Обратите внимание, что интенсивное использование вычисляемых элементов данных с большими периодами времени может повлиять на производительность Zabbix сервера.

en-us	##### Example 2: Discovering MBean attributes  This rule will return 9 objects with the following fields: MBean1Attribute1, MBean2Attribute1, MBean3Attribute1,  MBean1Attribute2, MBean2Attribute2, MBean3Attribute2, MBean1Attribute3, MBean2Attribute3, MBean3Attribute3.  For more information about objects please refer to [supported macros](/manual/discovery/low_level_discovery/examples/jmx#supported_macros) table, *Discovery of MBean attributes* section.  Discovery rule configuration collecting MBean attributes looks like the following:  ![lld\_rule\_mbean\_attr.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean_attr.png)  The key used here:      jmx.discovery[attributes,"*:type=GarbageCollector,name=*"]  All the garbage collectors with a single item attribute will be discovered.  ![lld\_rule\_mbean\_attr\_prototypes.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean_attr_prototypes.png)  In this particular case an item will be created from prototype for every MBean attribute. The main drawback of this configuration is that trigger creation from trigger prototypes is impossible as there is only one item prototype for all attributes. So this setup can be used for data collection, but is not recommended for automatic monitoring.
ru	##### Пример 2: Обнаружение атрибутов MBean  Этот объект вернёт 9 объектов со следующими полями: MBean1Attribute1, MBean2Attribute1, MBean3Attribute1, MBean1Attribute2, MBean2Attribute2, MBean3Attribute2, MBean1Attribute3, MBean2Attribute3, MBean3Attribute3.  Для более подробной информации об объектах, пожалуйста, обратитесь к таблице [поддеживаемых макросов](/manual/discovery/low_level_discovery/examples/jmx#поддерживаемые-макросы), раздел *Обнаружение атрибутов MBean*.  Конфигурация правила обнаружения, собирающего атрибуты MBean, выглядит наподобие следующего:  ![lld\_rule\_mbean\_attr.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean_attr.png)  Используемый здесь ключ:      jmx.discovery[attributes,"*:type=GarbageCollector,name=*"]  Будут обнаружены все сборщики мусора с одним атрибутом.  ![lld\_rule\_mbean\_attr\_prototypes.png](../../../../../assets/en/manual/discovery/low_level_discovery/lld_rule_mbean_attr_prototypes.png)  В данном конкретном случае будет создан элемент данных из прототипа для каждого атрибута MBean. Главный недостаток этой конфигурации  - что невозможно создание триггера из прототипа триггера, поскольку имеется только один прототип элемента данных для всех атрибутов. Поэтому такая настройка может использоваться для сбора данных, но не рекомендуется для автоматического мониторинга.

en-us	##### Example 2  Free disk space is too low.  Problem expression: it is less than 10GB for last 5 minutes      max(/server/vfs.fs.size[/,free],5m)<10G  Recovery expression: it is more than 40GB for last 10 minutes      min(/server/vfs.fs.size[/,free],10m)>40G
ru	##### Пример 2  Очень мало свободного места на диске.  Выражение проблемы: если меньше 10ГБ за последние 5 минут      max(/server/vfs.fs.size[/,free],5m)<10G  Выражение восстановления: если больше 40ГБ за последние 10 минут      min(/server/vfs.fs.size[/,free],10m)>40G

en-us	##### Example 2  Let's add more sense!      UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive  This parameter can be used for monitoring availability of MySQL database. We can pass user name and password:      mysql.ping[zabbix,our_password]
ru	##### Пример 2  Давайте добавим больше смысла!      UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping | grep -c alive  Этот параметр можно использовать для мониторинга доступности баз данных MySQL. Параметрами мы можем передать имя пользователя и пароль:      mysql.ping[zabbix,our_password]

en-us	##### Example 2  Message:      Processor load is: {?last(/zabbix.zabbix.com/system.cpu.load[,avg1])}  When you receive the message, the message will be replaced by something like:      Processor load is: 1.45
ru	##### Пример 2  Сообщение:      Загрузка процессора: {?last(/zabbix.zabbix.com/system.cpu.load[,avg1])}  При получении сообщения, само сообщение будет заменено на нечто подобное:      Загрузка процессора: 1.45

en-us	##### Example 2  Monitoring of uptime:  |Parameter|Description| |--|--------| |**OID**|MIB::sysUpTime.0| |**Key**|router.uptime| |**Value type**|Float| |**Units**|uptime| |**Preprocessing step: Custom multiplier**|0.01|
ru	##### Пример 2  Мониторинг времени работы:  |Параметр|Описание| |--|--------| |**OID**|MIB::sysUpTime.0| |**Ключ**|router.uptime| |**Тип информации**|Числовой (с плавающей точкой)| |**Единица измерения**|uptime| |**Множитель**|0.01|

en-us	 ##### Example 2  Providing some of the parameters in the item key (supported since Zabbix 6.0.17).  Configuration parameters:  ```bash Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432 Plugins.PostgreSQL.Sessions.Session1.User=old_username Plugins.PostgreSQL.Sessions.Session1.Password=session_password ```  [Item key](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2): `pgsql.ping[session1,new_username,,postgres]`  As a result of this configuration, the agent will connect to PostgreSQL using the following parameters:  - URI from session parameter: *192.0.2.234:5432* - Username from the item key: *new_username* - Password from session parameter (since it is omitted in the item key): *session_password* - Database name from the item key: *postgres*
ru	##### Пример 2  Предоставление некоторых параметров в ключе элемента данных (поддерживается, начиная с Zabbix 6.0.17).  Параметры конфигурации:  ```bash Plugins.Postgres.Sessions.Session1.Uri=tcp://192.0.2.234:5432 Plugins.Postgres.Sessions.Session1.User=old_username Plugins.Postgres.Sessions.Session1.Password=session_password ```  [Ключ элемента данных](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2): `pgsql.ping[session1,new_username,,postgres]`  В результате таких настроек агент будет подключаться к PostgreSQL, используя следующие параметры:  - URI из параметров сессии: *192.0.2.234:5432* - Имя пользователя из ключа элемента данных: *new_username* - Пароль из параметров сессии (так как он опущен в ключе): *session_password* - Имя базы данных из ключа элемента данных: *postgres*

en-us	**Example 2**  Restart the host by using IPMI control.  |Script parameter|Value| |--|--------| |*Scope*|'Action operation'| |*Type*|'IPMI'| |*Command*|reset|
ru	**Пример 2**  Перезагрузка узла сети с использованием управления по IPMI.  |Параметр скрипта|Значение| |--|--------| |*Область*|'Операция действия'| |*Тип*|'IPMI'| |*Команда*|reset|

en-us	##### Example 2  Sending a delayed notification about a long-standing problem. To configure:  -   In Operations tab, set the *Default operation step duration* to     '10h' (10 hours) -   Set the escalation steps to be *From* '2' *To* '2'  ![](../../../../../assets/en/manual/config/escalations_b.png){width="600"}  A notification will only be sent at Step 2 of the escalation scenario, or 10 hours after the problem starts.  You can customize the message text to something like 'The problem is more than 10 hours old'.
ru	##### Пример 2  Отправка оповещения с задержкой о давней проблеме. Для настройки:  -   Задайте *Длительность шага операции по умолчанию* равным '10h' (10 часов) на вкладке *Операции* -   Укажите шаги эскалации *С* '2' *До* '2'  ![](../../../../../assets/en/manual/config/escalations_b.png){width="600"}  Оповещение будет отправлено только на Шаге 2 сценария эскалации, или через 10 часов после начала проблемы.  Вы можете изменить текст сообщения на что-то вроде 'Проблема не решена уже более чем 10 часов'.

en-us	##### Example 2  Send simple POST requests to retrieve data from services such as Elasticsearch:  -   Create a POST item with URL:     `http://localhost:9200/str/values/_search?scroll=10s` -   Configure the following POST body to obtain the processor load (1     min average per core)  ```{=html} <!-- --> ```     {         "query": {             "bool": {                 "must": [{                     "match": {                         "itemid": 28275                     }                 }],                 "filter": [{                     "range": {                         "clock": {                             "gt": 1517565836,                             "lte": 1517566137                         }                     }                 }]             }         }     }  -   Received:  ```{=html} <!-- --> ```     {         "_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAAkFllRMlZBWS1UU1pxTmdEeGVwQjRBTFEAAAAAAAAAJRZZUTJWQVktVFNacU5nRHhlcEI0QUxRAAAAAAAAACYWWVEyVkFZLVRTWnFOZ0R4ZXBCNEFMUQAAAAAAAAAnFllRMlZBWS1UU1pxTmdEeGVwQjRBTFEAAAAAAAAAKBZZUTJWQVktVFNacU5nRHhlcEI0QUxR",         "took": 18,         "timed_out": false,         "_shards": {             "total": 5,             "successful": 5,             "skipped": 0,             "failed": 0         },         "hits": {             "total": 1,             "max_score": 1.0,             "hits": [{                 "_index": "dbl",                 "_type": "values",                 "_id": "dqX9VWEBV6sEKSMyk6sw",                 "_score": 1.0,                 "_source": {                     "itemid": 28275,                     "value": "0.138750",                     "clock": 1517566136,                     "ns": 25388713,                     "ttl": 604800                 }             }]         }     }  -   Now use a JSONPath preprocessing step to get the item value:     `$.hits.hits[0]._source.value`
ru	##### Пример 2  Отправка простых POST запросов на получение данных с таких сервисов, как Elasticsearch:  -   Создайте POST элемент данных с URL:     `http://localhost:9200/str/values/_search?scroll=10s` -   Настройте следующее тело POST, чтобы получать загрузку процессора (среднее значение за 1 минуту по каждому ядру)  ```{=html} <!-- --> ```     {         "query": {             "bool": {                 "must": [{                     "match": {                         "itemid": 28275                     }                 }],                 "filter": [{                     "range": {                         "clock": {                             "gt": 1517565836,                             "lte": 1517566137                         }                     }                 }]             }         }     }  -   Получено:  ```{=html} <!-- --> ```     {         "_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAAkFllRMlZBWS1UU1pxTmdEeGVwQjRBTFEAAAAAAAAAJRZZUTJWQVktVFNacU5nRHhlcEI0QUxRAAAAAAAAACYWWVEyVkFZLVRTWnFOZ0R4ZXBCNEFMUQAAAAAAAAAnFllRMlZBWS1UU1pxTmdEeGVwQjRBTFEAAAAAAAAAKBZZUTJWQVktVFNacU5nRHhlcEI0QUxR",         "took": 18,         "timed_out": false,         "_shards": {             "total": 5,             "successful": 5,             "skipped": 0,             "failed": 0         },         "hits": {             "total": 1,             "max_score": 1.0,             "hits": [{                 "_index": "dbl",                 "_type": "values",                 "_id": "dqX9VWEBV6sEKSMyk6sw",                 "_score": 1.0,                 "_source": {                     "itemid": 28275,                     "value": "0.138750",                     "clock": 1517566136,                     "ns": 25388713,                     "ttl": 604800                 }             }]         }     }  -   Теперь используйте шаг предварительной обработки JSONPath, чтобы получить значение элемента данных: `$.hits.hits[0]._source.value`

en-us	##### Example 2  ***Step 1***  Using host metadata to allow some basic protection against unwanted hosts registering.
ru	##### Пример 2  ***Шаг 1***  Использование метаданных узла для обеспечения некоторой базовой защиты от регистрации нежелательных узлов сети.

en-us	##### Example 2  Sum of latest values of all items matching net.if.in\[\*\] on the host.      sum(last_foreach(/host/net.if.in[*]))
ru	##### Пример 2  Сумма последних значений на узле сети всех элементов данных, совпадающих с net.if.in\[\*\].      sum(last_foreach(/host/net.if.in[*]))

en-us	##### Example 2  To create a "Web scenario failed" trigger with a useful problem description in the trigger name, you can define a trigger with name:      Web scenario "Scenario" failed: {ITEM.VALUE}  and trigger expression:      length(last(/host/web.test.error[Scenario]))>0 and last(/host/web.test.fail[Scenario])>0  Make sure to replace 'Scenario' with the real name of your scenario.
ru	##### Пример 2  Для создания триггера "Веб-сценарий завершился ошибкой" с полезным описанием проблемы в имени триггера, вы можете указать триггер с именем:      Веб сценарий "​Scenario"​ завершился ошибкой: {ITEM.VALUE}  и выражением триггера:      length(last(/узел_сети/web.test.error[Сценарий]))>0 and last(/узел_сети/web.test.fail[Сценарий])>0  Не забудьте заменить 'Сценарий' на реальное название вашего сценария.

en-us	##### Example 2  Use of host-level macro in the "CPU load is too high" trigger:  `last(/ca_001/system.cpu.load[,avg1])>{$MAX_CPULOAD}`  Such a trigger would be created on the template, not edited in individual hosts.  ::: notetip If you want to use the amount of values as the function parameter (for example, **max(/host/key,\#3)**), include hash mark in the macro definition like this: SOME\_PERIOD => \#3 :::
ru	##### Пример 2  Использование макроса уровня узла сети в триггере "Загрузка CPU слишком высокая":  `last(/ca_001/system.cpu.load[,avg1])>{$MAX_CPULOAD}`  Такой триггер можно создать на уровне шаблона, а не редактировать на отдельных узлах сети.  ::: notetip Если вы хотите использовать количество значений в качестве параметра функции (например, **max(/узел сети/ключ,\#3)**), добавьте символ решётки (\#) непосредственно в значение макроса, например вот так: SOME\_PERIOD ⇒ \#3 :::

en-us	##### Example 2  www.example.com is overloaded.      last(/www.example.com/system.cpu.load[all,avg1])>5 or min(/www.example.com/system.cpu.load[all,avg1],10m)>2   The expression is true when either the current processor load is more than 5 or the processor load was more than 2 during last 10 minutes.
ru	##### Пример 2  www.example.com перегружен      last(/www.example.com/system.cpu.load[all,avg1])>5 or min(/www.example.com/system.cpu.load[all,avg1],10m)>2  Это выражение будет истинным, когда либо текущая загрузка процессора станет более 5, либо загрузка процессора больше значения 2 в течение последних 10 минут.

en-us	##### Example 3  Average processor load of host group 'MySQL Servers'.      avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"]))
ru	##### Пример 3  Средняя загрузка процессора в группе узлов сети 'MySQL Servers'.      avg(last_foreach(/*/system.cpu.load[,avg1]?[group="MySQL Servers"]))

en-us	##### Example 3  Calculating total bandwidth on eth0.  Sum of two functions:      last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])
ru	##### Пример 3  Вычисление общей пропускной способности на eth0.  Сумма двух функций:      last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes])

en-us	##### Example 3  Checking if Zabbix API is alive, using [apiinfo.version](/manual/api/reference/apiinfo/version).  -   Item configuration:  ![](../../../../../assets/en/manual/config/items/itemtypes/example3_a.png)  Note the use of the POST method with JSON data, setting request headers and asking to return headers only:  -   Item value preprocessing with regular expression to get HTTP code:  ![](../../../../../assets/en/manual/config/items/itemtypes/example3_b.png)  -   Checking the result in *Latest data*:  ![](../../../../../assets/en/manual/config/items/itemtypes/example3_c.png){width="600"}
ru	##### Пример 3  Проверка, доступен ли Zabbix API, используя [apiinfo.version](/manual/api/reference/apiinfo/version).  -   Настройка элемента данных:  ![](../../../../../assets/en/manual/config/items/itemtypes/example3_a.png)  Обратите внимание на использование POST метода с JSON данными, с настройкой заголовков в запросе и получением только заголовков.  -   Предварительная обработка значений элемента данных при помощи регулярного выражения, чтобы получить HTTP код:  ![](../../../../../assets/en/manual/config/items/itemtypes/example3_b.png)  -   Проверка результата в *Последние данные*:  ![](../../../../../assets/en/manual/config/items/itemtypes/example3_c.png){width="600"}

en-us	 ##### Example 3  Collecting a metric using default configuration parameters.  Configuration parameters:  ```bash Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432 Plugins.PostgreSQL.Default.User=zabbix Plugins.PostgreSQL.Default.Password=password ```  [Item key](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2): `pgsql.ping[,,,postgres]`  As a result of this configuration, the agent will connect to PostgreSQL using the parameters:  - Default URI: *192.0.2.234:5432* - Default username: *zabbix* - Default password: *password* - Database name from the item key: *postgres*
ru	##### Пример 3  Сбор метрик, используя параметры конфигурации по умолчанию.  Параметры конфигурации:  ```bash Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432 Plugins.PostgreSQL.Default.User=zabbix Plugins.PostgreSQL.Default.Password=password ```  [Ключ элемента данных](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2): `pgsql.ping[,,,postgres]`  В результате таких настроек, агент будет подключаться к PostgreSQL, используя следующие параметры:  - URI по умолчанию: *192.0.2.234:5432* - Имя пользователя по умолчанию: *zabbix* - Пароль по умолчанию: *password* - Имя базы данных из ключа элемента данных: *postgres*

en-us	##### Example 3  Escalating the problem to the Boss.  In the first example above we configured periodical sending of messages to MySQL administrators. In this case, the administrators will get four messages before the problem will be escalated to the Database manager. Note that the manager will get a message only in case the problem is not acknowledged yet, supposedly no one is working on it.  ![](../../../../../assets/en/manual/config/escalations_c.png){width="600"}  Details of Operation 2:  ![](../../../../../assets/en/manual/config/escalations_cc.png)  Note the use of {ESC.HISTORY} macro in the customized message. The macro will contain information about all previously executed steps on this escalation, such as notifications sent and commands executed.
ru	##### Пример 3  Эскалирование проблемы Руководству.  В первом примере мы настраивали периодическую отправку сообщений Администраторам MySQL. В данном же случае администраторы получат четыре сообщения до того, как проблема будет эскалирована Менеджеру баз данных. Обратите внимание, что менеджер получит сообщение только в случае, если проблема ещё не подтверждена, предположительно, никто не работает над ней.  ![](../../../../../assets/en/manual/config/escalations_c.png){width="600"}  Детали Операции 2:  ![](../../../../../assets/en/manual/config/escalations_cc.png)  Обратите внимание на использование макроса {ESC.HISTORY} в сообщении. Этот макрос будет содержать информацию обо всех ранее выполненных шагах этой эскалации, таких как отправленные оповещения и выполненные команды.

en-us	##### Example 3  /etc/passwd has been changed.      last(/www.example.com/vfs.file.cksum[/etc/passwd],#1)<>last(/www.example.com/vfs.file.cksum[/etc/passwd],#2)  The expression is true when the previous value of /etc/passwd checksum differs from the most recent one.  Similar expressions could be useful to monitor changes in important files, such as /etc/passwd, /etc/inetd.conf, /kernel, etc.
ru	##### Пример 3  /etc/passwd был изменён.      last(/www.example.com/vfs.file.cksum[/etc/passwd],#1)<>last(/www.example.com/vfs.file.cksum[/etc/passwd],#2)  Это выражение будет истинным, когда предыдущее значение контрольной суммы файла /etc/passwd отличается от самого нового значения.  Аналогичные выражения могут быть полезны для мониторинга изменений в важных файлах, таких как /etc/passwd, /etc/inetd.conf, /kernel и других.

en-us	##### Example 3  How many lines matching a regular expression in a file?      UserParameter=wc[*],grep -c "$2" $1  This parameter can be used to calculate number of lines in a file.      wc[/etc/passwd,root]     wc[/etc/services,zabbix]
ru	##### Пример 3  Сколько строк в файле, которые соответствуют регулярному выражению?      UserParameter=wc[*],grep -c "$2" $1  Этот параметр можно использовать для подсчета количества строк в файле.      wc[/etc/passwd,root]     wc[/etc/services,zabbix]

en-us	##### Example 3  Message:      Latest value: {?last(/{HOST.HOST}/{ITEM.KEY})}     MAX for 15 minutes: {?max(/{HOST.HOST}/{ITEM.KEY},15m)}     MIN for 15 minutes: {?min(/{HOST.HOST}/{ITEM.KEY},15m)}  When you receive the message, the message will be replaced by something like:      Latest value: 1.45     MAX for 15 minutes: 2.33     MIN for 15 minutes: 1.01
ru	##### Пример 3  Сообщение:      Последнее значение: {?last(/{HOST.HOST}/{ITEM.KEY})}     МАКС за 15 минут: {?max(/{HOST.HOST}/{ITEM.KEY},15m)}     МИН за 15 минут: {?min(/{HOST.HOST}/{ITEM.KEY},15m)}  При получении сообщения, само сообщение будет заменено на нечто подобное:      Последнее значение: 1.45     МАКС за 15 минут: 2.33     МИН за 15 минут: 1.01

en-us	**Example 3**  Power off the host by using IPMI control.  |Script parameter|Value| |--|--------| |*Scope*|'Action operation'| |*Type*|'IPMI'| |*Command*|power off|
ru	**Пример 3**  Выключение хоста с использованием управления по IPMI.  |Параметр скрипта|Значение| |--|--------| |*Область*|'Операция действия'| |*Тип*|'IPMI'| |*Команда*|power off|

en-us	##### Example 3  To create a "Web application is slow" trigger, you can define a trigger expression:      last(/host/web.test.in[Scenario,,bps])<10000  Make sure to replace 'Scenario' with the real name of your scenario.
ru	##### Пример 3  Для создания триггера "Веб-приложение медленно отвечает", вы можете указать следующее выражение триггера:      last(/узел_сети/web.test.in[Сценарий,,bps])<10000  Не забудьте заменить 'Сценарий' на реальное название вашего сценария.

en-us	##### Example 3  Use of two macros in the "CPU load is too high" trigger:  `min(/ca_001/system.cpu.load[,avg1],{$CPULOAD_PERIOD})>{$MAX_CPULOAD}`  Note that a macro can be used as a parameter of trigger function, in this example function **min()**.
ru	##### Пример 3  Использование двух макросов в триггере "Загрузка CPU слишком высокая":  `min(/ca_001/system.cpu.load[,avg1],{$CPULOAD_PERIOD})>{$MAX_CPULOAD}`  Обратите внимание, что макрос можно использовать как параметр триггерной функции, в данном примере в функции **min()**.

en-us	##### Example 4  5-minute average of the number of queries per second for host group 'MySQL Servers'.      avg(avg_foreach(/*/mysql.qps?[group="MySQL Servers"],5m))
ru	##### Пример 4  Усреднение за 5 минут количества запросов в секунду по группе узлов сети 'MySQL Servers'.      avg(avg_foreach(/*/mysql.qps?[group="MySQL Servers"],5m))

en-us	##### Example 4  A more complex scenario. After multiple messages to MySQL administrators and escalation to the manager, Zabbix will try to restart the MySQL database. It will happen if the problem exists for 2:30 hours and it hasn't been acknowledged.  If the problem still exists, after another 30 minutes Zabbix will send a message to all guest users.  If this does not help, after another hour Zabbix will reboot server with the MySQL database (second remote command) using IPMI commands.  ![](../../../../../assets/en/manual/config/escalations_d.png){width="600"}
ru	##### Пример 4  Более сложный сценарий. После нескольких сообщений Администраторам MySQL и эскалации менеджеру, Zabbix попытается перезапустить базу данных MySQL. Это произойдёт, если через 2:30 часа проблема присутствует и не была подтверждена.  Если проблема всё ещё существует, спустя ещё 30 минут Zabbix отправит сообщение всем гостевым пользователям.  Если и это не поможет, спустя ещё час Zabbix перезагрузит сервер с этой базой данных MySQL (вторая удалённая команда), используя IPMI команды.  ![](../../../../../assets/en/manual/config/escalations_d.png){width="600"}

en-us	##### Example 4  Calculating percentage of incoming traffic.  More complex expression:      100*last(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]))  See also: [Examples of aggregate calculations](/manual/config/items/itemtypes/calculated/aggregate#usage_examples)
ru	##### Пример 4  Вычисление процентного отношения входящего трафика.  Более сложное выражение:      100*last(//net.if.in[eth0,bytes])/(last(//net.if.in[eth0,bytes])+last(//net.if.out[eth0,bytes]))  Смотрите также: [Примеры агрегированных вычислений](/manual/config/items/itemtypes/calculated/aggregate#примеры_использования)

en-us	##### Example 4  Message:      http://<server_ip_or_name>/zabbix/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}  When you receive the message, it will contain a link to the *Event details* page, which provides information about the event, its trigger, and a list of latest events generated by the same trigger.
ru	##### Пример 4  Сообщение:      http://<server_ip_or_name>/zabbix/tr_events.php?triggerid={TRIGGER.ID}&eventid={EVENT.ID}  Полученное сообщение будет содержать ссылку на страницу *Детали события*, которая предоставит информацию о событии, его триггере и списке последних событий, сгенерированных этим триггером.

en-us	##### Example 4  Retrieving weather information by connecting to the Openweathermap public service.  -   Configure a master item for bulk data collection in a single JSON:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_a.png)  Note the usage of macros in query fields. Refer to the [Openweathermap API](https://openweathermap.org/current) for how to fill them.  Sample JSON returned in response to HTTP agent:  ``` {.json} {     "body": {         "coord": {             "lon": 40.01,             "lat": 56.11         },         "weather": [{             "id": 801,             "main": "Clouds",             "description": "few clouds",             "icon": "02n"         }],         "base": "stations",         "main": {             "temp": 15.14,             "pressure": 1012.6,             "humidity": 66,             "temp_min": 15.14,             "temp_max": 15.14,             "sea_level": 1030.91,             "grnd_level": 1012.6         },         "wind": {             "speed": 1.86,             "deg": 246.001         },         "clouds": {             "all": 20         },         "dt": 1526509427,         "sys": {             "message": 0.0035,             "country": "RU",             "sunrise": 1526432608,             "sunset": 1526491828         },         "id": 487837,         "name": "Stavrovo",         "cod": 200     } } ```  The next task is to configure dependent items that extract data from the JSON.  -   Configure a sample dependent item for humidity:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_b.png)  Other weather metrics such as 'Temperature' are added in the same manner.  -   Sample dependent item value preprocessing with JSONPath:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_c.png)  -   Check the result of weather data in *Latest data*:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_d.png){width="600"}
ru	##### Пример 4  Получение информации о погоде с публичного сервиса Openweathermap.  -   Настройка основного элемента данных для массового сбора данных в одном JSON:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_a.png)  Обратите внимание на использование макросов в полях запроса. Обратитесь к [Openweathermap API](https://openweathermap.org/current) для получения подробных сведений о том, чем их заполнять.  Пример JSON, который вернулся в ответе на HTTP агент:  ``` {.json} {     "body": {         "coord": {             "lon": 40.01,             "lat": 56.11         },         "weather": [{             "id": 801,             "main": "Clouds",             "description": "few clouds",             "icon": "02n"         }],         "base": "stations",         "main": {             "temp": 15.14,             "pressure": 1012.6,             "humidity": 66,             "temp_min": 15.14,             "temp_max": 15.14,             "sea_level": 1030.91,             "grnd_level": 1012.6         },         "wind": {             "speed": 1.86,             "deg": 246.001         },         "clouds": {             "all": 20         },         "dt": 1526509427,         "sys": {             "message": 0.0035,             "country": "RU",             "sunrise": 1526432608,             "sunset": 1526491828         },         "id": 487837,         "name": "Stavrovo",         "cod": 200     } } ```  Следующая задача - настройка зависимых элементов данных, которые извлекут данные из JSON.  -   Настройка примера зависимого элемента данных для влажности:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_b.png)  Другие метрики погоды, такие как 'Температура', добавляются тем же способом.  -   Пример предобработки значений зависимого элемента данных с использованием JSONPath:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_c.png)  -   Проверка результата данных о погоде в *Последние данные*:  ![](../../../../../assets/en/manual/config/items/itemtypes/example4_d.png){width="600"}

en-us	##### Example 4  Someone is downloading a large file from the Internet.  Use of function min:      min(/www.example.com/net.if.in[eth0,bytes],5m)>100K  The expression is true when number of received bytes on eth0 is more than 100 KB within last 5 minutes.
ru	##### Пример 4  Кто-то в данный момент скачивает большой файл из Интернет  Используется функция min:      min(/www.example.com/net.if.in[eth0,bytes],5m)>100K  Это выражение будет истинным, когда количество полученных байт на eth0 превышает 100 КБ за последних 5 минут.

en-us	##### Example 4  Synchronize the agent unavailability condition with the item update interval:  -   define {$INTERVAL} macro and use it in the item update interval; -   use {$INTERVAL} as parameter of the agent unavailability trigger:  `nodata(/ca_001/agent.ping,{$INTERVAL})=1`
ru	##### Пример 4  Синхронизация условия недоступности агентов с интервалом обновления элемента данных:  -   задайте макрос {$INTERVAL} и используйте его в интервале обновления элемента данных; -   используйте {$INTERVAL} как параметр в триггере на недоступность агента:  `nodata(/ca_001/agent.ping,{$INTERVAL})=1`

en-us	##### Example 5  An escalation with several operations assigned to one step and custom intervals used. The default operation step duration is 30 minutes.  ![](../../../../../assets/en/manual/config/escalations_e.png){width="600"}  Notifications will be sent as follows:  -   to MySQL administrators at 0:00, 0:30, 1:00, 1:30 after the problem     starts -   to Database manager at 2:00 and 2:10 (and not at 3:00; seeing that     steps 5 and 6 overlap with the next operation, the shorter custom     step duration of 10 minutes in the next operation overrides the     longer step duration of 1 hour tried to set here) -   to Zabbix administrators at 2:00, 2:10, 2:20 after the problem     starts (the custom step duration of 10 minutes working) -   to guest users at 4:00 hours after the problem start (the default     step duration of 30 minutes returning between steps 8 and 11)
ru	##### Пример 5  Эскалация с несколькими операциями, назначенными на один шаг, и с использованием пользовательских интервалов. Длительность шага операции по умолчанию равна 30 минутам.  ![](../../../../../assets/en/manual/config/escalations_e.png){width="600"}  Оповещения будут отправлены в следующем порядке:  -   администраторам MySQL в 0:00, 0:30, 1:00, 1:30 после начала проблемы -   менеджеру баз данных в 2:00 и 2:10 (но не в 3:00; учитывая, что шаги 5 и 6 перекрываются со следующей операцией, более короткая пользовательская длительность в 10 минут перекрывает более длительную пользовательскую длительность, равную 1 часу) -   Zabbix администраторам в 2:00, 2:10, 2:20, 2:30 после начала проблемы (задана пользовательская длительность шага, равная 10 минутам) -   гостевым пользователям в 4:00 часа после начала проблемы (интервал по умолчанию, равный 30 минутам, возвращается между шагами 8 и 11)

en-us	##### Example 5  Average CPU load on all hosts in multiple host groups that have the specific tags.      avg(last_foreach(/*/system.cpu.load?[(group="Servers A" or group="Servers B" or group="Servers C") and (tag="Service:" or tag="Importance:High")]))
ru	##### Пример 5  Средняя загрузка CPU по всем узлам сети в нескольких группах узлов сети, у которых имеются заданные теги.      avg(last_foreach(/*/system.cpu.load?[(group="Servers A" or group="Servers B" or group="Servers C") and (tag="Service:" or tag="Importance:High")]))

en-us	##### Example 5  Both nodes of clustered SMTP server are down.  Note use of two different hosts in one expression:      last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0  The expression is true when both SMTP servers are down on both smtp1.example.com and smtp2.example.com.
ru	##### Пример 5  Оба узла кластера SMTP серверов недоступны  Обратите внимание на то, что в выражении используются два разных узла сети:      last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0  Это выражение будет истинным, когда оба SMTP сервера недоступны - и на smtp1.example.com, и на smtp2.example.com.

en-us	##### Example 5  Centralize configuration of working hours:  -   create a global {$WORKING\_HOURS} macro equal to `1-5,09:00-18:00`; -   use it in the *Working time* field in *Administration* → *General* →     *GUI*; -   use it in the *When active* field in *Administration* → *User* →     *Media*; -   use it to set up more frequent item polling during working hours:  ![](../../../../assets/en/manual/config/macros/usermacro_example5.png)  -   use it in the *Time period* action condition; -   adjust the working time in *Administration* → *General* → *Macros*,     if needed.
ru	##### Пример 5  Централизованная настройка рабочего времени:  -   создайте глобальный макрос {$WORKING\_HOURS}, равный значению `1-5,09:00-18:00`; -   используйте его в поле *Рабочее время* в разделе *Администрирование* → *Общие* → *Веб-интерфейс*; -   используйте его в поле *Когда активно* в *Администрирование* → *Пользователь* → *Оповещения*; -   используйте его для настройки более частого опроса элементов данных в течение рабочего времени:  ![](../../../../assets/en/manual/config/macros/usermacro_example5.png)  -   используйте его в условии действия *Период времени*; -   измените рабочее время в *Администрирование* → *Общие* → *Макросы* при необходимости.