4 Обнаружение SNMP OID-ов

Обзор

В этом разделе мы будем выполнять SNMP обнаружение на свитче.

Ключ элемента данных

В отличие от обнаружения файловых систем и сетевых интерфейсов, элемент данных не обязан иметь ключ «snmp.discovery» - достаточно того, что он будет иметь тип «SNMP агент».

Для настройки правила обнаружения выполните следующее:

  • Перейдите к: НастройкаШаблоны
  • Нажмите на Обнаружение в строке с соответствующим шаблоном

  • Нажмите на Создать правило обнаружения в правом верхнем углу экрана
  • Заполните диалог правила обнаружения нужными атрибутами, как на снимке экрана ниже

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

Идентификаторы объектов (OID-ы) для обнаружения определяются в поле «SNMP OID» в следующем формате: discovery[{#МАКРОС1}, oid1, {#МАКРОС2}, oid2, …,]

где {#МАКРОС}, {#МАКРОС2} … - это корректные имена LLD макросов, а oid1, oid2... - OID-ы, способные генерировать осмысленные значения для этих макросов. Ко всем обнаруженным объектам применяется встроенный макрос {#SNMPINDEX}, содержащий индекс обнаруженных OID-ов. Обнаруженные объекты группируются по значению макроса {#SNMPINDEX}.

Чтобы понять, что это означает, давайте выполним несколько запросов к нашему свитчу при помощи утилиты snmpwalk:

$ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifDescr
       IF-MIB::ifDescr.1 = STRING: WAN
       IF-MIB::ifDescr.2 = STRING: LAN1
       IF-MIB::ifDescr.3 = STRING: LAN2
       
       $ snmpwalk -v 2c -c public 192.168.1.1 IF-MIB::ifPhysAddress
       IF-MIB::ifPhysAddress.1 = STRING: 8:0:27:90:7a:75
       IF-MIB::ifPhysAddress.2 = STRING: 8:0:27:90:7a:76
       IF-MIB::ifPhysAddress.3 = STRING: 8:0:27:2b:af:9e

И подставим в поле SNMP OID: discovery[{#IFDESCR}, ifDescr, {#IFPHYSADDRESS}, ifPhysAddress]

Теперь наше правило будет обнаруживать объекты с макросом {#IFDESCR}, имеющим значения WAN, LAN1 и LAN2, макросом {#IFPHYSADDRESS} - значения 8:0:27:90:7a:75, 8:0:27:90:7a:76 и 8:0:27:2b:af:9e, а макросом {#SNMPINDEX}, имеющим индексы обнаруженных OID-ов - 1, 2 и 3:

[
           {
               "{#SNMPINDEX}": "1",
               "{#IFDESCR}": "WAN",
               "{#IFPHYSADDRESS}": "8:0:27:90:7a:75"
           },
           {
               "{#SNMPINDEX}": "2",
               "{#IFDESCR}": "LAN1",
               "{#IFPHYSADDRESS}": "8:0:27:90:7a:76"
           },
           {
               "{#SNMPINDEX}": "3",
               "{#IFDESCR}": "LAN2",
               "{#IFPHYSADDRESS}": "8:0:27:2b:af:9e"
           }
       ]

Если объект не имеет указанного OID-а, то соответствующий макрос для этого объекта будет опущен. Например, если мы имеем следующие данные:

ifDescr.1 "Interface #1"
       ifDescr.2 "Interface #2"
       ifDescr.4 "Interface #4"
       
       ifAlias.1 "eth0"
       ifAlias.2 "eth1"
       ifAlias.3 "eth2"
       ifAlias.5 "eth4"

В этом случае SNMP обнаружение discovery[{#IFDESCR}, ifDescr, {#IFALIAS}, ifAlias] вернёт следующую структуру:

[
           {
               "{#SNMPINDEX}": 1,
               "{#IFDESCR}": "Interface #1",
               "{#IFALIAS}": "eth0"
           },
           {
               "{#SNMPINDEX}": 2,
               "{#IFDESCR}": "Interface #2",
               "{#IFALIAS}": "eth1"
           },
           {
               "{#SNMPINDEX}": 3,
               "{#IFALIAS}": "eth2"
           },
           {
               "{#SNMPINDEX}": 4,
               "{#IFDESCR}": "Interface #4"
           },
           {
               "{#SNMPINDEX}": 5,
               "{#IFALIAS}": "eth4"
           }
       ]

Прототипы элементов данных

Следующий снимок экрана иллюстрирует, как мы можем использовать эти макросы в прототипах элементов данных:

Мы можем создать столько прототипов элементов данных, сколько нам необходимо:

Прототипы триггеров

Следующий снимок экрана иллюстрирует, как мы можем использовать эти макросы в прототипах триггеров:

Прототипы графиков

Следующий снимок экрана иллюстрирует, как мы можем использовать эти макросы в прототипах графиков:

Общий вид нашего правила обнаружения:

Обнаруженные объекты

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