MIB - файлы содержащие информацию для резолва бинарной информации (SNMP OID) в читаемый формат. Существует несколько вариантов применений их в НОКЕ:

  1. Резолв значений в событиях из SNMPTrap
  2. Возможность резолва значения в скриптах

Требования

  1. На той ноде, где предполагается локальная работа с MIB файлами или где будет установлен сервис MIB, должны быть установлены утилиты для работы с MIB файлами smidump и smilint (ставится с пакетом netsnmp-utils).
  2. В конфигурационном файле settings.yml в секции path должны быть установлены пути до утилит smidump и smilint, а также путь до файлов MIB mib_path. В случае локального импорта (без сервиса MIB) путь до файлов MIB может быть установлен в переменную окружения SMIPATH.
  3. В установленные конфигом или переменной окружения папки должны быть помещены все необходимые файлы MIB, учитывая их зависимости.

Конфигурация

Проверяем доступность утилит smidump и smidump на ноде с работающим сервисом MIB или на ноде где делаем локальный импорт:

# smidump --v
smidump 0.4.8
# smilint --v
smilint 0.4.8

В файл settings.yml прописываем пути до утилит smidump и smidump:

./noc config dump path >> etc/settings.yml

Выправляем секцию path в файле etc/settings.yml (лишние параметры можно удалить):

path:
  smilint: "/usr/local/bin/smilint"

  smidump: "/usr/local/bin/smidump"

  mib_path: "/opt/noc/var/mibs/dist/:/usr/local/share/smi/mibs/iana:/usr/local/share/smi/mibs/ietf"

В случае локального импорта пути до файлов MIB могут быть прочитаны из переменной окружения:

SMIPATH=/opt/noc/var/mibs/dist/:/usr/local/share/smi/mibs/iana:/usr/local/share/smi/mibs/ietf

Складываем необходимые для импорта файлы с зависимости в папки.

Сервис MIB

https://docs.getnoc.com/en/latest/services/mib/

Сервис MIB нужен как единая точка для импортирования MIB-ов. Требуется в единственном числе. Сервис можно использовать как через веб-интерфейс, так и из командной строки.

Команда для импорта:

./noc mib import MIBS_FILE.

Локальный импорт

Если возможности импорта из Веб интерфейса не требуется, можно пользоваться командой локально (без установки сервиса MIB):

./noc mib import --local MIBS_FILE

Использованные источники:
https://code.getnoc.com/noc/noc/issues/812

https://t.me/nocproject