Назад | Перейти на главную страницу

Почему во время snmpwalk используется неправильный MIB?

Запуск snmp walk для следующего OID 1.3.6.1.2.1.43.11.1.1.9, который принадлежит PRINTER-MIB под prtMarkerSuppliesLevel, возвращается SNMPv2-SMI ценности. Я полагаю, что они верны, но почему здесь упоминается MIB SNMPv2-SMI?

Я запускаю агент DataDog на Mac, загрузил и разместил PRINTER-MIB в соответствующем месте: / usr / share / snmp / mibs. (Агент DataDog не может собрать метрику, поскольку мне кажется, что мне нужно отформатировать MIB в python, но это еще одна проблема, которую нужно решить после этого).

Результат выглядит следующим образом:

snmpwalk -c public -v 2c 192.168.1.14 1.3.6.1.2.1.43.11.1.1.9 SNMPv2-SMI::mib-2.43.11.1.1.9.1.1 = INTEGER: 800 SNMPv2-SMI::mib-2.43.11.1.1.9.1.2 = INTEGER: 200 SNMPv2-SMI::mib-2.43.11.1.1.9.1.3 = INTEGER: 4000 SNMPv2-SMI::mib-2.43.11.1.1.9.1.4 = INTEGER: 2000 SNMPv2-SMI::mib-2.43.11.1.1.9.1.5 = INTEGER: 2400

Я не использую datadog и не являюсь экспертом по SNMP, но кажется, что «SNMPv2-SMI :: mib-2» - это (вроде) сокращение первой части запрошенного OID "1.3.6.1.2.1". Если вы перейдете по предыдущей ссылке, вы увидите, что 43 указан как MIB принтера по умолчанию. Если вы замените «SNMPv2-SMI :: mib-2» на «1.3.6.1.2.1» во всех ответах, вы получите тот же OID, что и перечислено в OIDview для prtMarkerSuppliesLevel на MIB принтера по умолчанию.

snmpwalk не будет использовать PRINTER-MIB, если вы этого не укажете.

Просмотрите управление для snmpcmd, найдите параметры -m и -M.

snmwalk фактически декодирует PRINTER-MIB, если вы укажете его в запросе:

(OID обозначается числовым обозначением)

bash-3.2$ snmpwalk -v2c -c public 192.168.1.14 1.3.6.1.2.1.43.11.1.1.9
SNMPv2-SMI::mib-2.43.11.1.1.9.1.1 = INTEGER: 90
SNMPv2-SMI::mib-2.43.11.1.1.9.1.2 = INTEGER: 30
SNMPv2-SMI::mib-2.43.11.1.1.9.1.3 = INTEGER: 40
SNMPv2-SMI::mib-2.43.11.1.1.9.1.4 = INTEGER: 30
SNMPv2-SMI::mib-2.43.11.1.1.9.1.5 = INTEGER: 90

(OID обозначается символической нотацией)

bash-3.2$ snmpwalk -v2c -c public 192.168.1.14 Printer-MIB::prtMarkerSuppliesLevel.1
(bunch of error messages for missing MIBS that PRINTER-MIB referenced deleted)
Printer-MIB::prtMarkerSuppliesLevel.1.1 = INTEGER: 90
Printer-MIB::prtMarkerSuppliesLevel.1.2 = INTEGER: 30
Printer-MIB::prtMarkerSuppliesLevel.1.3 = INTEGER: 40
Printer-MIB::prtMarkerSuppliesLevel.1.4 = INTEGER: 30
Printer-MIB::prtMarkerSuppliesLevel.1.5 = INTEGER: 90

(OID указывается с помощью числового обозначения, но принудительно загружает Printer-MIB)

bash-3.2$ snmpwalk -m +Printer-MIB -v2c -c public 192.168.1.14 1.3.6.1.2.1.43.11.1.1.9
(bunch of error messages for missing MIBS that PRINTER-MIB referenced deleted)
Printer-MIB::prtMarkerSuppliesLevel.1.1 = INTEGER: 90
Printer-MIB::prtMarkerSuppliesLevel.1.2 = INTEGER: 30
Printer-MIB::prtMarkerSuppliesLevel.1.3 = INTEGER: 40
Printer-MIB::prtMarkerSuppliesLevel.1.4 = INTEGER: 30
Printer-MIB::prtMarkerSuppliesLevel.1.5 = INTEGER: 90

использование "-m all" тоже работает.

Вау, у наших принтеров одинаковый IP-адрес.

- Кен