[comment]: # translation:outdated

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

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

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

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

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

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

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

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

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

|Параметр|Описание|
|--|--------|
|*Имя (Name)*|Уникальное имя правила. Например, «Локальная сеть».|
|*Обнаружение через*<br>*(Discovery by)*|Обнаружение выполняется:<br>**Сервер (Server)** — Zabbix сервером<br>**Прокси (Proxy)** — Zabbix прокси сервером (выбранным в поле имени прокси)|
|*Диапазон IP адресов*<br>*(IP range)*|Диапазон IP адресов обнаружения. Может принимать следующие форматы:<br>Один IP: 192.168.1.33<br>Диапазон IP адресов: 192.168.1-10.1-255. Диапазон ограничен общим количеством покрываемых адресов (менее чем 64К).<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>Это поле поддерживает пробелы, символы табуляции и многострочность.|
|*Интервал обновления*<br>*(Update interval)*|Этот параметр определяет, как часто Zabbix будет выполнять это правило.<br>Задержка отсчитывается после того, как завершится выполнение предыдущего процесса обнаружения; таким образом, перекрытия не произойдёт.<br>Поддерживаются [суффиксы времени](/manual/appendix/suffixes), например, 30s, 1m, 2h, 1d.<br>Поддерживаются [пользовательские макросы](/manual/config/macros/user_macros).<br>*Обратите внимание*, что, если используется пользовательский макрос и его значение изменилось (к примеру, 1w → 1h), следующая проверка будет выполнена в соответствии с предыдущим значением (далеко в будущем для данного примера значений).|
|*Максимум одновременных проверок по каждому типу*<br>*(Maximum concurrent checks per type)*|Задаёт максимальное количество рабочих потоков обнаружения (workers) на проверку сервиса для параллельной обработки проверок обнаружения:<br>**Одна (One)** — один поток<br>**Без ограничения (Unlimited)** — неограниченное количество потоков (но не более, чем в параметре [StartDiscoverers](/manual/appendix/config/zabbix_server#startdiscoverers))<br>**Пользовательское (Custom)** — задаёт пользовательское количество потоков (0-999)<br>Обратите внимание, что все правила обнаружения с асинхронными проверками сервисов SNMPv3 обрабатываются одним рабочим процессом из-за особенностей реализации libsnmp, т.е. увеличение числа рабочих процессов не повысит скорость обнаружения.|
|*Проверки*<br>*(Checks)*|Zabbix будет использовать этот список проверок для обнаружения.<br>Нажмите на ![](../../../../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>Параметр «Порты» может принимать следующие значения:<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 работать не будут.|
|*Критерий уникальности устройства*<br>*(Device uniqueness criteria)*|Критерием уникальности может быть:<br>**IP адрес (IP address)** — не обрабатывать несколько устройств с одним IP адресом. Если устройство с таким же IP адресом уже существует, то оно будет считаться уже обнаруженным и новый узел сети не будет добавлен.<br>**<проверка обнаружения>** — либо проверка Zabbix агента, либо проверка SNMP.<br>Обратите внимание, что критерии уникальности, используемые во время обнаружения, — это не то же самое, что идентификация узла сети в системе при выполнении действий. Критерии уникальности во время обнаружения определяют, являются ли два или более обнаруженных устройств одинм и тем же (или разными), тогда как критерием идентификации узла сети в Zabbix является только IP адрес (см. [Создание узлов сети](/manual/discovery/network_discovery#создание-узлов-сети)).|
|*Имя узла сети*<br>*(Host name)*|Задаёт техническое имя создаваемого узла сети, используя:<br>**DNS имя (DNS name)** — DNS имя (по умолчанию)<br>**IP адрес (IP address)** — IP адрес<br>**<проверка обнаружения>** — значение строки, полученной проверкой обнаружения (т.е. проверкой Zabbix агентом или SNMP агентом)<br>Смотрите также: [Именование узлов сети](/manual/discovery/network_discovery#именование-узлов-сети).|
|*Видимое имя*<br>*(Visible name)*|Задаёт видимое имя создаваемого узла сети, используя:<br>**Имя узла сети (Host name)** — техническое имя узла сети (по умолчанию)<br>**DNS имя (DNS name** — DNS имя<br>**IP адрес (IP address)** — IP адрес<br>**<проверка обнаружения>** — значение строки, полученной проверкой обнаружения (т.е. проверкой Zabbix агентом или SNMP агентом)<br>Смотрите также: [Именование узлов сети](/manual/discovery/network_discovery#именование-узлов-сети).|
|*Активировано*<br>*(Enabled)*|При отмеченном правиле, оно является активным и обрабатывается Zabbix сервером.<br>Если правило не отмечено, оно неактивно. Таким образом, не будет выполняться.|

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

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

При большом количестве одновременных проверок существует риск исчерпания лимита файловых дескрипторов для [менеджера обнаружения (discovery manager)](/manual/concepts/server#типы-процессов-и-потоки-сервера).

Количество файловых дескрипторов, необходимых для обнаружения, равно количеству рабочих процессов обнаружения (discovery worker), умноженному на 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 agent» в состоянии «доступен»
-   значение system.uname (ключ Zabbix агента, который мы использовали при создании правила) содержит «Linux»
-   время работы — 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 agent» в состоянии «Недоступен» на протяжении более чем 24 часов (86400 секунд).

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