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, агент SNMPv1, агент SNMPv2, агент SNMPv3, 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.
Обратите внимание, что критерии уникальности, используемые во время обнаружения, не совпадают с идентификацией узла сети в системе при выполнении действий. Критерии уникальности при обнаружении определяют, являются ли два или более обнаруженных устройства одним и тем же устройством (или разными), тогда как в Zabbix критерием идентификации узла сети является только IP-адрес (см. Создание узла сети).
Host name Задайте техническое имя узла сети создаваемого узла сети с использованием:
DNS name - DNS-имя (по умолчанию)
IP address - IP-адрес
<discovery check> - полученное строковое значение проверки обнаружения (например, проверка агента Zabbix, агента SNMP)
См. также: Именование узла сети.
Visible name Задайте видимое имя узла сети создаваемого узла сети с использованием:
Host name - техническое имя узла сети (по умолчанию)
DNS name - DNS-имя
IP address - IP-адрес
<discovery check> - полученное строковое значение проверки обнаружения (например, проверка агента Zabbix, агента SNMP)
См. также: Именование узла сети.
Enabled Если флажок установлен, правило активно и будет выполняться сервером Zabbix.
Если флажок снят, правило неактивно. Оно не будет выполняться.
Превышение лимита файловых дескрипторов

При большом количестве одновременных проверок возможно исчерпание лимита файловых дескрипторов для менеджера обнаружения.

Количество файловых дескрипторов, необходимых для обнаружения, равно числу рабочих процессов обнаружения * 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 секунд).