1. Настройка правила сетевого обнаружения
Обзор
Чтобы настроить правило обнаружения сети, используемое Zabbix для обнаружения узлов сети и сервисов:
- Перейдите в Сбор данных → Обнаружение
- Нажмите Создать правило обнаружения (или на имя правила, чтобы изменить существующее)
- Отредактируйте атрибуты правила обнаружения
Атрибуты правила

Все обязательные поля ввода отмечены красной звездочкой.
| Parameter | Description |
|---|---|
| Name | Уникальное имя правила. Например, "Local network". |
| Discovery by | Обнаружение выполняется: Server - сервером Zabbix Proxy - прокси Zabbix (выбирается в поле имени прокси) |
| IP range | Диапазон IP-адресов для обнаружения. Он может иметь следующие форматы: Один IP-адрес: 192.168.1.33 Диапазон IP-адресов: 192.168.1-10.1-255. Диапазон ограничен общим количеством охватываемых адресов (менее 64K). Маска IP: 192.168.4.0/24 поддерживаемые маски IP: /16 - /30 для IPv4-адресов /112 - /128 для IPv6-адресов Список: 192.168.1.1-255, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24 Это поле поддерживает пробелы, табуляцию и несколько строк. |
| Update interval | Этот параметр определяет, как часто Zabbix будет выполнять правило. Интервал отсчитывается после завершения выполнения предыдущего экземпляра обнаружения, поэтому наложения не происходит. Поддерживаются суффиксы времени, например 30s, 1m, 2h, 1d. Поддерживаются пользовательские макросы. Примечание: если используется пользовательский макрос и его значение изменяется (например, 1w → 1h), следующий проверочный запуск будет выполнен в соответствии с предыдущим значением (в примере - в более отдаленном будущем). |
| Maximum concurrent checks per type | Установите максимальное количество потоков обнаружения (workers) на одну проверку службы для параллельной обработки проверок обнаружения: One - один поток Unlimited - неограниченное количество потоков (но не больше, чем в параметре StartDiscoverers) Custom - задайте пользовательское количество потоков (0-999) Обратите внимание, что все правила обнаружения с асинхронными проверками службы SNMPv3 обрабатываются одним worker из-за особенностей реализации libsnmp, то есть увеличение числа workers не приведет к увеличению скорости обнаружения. |
| Checks | Zabbix будет использовать этот список проверок для обнаружения. Нажмите для настройки новой проверки во всплывающем окне.Поддерживаемые проверки: SSH, LDAP, SMTP, FTP, HTTP, HTTPS, POP, NNTP, IMAP, TCP, Telnet, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping. Обнаружение на основе протоколов использует функциональность net.tcp.service[] для проверки каждого узла сети, за исключением SNMP, который выполняет запрос SNMP OID. Агент Zabbix проверяется путем запроса элемента данных в незашифрованном режиме. Подробнее см. элементы данных агента. Параметр 'Ports' может иметь один из следующих видов: Один порт: 22 Диапазон портов: 22-45 Список: 22-45,55,60-70 Начиная с Zabbix 7.0, все проверки служб выполняются асинхронно, кроме проверок LDAP. Начиная с Zabbix 7.0, проверка HTTP/HTTPS выполняется через libcurl. Если Zabbix server/proxy собран без libcurl, то проверки HTTP будут работать как в предыдущих версиях (то есть как проверки TCP), но проверки HTTPS работать не будут. |
| Device uniqueness criteria | Критерии уникальности могут быть следующими: IP address - не обрабатывать несколько устройств с одним IP-адресом. Если устройство с таким же IP уже существует, оно будет считаться уже обнаруженным, и новый узел сети не будет добавлен. <discovery check> - проверка агента Zabbix или SNMP agent. Обратите внимание, что критерии уникальности, используемые во время обнаружения, не совпадают с идентификацией узла сети в системе при выполнении действий. Критерии уникальности во время обнаружения определяют, являются ли два или более обнаруженных устройства одинаковыми (или разными), тогда как в Zabbix критерием идентификации узла сети является только IP-адрес (см. Создание узла сети). |
| Host name | Задайте техническое имя узла сети для создаваемого узла сети, используя: DNS name - DNS-имя (по умолчанию) IP address - IP-адрес <discovery check> - полученное строковое значение проверки обнаружения (например, проверка агента Zabbix, SNMP agent) См. также: Именование узла сети. |
| Visible name | Задайте видимое имя узла сети для создаваемого узла сети, используя: Host name - техническое имя узла сети (по умолчанию) DNS name - DNS-имя IP address - IP-адрес <discovery check> - полученное строковое значение проверки обнаружения (например, проверка агента Zabbix, SNMP agent) См. также: Именование узла сети. |
| Enabled | Если флажок установлен, правило активно и будет выполняться сервером Zabbix. Если флажок снят, правило не активно. Оно не будет выполняться. |
Превышение ограничения на количество дескрипторов файлов
При большом количестве одновременных проверок существует риск исчерпания лимита файловых дескрипторов для менеджера обнаружения (discovery manager).
Количество файловых дескрипторов, необходимых для обнаружения, равно количеству рабочих процессов обнаружения (discovery worker), умноженному на 1000. По умолчанию используется 5 рабочих процессов обнаружения, в то время как мягкий предел системы составляет приблизительно 1024.
При достижении этого лимита Zabbix уменьшит количество по умолчанию одновременных проверок каждого типа для каждого рабочих процессов обнаружения и запишет предупреждение в файл журнала. Однако, если пользователь установил значение Максимум одновременных проверок по каждому типу (Maximum concurrent checks per type) больше значения, рассчитанного Zabbix, Zabbix будет использовать заданное пользователем значение для одного рабочего процесса.
Сценарий из реальной жизни
В этом примере мы бы хотели настроить сетевое обнаружение для локальной сети, имеющей диапазон IP адресов 192.168.1.1-192.168.1.254.
В нашем сценарии мы хотим:
- обнаруживать те узлы сети, на которых имеется Zabbix агент
- выполнять обнаружение каждые 10 минут
- добавлять узел сети для наблюдения, если время работы узла сети более 1 часа
- удалять узел сети, если он недоступен на протяжении более 24 часов
- добавлять узлы сети Linux в группу «Linux servers»
- добавлять узлы сети Windows в группу «Windows servers»
- использовать шаблон Linux для узлов сети Linux
- использовать шаблон Windows для узлов сети Windows
Шаг 1
Добавим правило сетевого обнаружения для нашего диапазона IP адресов.

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

Это действие будет активировано, если:
- сервис «Zabbix agent» в состоянии «доступен»
- значение system.uname (ключ Zabbix агента, который мы использовали при создании правила) содержит «Linux»
- время работы — 1 час (3600 секунд) или больше

Это действие будет выполнять следующие операции:
- добавление обнаруженного узла сети в группу «Linux servers» (а также добавление узла сети, если он не был добавлен ранее)
- присоединение узла сети к шаблону Linux. Zabbix автоматически запустит наблюдение за узлом сети, используя элементы данных и триггеры из шаблона Linux.
Шаг 3
Зададим действие на обнаружение для добавления обнаруженных серверов Windows в соответствующие группы/шаблоны.


Шаг 4
Зададим действие на обнаружение для удаления потерянных серверов.


Сервер будет удалён, если сервис «Zabbix agent» в состоянии «Недоступен» на протяжении более чем 24 часов (86400 секунд).
для настройки новой проверки во всплывающем окне.