Skip to main content

Низкоуровневое обнаружение Zabbix (Low-level discovery)

В данной статье будет рассмотрена возможность низкоуровнего обнаружения в системе мониторинга Zabbix, для автоматизированного мониторинга сетевых интерфейсов коммутаторов/маршрутизаторов, BGP и ISIS сессий.

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

Для начала создадим шаблон. Назовём его, например, Template SNMP. Шаблон универсальный для всего оборудования, т.к. использует стандартные OID, которые поддерживаются всеми вендорами (проверено на Cisco, Juniper, Zyxel, Raisecom, Dell)

lld1lld2

После того, как создали пустой шаблон, необходимо его заполнить. Зайдём в него и перейдём во вкладку "Правила обнаружения" и создадим правило обнаружения.

lld3

lld4

Искать интерфейсы будем искать по OID IF-MIB::ifName. При такой схеме Zabbix запустит обнаружение и на оборудовании Cisco найдёт следующие интерфейсы:

IF-MIB::ifName.1 = STRING: Gi1/1
IF-MIB::ifName.2 = STRING: Gi1/2
IF-MIB::ifName.3 = STRING: Gi1/3
IF-MIB::ifName.4 = STRING: Gi1/4
IF-MIB::ifName.5 = STRING: Gi1/5
IF-MIB::ifName.6 = STRING: Gi1/6
IF-MIB::ifName.7 = STRING: Gi1/7
IF-MIB::ifName.8 = STRING: Gi1/8
IF-MIB::ifName.9 = STRING: Gi1/9

И создаст 2 массива: {#SNMPVALUE} и {#SNMPINDEX}

В SNMPVALUE содержится значение поиска. В данном случае: Gi1/1, Gi1/2 и тд. А в SNMPINDEX содержится уникальная часть OID. Например, полный OID интерфейса Gi1/1: IF-MIB::ifName.1, который мы нашли с помощью IF-MIB::ifName, уникальная часть в данном случае цыфры от 1 до 9. Для наглядности SNMPVALUE помечен красным цветом, SNMPINDEX зелёным.

IF-MIB::ifName.1 = STRING: Gi1/1

После того, как мы настроили обнаружение, необходимо создать прототимы элементов, которые будут заполняться автоматически, с помощью описанных ранее массивов. Для этого зайдём в шаблон, потом в Правила обнаружения, затем в прототимы элементов данных. 

Настроим 3 прототипа: для входящего траффика, исходящего, и описания интерфейса, для более наглядного описания графиков.

 lld5

 

 lld6

 lld7

Осталось создать графики для отображения нагрузки на интерфейсах. Для этого перейдём в прототип графиков и создадим с названием:

 {#SNMPVALUE} - {{HOST.HOST}:ifAlias[{#SNMPVALUE}].last(0)}

 После обработки данных макросов, названия графиков будут содержать имя интерфейса (Gi1/1) и его описание (discription). В качестве элементов данных добавляем прототипы входящего и исходящего интерфейсов.

lld8

 

 Осталось закрепить данный шаблон за нужным оборудованием, остальное zabbix сделает за Вас.

lld9

zabbix