SNMP: такой объект недоступен для этого агента с этим OID - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь отслеживать состояние ИБП (NetVision), используя предоставленный файл MIB.Таким образом, upsBatteryStatus должен быть .1.3.6.1.2.1.33.1.2.1.0

snmpwalk -c COMMUNITY -v1 192.168.1.10 .1.3.6.1.2.1.33.1.2.1.0 iso.3.6.1.2.1.33.1.2.1.0 = INTEGER: 2

А вот и сложная часть:

snmptranslate -Of SOCOMECUPS-MIB :: upsBatteryStatus .iso.org.dod.internet.private.enterprises.socomecSicon.software.network.netvision.upsObjects.upsBattery.upsBatteryStatus

snmptranslate -On SOCOMECUPS-MIB :: upsBatteryStatus .1.3.1.4.1.4555.1.1.1.1.2.1 Он отличается от .1.3.6.1.2.1.33.1.2.1.0 и не отвечает значением.

check_snmp -H 192.168.1.10 -C СООБЩЕСТВО -o upsBatteryStatus -w 1 -c @ 3: 7 -m /var/lib/mibs/ietf/NetVision-nv6-unix.mib -l "Состояние аккумулятора:"

Внешняя командаошибка: ошибка в пакете Причина: (noSuchName) В этой MIB такого имени переменной нет.Сбой объекта: SOCOMECUPS-MIB :: upsBatteryStatus

Есть идеи, почему он не распознается как upsBatteryStatus?

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Полезные команды:

snmptranslate -Tp -m /usr/share/mibs/ietf/NetVision-nv6-unix.mib

и:

"upsBatteryStatus"«1.3.6.1.2.1.33.1.2.1»

        |        |  |
        |        |  +--upsBattery(2)
        |        |  |  |
        |        |  |  +-- -R-- EnumVal   upsBatteryStatus(1)
        |        |  |  |        Values: unknown(1), batteryNormal(2), batteryLow(3), batteryDepleted(4)

Команда Nagios check_snmp, сообщившая правильное значение:

/usr/local/nagios/libexec/check_snmp -H 192.168.1.10 -C COMMUNITY -m /var/lib/mibs/ietf/NetVision-nv6-unix.mib -o upsBatteryStatus -w @0:1 -c @3:7 -l "Battery Status: "
SNMP OK - Battery Status:  2 | 'Battery Status: '=2;1;7; 

Спасибо за помощь.

0 голосов
/ 27 октября 2018

Кажется, есть 2 объекта с именем upsBatteryStatus в 2 разных MIB: http://www.oidview.com/mibs/4555/SOCOMECUPS-MIB.html и https://tools.ietf.org/html/rfc1628.Это объясняет разные OID.В этом нет ничего плохого.OID - это истинный идентификатор объекта, имя только для нас, людей.

Что касается ошибки, я не знаю, что делает check_snmp, поэтому ничего не могу сказать по этому поводу.Но пробовали ли вы эту команду?

snmpwalk -c COMMUNITY -v1 192.168.1.10 .1.3.6.1.4.1.4555.1.1.1.1.2.1

...