SNMP (Ubuntu 18.04) на аудиокодах M500L не работает

#snmp #nagios #snmpd

Вопрос:

я пытаюсь отслеживать значения с помощью nagios по snmp из моих двух аудиокодов SBC (M500L).

Для этого я загружаю два MIBs «AC-ALARM-MIB» «IP-MIB_rfc4293» с https://github.com/librenms/librenms/tree/master/mibs/audiocodes переименуйте его в .txt в конце и загрузите его на мой сервер ubuntu по пути /usr/share/snmp/mibs/.

Затем я пытаюсь использовать следующую команду в командной строке.

 snmpget -v3 -l authPriv -u xxxxxx -a SHA -A xxxxx -x AES -X xxxxx 123.456.789.100 AcAlarm:acActiveAlarmName
 

и я получаю следующий результат

 AcAlarm::acActiveAlarmName = No Such Instance currently exists at this OID
 

Я пытаюсь узнать OID из них в браузере MIB — похоже, это так «.1.3.6.1.4.1.5003.11.1.1.1.1.5». Когда я использую эти OID, я получаю тот же вывод.

У кого-нибудь есть идея?

Комментарии:

1. snmpget требуется, чтобы вы представили все необходимые документы MIB, поэтому вам нужно подробнее разобраться в том, какие документы отсутствуют, net-snmp.sourceforge.net/wiki/index.php/…

2. Похоже, что-то не так. AC-ALARM-MIB.my загружается в /usr/share/snmp/mibs с правами 0644. root@Monitoring:~# snmptranslate -m AC-ALARM-MIB -IR -On acActiveAlarmName MIB search path: /root/.snmp/mibs:/usr/share/snmp/mibs:/usr/share/snmp/mibs/iana:/usr/share/snmp/mibs/ietf:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:/usr/share/mibs/ietf:/usr/share/mibs/netsnmp Cannot find module (AC-ALARM-MIB): At line 1 in (none) Unknown object identifier: acActiveAlarmName

Ответ №1:

SNMP обрабатывает все значения как записи в некоторой базе данных. Идентификаторы OID используются для идентификации записей в этой концептуальной базе данных. MIB-файлы позволяют менеджеру SNMP переводить OID в удобочитаемую строку с сопровождающим текстовым описанием.

Проблема здесь не в том, что файлы MIB плохие или идентификаторы OID неправильные, проблема в том, что либо устройства, на которых хранится эта (воображаемая) база данных, не поддерживают записи, к которым вы пытаетесь получить доступ, либо ваш пользователь не имеет права доступа к этим записям. Простой способ узнать, какие OID поддерживаются, — это полностью просмотреть базу данных, используя что-то вроде snmpwalk <hostname> 1.3.6.1