Специальный синтаксис для значения 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.5376 = INTEGER: 528 KBytes HOST-RESOURCES-MIB::hrSWRunPerfMem.5377 = INTEGER: 528 KBytes HOST-RESOURCES-MIB::hrSWRunPerfMem.5388 = INTEGER: 31468 KBytes HOST-RESOURCES-MIB::hrSWRunPerfMem.5389 = INTEGER: 31740 KBytes HOST-RESOURCES-MIB::hrSWRunPerfMem.5390 = INTEGER: 32116 KBytes HOST-RESOURCES-MIB::hrSWRunPerfMem.5391 = INTEGER: 30420 KBytes HOST-RESOURCES-MIB::hrSWRunPerfMem.5392 = INTEGER: 32560 Kbytes