2 Динамические индексы

Динамические индексы поддерживаются в Zabbix начиная с версии 1.5.

Специальный синтаксис для значения SNMP OID в элементе данных может быть использован в целях обхождения проблем с динамическими данными (случайные идентификаторы сетевых интерфейсов и т.д.). Синтаксис:

<базовый OID данных>["index","<базовый OID индекса>","<искомая строка>"]

Например, для получения ifInOctets c интерфейса GigabitEthernet0/1 устройства Cisco, используйте следующий OID:

ifInOctets["index","ifDescr","GigabitEthernet0/1"]
Параметр Описание
базовый OID данных Базовый OID, используемый для возвращенных данных.
index Метод обработки. В данный момент поддерживается только один метод
index – поиск по индексу и присоединение его к базовому OID
базовый OID индекса Этот OID будет использоваться для поиска искомой строки.
искомая строка Эта строка используется для точного совпадения со значением при поиске. Регистрозависимая.

Другой пример: получение объема памяти, использованной процессом apache:

HOST-RESOURCES-MIB::hrSWRunPerfMem["index","HOST-RESOURCES-MIB::hrSWRunPath", "/usr/sbin/apache2"]
       ...
       
       HOST-RESOURCES-MIB::hrSWRunPath.5376 = STRING: "/sbin/getty"
       HOST-RESOURCES-MIB::hrSWRunPath.5377 = STRING: "/sbin/getty"
       HOST-RESOURCES-MIB::hrSWRunPath.5388 = STRING: "/usr/sbin/apache2"
       HOST-RESOURCES-MIB::hrSWRunPath.5389 = STRING: "/sbin/sshd"
       ...

Теперь у нас есть индекс 5388. Этот индекс будет добавлен к OID данных для того, чтобы получить значение, в котором мы нуждаемся:

HOST-RESOURCES-MIB::hrSWRunPerfMem.5388 = INTEGER: 31468 KBytes

Динамические индексы кэшируются в Zabbix начиная с версии 1.6.3.

Использование динамических индексов приводит к большему числу SNMP запросов в Zabbix версиях до 1.7. Начиная с версии Zabbix 1.7. просмотр динамических индексов и возвращение данных осуществляется за одно соединение