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

snmpbulkget предоставляет значения следующего oid вместо того, чтобы указывать oid, упомянутый в аргументе. Зачем?

Я думал, что snmpbulkget действует как snmpget, за исключением того, что может поддерживать несколько запросов oid. Но я вижу странное поведение. Вместо запрашиваемого он дает следующую информацию об OID:

snmpbulkget -Cr1 servername IF-MIB::ifSpeed.7.0 IF-MIB::ifInOctets.7 IF-MIB::ifInUcastPkts.7 IF-MIB::ifInNUcastPkts.7 IF-MIB::ifInNUcastPkts.7 IF-MIB::ifInDiscards.7 IF-MIB::ifInErrors.7 IF-MIB::ifOutOctets.7 IF-MIB::ifOutUcastPkts.7 IF-MIB::ifOutNUcastPkts.7 IF-MIB::ifOutDiscards.7 IF-MIB::ifOutErrors.7
IF-MIB::ifSpeed.8 = Gauge32: 10000000
IF-MIB::ifInOctets.8 = Counter32: 3674120514
IF-MIB::ifInUcastPkts.8 = Counter32: 2462391943
IF-MIB::ifInNUcastPkts.8 = Counter32: 19169575
IF-MIB::ifInNUcastPkts.8 = Counter32: 19169575
IF-MIB::ifInDiscards.8 = Counter32: 0
IF-MIB::ifInErrors.8 = Counter32: 775777
IF-MIB::ifOutOctets.8 = Counter32: 3824588280
IF-MIB::ifOutUcastPkts.8 = Counter32: 2866781089
IF-MIB::ifOutNUcastPkts.8 = Counter32: 0
IF-MIB::ifOutDiscards.8 = Counter32: 0
IF-MIB::ifOutErrors.8 = Counter32: 0

Зачем?

snmpget отправит один пакет, содержащий несколько OID (вы можете проверить это, используя -d вариант). Итак, измените вашу команду на использование snmpget (и удаление -Cr1 вариант) будет делать то, что вы хотите.

В качестве альтернативы вы можете НАПОЛНИТЬ IF-MIB::ifEntry что дает вам больше, чем вы хотите.

snmpbulkget (или, скорее, базовые методы GETBULK / GETNEXT) всегда возвращают следующий переменная в дереве.

Цитата из http://net-snmp.sourceforge.net/wiki/index.php/GETBULK ...

Команда GETNEXT (GetnextRequest) запрашивает список экземпляров у удаленного объекта, но ожидает возврата следующей переменной в дереве.