Динамические индексы поддерживаются в Zabbix начиная с версии 1.5.
Специальный синтаксис для значения SNMP OID в элементе данных может быть использован в целях обхождения проблем с динамическими данными (случайные идентификаторы сетевых интерфейсов и т.д.). Синтаксис:
<базовый OID данных>["index","<базовый OID индекса>","<искомая строка>"]
Например, для получения ifInOctets c интерфейса GigabitEthernet0/1 устройства Cisco, используйте следующий OID:
Параметр | Описание |
---|---|
базовый 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 данных для того, чтобы получить значение, в котором мы нуждаемся:
Динамические индексы кэшируются в Zabbix начиная с версии 1.6.3.
Использование динамических индексов приводит к большему числу SNMP запросов в Zabbix версиях до 1.7. Начиная с версии Zabbix 1.7. просмотр динамических индексов и возвращение данных осуществляется за одно соединение