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

Обзор

Хотя вы и можете найти требуемый номер индекса (например, сетевого интерфейса) из всех SNMP OID'ов, иногда вы не можете полностью положиться на номер индекса на то, что индекса всегда останется таким же.

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

Чтобы избежать этого, возможно задать OID, который принимает во внимание возможность изменения номера индекса.

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

ifInOctets["index","ifDescr","GigabitEthernet0/1"]
Синтаксис

Для OID используется специальный синтаксис:

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

Параметр Описание
OID данных Основной OID, который используется для получения данных по элементу данных.
index Метод обработки. В настоящее время поддерживается только один метод:
index – поиск индекса и присоединение его к OID'у данных
базовый OID индекса Этот OID будет просматриваться для получения значения индекса соответствующего заданной строке.
искомая строка Строка используемая для точного совпадения со значением при выполнении поиска. Регистрозависимо.

Пример

Получение использования памяти процессом apache.

Если используется этот синтаксис OID:

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. просмотр динамических индексов и возвращение данных осуществляется за одно соединение