hostprofi.ru
Подобрать хостинг
Термин·буква S

SNMP

краткое определение

Протокол мониторинга сетевых устройств и серверов для централизованного сбора метрик через MIB/OID.

SNMP (Simple Network Management Protocol) — протокол мониторинга и управления сетевыми устройствами и серверами. Позволяет централизованно собирать метрики: загрузка CPU, использование RAM, сетевой трафик, статус интерфейсов — с сотен устройств одновременно.

Как работает

Архитектура SNMP: Manager (система мониторинга) опрашивает Agent-ов на каждом устройстве. Агент имеет MIB (Management Information Base) — иерархическую базу объектов с числовыми OID-идентификаторами. Например, OID 1.3.6.1.2.1.1.1.0 — системное описание устройства (sysDescr). Менеджер отправляет GET-запрос по OID, агент возвращает значение.

Три режима: Get/GetNext — опрос менеджером. Set — изменение параметров устройства через SNMP. Trap — асинхронное уведомление агента о событии (перегрев, падение интерфейса) без опроса.

История

SNMP v1 появился в 1988 году (RFC 1067) для управления маршрутизаторами в ARPANET. v2c (1993) добавил 64-битные счётчики и массовые запросы (GetBulk). v3 (2004) — единственная версия с аутентификацией и шифрованием. SNMP v1 и v2c передают community string (пароль) в открытом виде — уязвимы к перехвату. На практике 90% инсталляций используют v2c из-за простоты настройки.

Настройка snmpd на Linux

# Установка
apt install snmpd snmp

# /etc/snmp/snmpd.conf
# Разрешить чтение с хоста мониторинга
rocommunity public 192.168.1.100

# SNMPv3 (безопаснее)
createUser monuser SHA authpass AES privpass
rouser monuser priv

# Применить
systemctl restart snmpd

# Проверка
snmpget -v2c -c public localhost system.sysDescr.0
snmpwalk -v2c -c public localhost ifTable

SNMP в мониторинге

Zabbix, Icinga, LibreNMS нативно поддерживают SNMP — создают элементы данных по OID и строят графики. Для стандартных Linux-серверов SNMP конкурирует с Prometheus node_exporter: последний удобнее в Kubernetes-окружениях, SNMP незаменим для сетевого оборудования (Cisco, MikroTik, HP ProCurve) без Prometheus-агентов. Grafana поддерживает SNMP через плагин Telegraf.

На что обращать внимание

SNMP community string «public» — дефолтный «пароль», известный всем. Смените на уникальный и ограничьте доступ через UFW: UDP 161 только с IP системы мониторинга. SNMPv3 с шифрованием — единственный безопасный вариант для мониторинга через интернет. На VPS SNMP обычно избыточен — Prometheus node_exporter покрывает те же метрики с лучшей интеграцией в современные стеки.

SNMP в практике мониторинга серверов

SNMP особенно ценен для мониторинга сетевого оборудования: маршрутизаторов, коммутаторов, UPS. Большинство сетевых устройств не поддерживают агенты Prometheus или Datadog, но имеют встроенный SNMP-агент. Инструменты вроде Cacti или Zabbix умеют опрашивать устройства по SNMP и строить графики нагрузки на интерфейсы, температуру CPU, загрузку памяти.

Для Linux-серверов альтернативой SNMP является Prometheus с node_exporter — он даёт более детальные метрики и лучше интегрируется с современными стеками мониторинга. Но в гетерогенных средах, где сосуществуют Linux, Windows и сетевое железо, SNMP остаётся общим знаменателем.

Безопасность SNMP критически важна: SNMPv1 и v2c передают данные в открытом виде, включая community string. Необходимо ограничить доступ к UDP/161 средствами firewall — разрешить только IP систем мониторинга. SNMPv3 с аутентификацией и шифрованием — единственный вариант для продакшн-окружений с требованиями к безопасности. Команда snmpwalk -v3 -l authPriv -u monitor -A pass -X encpass позволяет проверить доступность OID-дерева с зашифрованной сессией. Grafana с плагином SNMP позволяет визуализировать данные без дополнительных агентов.

Другие термины