[comment]: # ({bd6224b0-bd6224b0})
# 1 Настройка правила сетевого обнаружения

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

[comment]: # ({d0972226-466f5982})
#### Обзор

Чтобы настроить правило обнаружения сети, используемое Zabbix для обнаружения узлов сети
и сервисов:

-   Перейдите в *Сбор данных → Обнаружение*
-   Нажмите *Создать правило обнаружения* (или на имя правила, чтобы изменить существующее)
-   Измените атрибуты правила обнаружения

[comment]: # ({/d0972226-466f5982})

[comment]: # ({996de9ff-f020a6f3})
#### Атрибуты правила

![](../../../../assets/en/manual/discovery/network_discovery/d_rule.png){width="600"}

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

|Параметр|Описание|
|--|--------|
|*Name*|Уникальное имя правила. Например, "Локальная сеть".|
|*Discovery by*|Обнаружение выполняется:<br>**Server** — сервером Zabbix<br>**Proxy** — прокси Zabbix (выбирается в поле имени прокси)|
|*IP range*|Диапазон IP-адресов для обнаружения. Может иметь следующие форматы:<br>Одиночный IP: 192.168.1.33<br>Диапазон IP-адресов: 192.168.1-10.1-255. Диапазон ограничен общим количеством охватываемых адресов (менее 64K).<br>Маска IP: 192.168.4.0/24<br>поддерживаемые маски IP:<br>/16 - /30 для адресов IPv4<br>/112 - /128 для адресов IPv6<br>Список: 192.168.1.1-255, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24<br>Это поле поддерживает пробелы, табуляцию и несколько строк.|
|*Update interval*|Этот параметр определяет, как часто Zabbix будет выполнять правило.<br>Интервал отсчитывается после завершения выполнения предыдущего экземпляра обнаружения, поэтому перекрытия не происходит.<br>Поддерживаются [суффиксы времени](/manual/appendix/suffixes), например 30s, 1m, 2h, 1d.<br>Поддерживаются [пользовательские макросы](/manual/config/macros/user_macros).<br>Обратите внимание, что если используется пользовательский макрос и его значение изменяется (например, 1w → 1h), следующая проверка будет выполнена в соответствии с предыдущим значением (в приведенном примере — значительно позже).|
|*Maximum concurrent checks per type*|Установите максимальное количество потоков обнаружения (workers) на одну проверку сервиса для параллельной обработки проверок обнаружения:<br>**One** — один поток<br>**Unlimited** — неограниченное количество потоков (но не больше, чем задано параметром [StartDiscoverers](/manual/appendix/config/zabbix_server#startdiscoverers))<br>**Custom** — укажите пользовательское количество потоков (0-999)<br>Обратите внимание, что все правила обнаружения с асинхронными проверками сервисов SNMPv3 обрабатываются одним worker из-за особенностей реализации libsnmp, то есть увеличение количества workers не приведет к увеличению скорости обнаружения.|
|*Checks*|Zabbix будет использовать этот список проверок для обнаружения. Нажмите ![](../../../../assets/en/manual/discovery/network_discovery/add_link.png), чтобы настроить новую проверку во всплывающем окне.<br>Поддерживаемые проверки: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Telnet, агент Zabbix, агент SNMPv1, агент SNMPv2, агент SNMPv3, ICMP ping.<br>Обнаружение на основе протокола использует функциональность **net.tcp.service\[\]** для проверки каждого узла сети, за исключением SNMP, где выполняется запрос SNMP OID. агент Zabbix проверяется путем запроса элемента данных в незашифрованном режиме. Подробнее см. [элементы данных агента](/manual/config/items/itemtypes/zabbix_agent).<br>Параметр 'Ports' может иметь один из следующих форматов:<br>Одиночный порт: 22<br>Диапазон портов: 22-45<br>Список: 22-45,55,60-70<br>Начиная с Zabbix 7.0. все проверки сервисов выполняются асинхронно, кроме проверок LDAP.<br>Начиная с Zabbix 7.0 проверка HTTP/HTTPs выполняется через libcurl. Если сервер/прокси Zabbix скомпилирован без libcurl, тогда проверки HTTP будут работать как в предыдущих версиях (то есть как TCP-проверки), а проверки HTTPS работать не будут.|
|*Device uniqueness criteria*|Критериями уникальности могут быть:<br>**IP address** — не обрабатывать несколько устройств с одним IP-адресом. Если устройство с таким же IP уже существует, оно будет считаться уже обнаруженным, и новый узел сети добавлен не будет.<br>**<discovery check>** — либо проверка агента Zabbix, либо проверка агента SNMP.<br>Обратите внимание, что критерий уникальности, используемый при обнаружении, не совпадает с идентификацией узла сети в системе при выполнении действий. Критерий уникальности при обнаружении определяет, являются ли два или более обнаруженных устройства одинаковыми (или разными), тогда как в Zabbix критерием идентификации узла сети является только IP-адрес (см. [Создание узла сети](/manual/discovery/network_discovery#host-creation)).|
|*Host name*|Задайте техническое имя создаваемого узла сети, используя:<br>**DNS name** — DNS-имя (по умолчанию)<br>**IP address** — IP-адрес<br>**<discovery check>** — полученное строковое значение проверки обнаружения (например, агент Zabbix, проверка агента SNMP)<br>См. также: [Именование узлов сети](/manual/discovery/network_discovery#host-naming).|
|*Visible name*|Задайте видимое имя создаваемого узла сети, используя:<br>**Host name** — техническое имя узла сети (по умолчанию)<br>**DNS name** — DNS-имя<br>**IP address** — IP-адрес<br>**<discovery check>** — полученное строковое значение проверки обнаружения (например, агент Zabbix, проверка агента SNMP)<br>См. также: [Именование узлов сети](/manual/discovery/network_discovery#host-naming).|
|*Enabled*|Если флажок установлен, правило активно и будет выполняться сервером Zabbix.<br>Если флажок снят, правило неактивно. Оно не будет выполняться.|

[comment]: # ({/996de9ff-f020a6f3})

[comment]: # ({e9390cef-67a97e37})
##### Превышение лимита файловых дескрипторов

В случае большого количества одновременных проверок возможно исчерпание лимита файловых дескрипторов для [менеджера обнаружения](/manual/concepts/server#server-process-types-and-threads).

Количество файловых дескрипторов, необходимых для обнаружения, равно числу процессов обнаружения * 1000.
По умолчанию используется 5 [процессов обнаружения](/manual/appendix/config/zabbix_server#startdiscoverers), тогда как мягкий лимит системы составляет примерно 1024.

Если этот лимит приближается к исчерпанию, Zabbix уменьшит используемое по умолчанию количество одновременных проверок каждого типа для каждого процесса и запишет предупреждение в файл журнала.
Однако если пользователь установил для *Maximum concurrent checks per type* значение выше, чем значение, вычисленное Zabbix, Zabbix будет использовать заданное пользователем значение для одного процесса.

[comment]: # ({/e9390cef-67a97e37})

[comment]: # ({cd84714a-cd84714a})
#### Реальный сценарий

В этом примере мы хотим настроить обнаружение сети для локальной
сети с диапазоном IP-адресов 192.168.1.1-192.168.1.254.

В нашем сценарии мы хотим:

-   обнаруживать те узлы сети, на которых запущен агент Zabbix
-   выполнять обнаружение каждые 10 минут
-   добавлять узел сети в мониторинг, если время непрерывной работы узла сети превышает 1 час
-   удалять узлы сети, если время простоя узла сети превышает 24 часа
-   добавлять Linux-узлы сети в группу "Linux servers"
-   добавлять Windows-узлы сети в группу "Windows servers"
-   использовать шаблон *Linux* для Linux-узлов сети
-   использовать шаблон *Windows* для Windows-узлов сети

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

[comment]: # ({d8bdedb7-78f4f491})
##### Шаг 1

Определение правила обнаружения сети для нашего диапазона IP-адресов.

![](../../../../assets/en/manual/discovery/network_discovery/discovery.png){width="600"}

Zabbix попытается обнаружить узлы сети в диапазоне IP-адресов
192.168.1.1-192.168.1.254, подключаясь к агентам Zabbix и получая
значение из ключа **system.uname**. Значение, полученное от агента,
может использоваться для присвоения имен узлам сети, а также для применения различных действий к
разным операционным системам. Например, связывать серверы Windows с
шаблоном *Windows*, а серверы Linux — с шаблоном *Linux*.

Правило будет выполняться каждые 10 минут.

После добавления этого правила Zabbix автоматически начнет обнаружение
и генерацию событий на основе обнаружения для дальнейшей обработки.

[comment]: # ({/d8bdedb7-78f4f491})

[comment]: # ({b8e28285-b8e28285})
##### Шаг 2

Определение [действия](/manual/config/notifications/action) обнаружения для
добавления обнаруженных Linux-серверов в соответствующую группу/шаблон.

![](../../../../assets/en/manual/discovery/network_discovery/discov_action.png)

Действие будет активировано, если:

-   служба "Zabbix агент" находится в состоянии "up"
-   значение system.uname (ключ Zabbix агента, который мы использовали при
    определении правила) содержит "Linux"
-   Uptime составляет 1 час (3600 секунд) или более

![](../../../../assets/en/manual/discovery/network_discovery/discov_action_b.png)

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

-   добавить обнаруженный узел сети в группу "Linux servers" (а также добавить
    узел сети, если он не был добавлен ранее)
-   привязать узел сети к шаблону *Linux*. Zabbix автоматически начнет
    мониторинг узла сети, используя элементы данных и триггеры из шаблона "Linux".

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

[comment]: # ({b1d8800e-b1d8800e})
##### Шаг 3

Определение действия обнаружения для добавления обнаруженных серверов Windows в
соответствующую группу/шаблон.

![](../../../../assets/en/manual/discovery/network_discovery/discov_action_win.png)

![](../../../../assets/en/manual/discovery/network_discovery/discov_action_win_b.png)

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

[comment]: # ({79eefb1b-79eefb1b})
##### Шаг 4

Определение действия обнаружения для удаления потерянных серверов.

![](../../../../assets/en/manual/discovery/network_discovery/discov_action_remove.png)

![](../../../../assets/en/manual/discovery/network_discovery/discov_action_remove_b.png)

Сервер будет удалён, если служба "Zabbix агент" находится в состоянии 'down' более
24 часов (86400 секунд).

[comment]: # ({/79eefb1b-79eefb1b})
