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

SNMP: hrSystemUptime.0: Неизвестный идентификатор объекта (Субидентификатор не найден: (вверху) -> hrSystemUptime)

Я получаю сообщение об ошибке в заголовке, когда выполняю следующую команду.

$  snmpget -v3 -u edgeos-snmpd-user -l authPriv -a SHA -x AES -A authPhrase -X privPhrase 192.168.x.x hrSystemUptime.0
hrSystemUptime.0: Unknown Object Identifier (Sub-id not found: (top) -> hrSystemUptime)

Если я введу ту же команду в целевой системе (192.168.x.x), я получу правильный результат.

# snmpget -v3 -u edgeos-snmpd-user -l authPriv -a SHA -x AES -A authPhrase -X privPhrase localhost hrSystemUptime.0
HOST-RESOURCES-MIB::hrSystemUptime.0 = Timeticks: (1362660) 3:47:06.60

Клиент представляет собой контейнер Docker на основе Ubuntu 18.04.1, а цель - устройство Linux на базе Alpine.

Я установил snmp-mibs-downloader в контейнере и hrSystemUptime запись существует в "/var/lib/snmp/mibs/ietf/HOST-RESOURCES-MIB.

-- The Host Resources System Group

hrSystemUptime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The amount of time since this host was last
        initialized.  Note that this is different from
        sysUpTime in the SNMPv2-MIB [RFC1907] because
        sysUpTime is the uptime of the network management
        portion of the system."
    ::= { hrSystem 1 }

Однако поиск в этом каталоге не ведется.

$ net-snmp-config --default-mibdirs
/home/edge/.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

Я скопировал HOST-RESOURCES-MIB к /home/edge/.snmp/mibs но это не имело значения.

Что мне нужно сделать в контейнере, чтобы это заработало?

В snmp пакет устанавливает /etc/snmp/snmp.conf:

# As the snmp packages come without MIB files due to license reasons, loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loading them by commenting out the following line.
mibs :

Комментирование последней строки решает проблему, как описано в комментарии к файлу. Удаление snmp.conf полностью имеет тот же эффект.

У меня была аналогичная ошибка при попытке заставить телеграф работать через докер для опроса маршрутизатора для получения различной статистики.

Файл, который, как ему казалось, был нужен, HOST-RESOURCES-MIB, находился в жестко связанной папке (не знаю правильной терминологии, но с ls -l это был другой цвет с указанным связанным назначением), но даже с правильным тома в конфигурации докера и права / usr / * разрешения, не пойдем.

Полночи возился с ним, но в итоге это сработало, когда я указал две жестко привязанные папки как тома в докере:

 - /var/lib/snmp/mibs/ietf:/usr/share/snmp/mibs/ietf:ro
 - /var/lib/snmp/mibs/iana:/usr/share/snmp/mibs/iana:ro

Уверен, что это просто я идиот и, возможно, не устанавливаю вещи в правильном порядке, но чем больше я думаю, тем больше кажется, что это проблема с докером / убунту - должно работать из коробки, верно?

Я полный Linux noob, так что, наверное, простое объяснение того, что я напутал, кто знает. Надеюсь, это кому-то поможет