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