SNMP (Simple Network Management Protocol) — это де-факто стандарт мониторинга сетевого оборудования, который живёт уже десятилетиями. Да, gNMI, NETCONF и REST API активно развиваются, но на практике подавляющее большинство коммутаторов, маршрутизаторов, точек доступа и ИБП всё равно опрашиваются именно по SNMP. Протокол работает по схеме «менеджер — агент»: станция управления (NMS) шлёт запросы GET/SET к агенту на устройстве, а агент при необходимости сам инициирует асинхронные уведомления — trap или inform.
Версий протокола три. SNMPv1 — откровенно устаревшая, community string гуляет по сети в открытом виде. SNMPv2c — то, что мы чаще всего видим в корпоративных сетях: появился GetBulk для массового опроса, чуть лучше обработка ошибок, но аутентификация всё та же — community string без шифрования. SNMPv3 — единственный вариант с нормальной безопасностью: поддерживает аутентификацию (authNoPriv, authPriv) и шифрование (DES, AES-128/256). Если у вас продакшн — только третья версия, без компромиссов.
Каждый управляемый параметр устройства имеет свой OID (Object Identifier) — числовую иерархию вида 1.3.6.1.2.1.2.2.1.10. Запомнить эти цифры невозможно, поэтому существуют MIB-файлы, которые дают человекочитаемые имена — например, ifInOctets. Стандартные MIB описаны в RFC: IF-MIB, HOST-RESOURCES-MIB и другие. Вендоры добавляют свои приватные MIB для специфичных метрик — температура процессора, состояние вентиляторов, уровень PoE и прочее. Без вендорских MIB вы будете видеть только числовые OID, что крайне неудобно.
Оставить комментарий