Skip to main content

Zabbix — обнаружение сетевых интерфейсов

В предыдущей статье я описывал как можно автоматически искать новые устройства в сети, применять к ним шаблоны и добавлять в мониторинг. Сейчас же мы рассмотрим как можно автоматически добавлять интерфейсы или другие объекты в мониторинг хоста. Это очень полезно, если мы применяем шаблон к коммутаторам с разным количеством портов.

Удобство автоматического обнаружения интерфейсов заключается в том, что нам более не нужно руками прописывать каждый интерфейс в конфигурации хоста и при удалении/ добавлении менять конфигурацию руками, все будет происходить автоматически.

 

Откроем ваш шаблон для хоста (посмотреть как создавать шаблон вы можете в этой статье) и сразу переходим в раздел Discovery rules и нажимаем кнопку справа вверху Create discovery rule.

Заполняем поля как показано на скриншоте (значения ниже):

Name — ну тут понятно

Type — SNMPv2 (так как мониторим по snmp)

Key — Задаём уникальный ключ(придумываем сами)

SNMP OID — Здесь указываем OID для получения значений. Форма записи которую вы видите на скриншоте сразу привязывает полученное значение к макросу, который в будущем мы будем использовать.

SNMP community — указываем макрос который позволит получить значение из настроек хоста

 

Name - Network Interfaces
Key - net.if.discovery
SNMP OID - discovery[{#SNMPVALUE},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8]
SNMP community - {$SNMP_COMMUNITY}

Далее открываем вкладку Filters и вносим параметры:


Настраиваем 2 фильтра которые будут добавлять только интерфейсы в которые сейчас подключены какие-то устройства и диапазон портов 1-28 (так как в сети мы используем в основном коммутаторы на 26 — 28 портов)

{#IFOPERSTATUS} - 1

{#SNMPINDEX} - ^(?:[1-9]|1[0-9]|2[0-8])$

Сохраняем настройки, часть работы сделана. Теперь нужно добавить прототип айтема. Добавлять прототипы триггеров и графиков мы не будем, в конце статьи я выложу готовый шаблон.

Переходим в раздел Item prototypes и создаём новый прототип (кнопка справа вверху)

 

Name — это ясно, однако мы используем макросы которые мы задали немного выше для того, чтобы получить номер порта и его подпись.

Key — уникальный ключ

SNMP OID — OID по которому мы считываем значение

Units — bps

Name - PORT {#IFNAME}({#IFALIAS}): Bits received
Key - net.if.in[ifHCInOctets.{#SNMPINDEX}]
SNMP OID - 1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}
Units - bps

Перейдем на вкладку Preprocessing значения указываем:

Change per second
Custom multiplier - 8

Сохраняем наш прототип и теперь после применения шаблона к хосту раз в час будет происходить проверка всех портов коммутатора и добавление их в мониторинг в ином случае при стандартных настройках если порт был добавлен но потом стал неактивным, он будет сохранен на период в 30 дней.

Надеюсь мне удалось в 2х словах на маленьком примере показать как настраивать Discovery rules, ниже привожу шаблон который использую я в текущей конфигурации мониторинга.

Скачать шаблон.

3 thoughts to “Zabbix — обнаружение сетевых интерфейсов”

  1. Можете объяснить значение символов в выражении которое относится к макросу snmpindex.

  2. Каким образом можно уточнить поддерживает mib библиотека тот или иной макрос?

  3. Привет, спасибо за отличные статьи.
    Есть практический вопрос про автообнаружение.
    Железки например все разные, 10 таких, 10 таких, 10 таких.
    Автообнаружение их находит, а что дальше то с ними делать. Как привязать одни к одному шаблону, другие к другому.
    Буду благодарен за совет.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *