SNMP: что это такое, как работает и как настроить мониторинг сети

Есть такая категория технологий, которые существуют везде, используются всеми, но мало кто может с ходу объяснить, как именно они работают. SNMP — один из таких протоколов. Он живёт в вашем Cisco-коммутаторе, в UPS под столом серверной, в NAS в углу, в принтере на третьем этаже и в паре IoT-девайсов, о существовании которых вы уже забыли. Если в вашей сети больше десяти устройств — вы уже используете инфраструктуру, которую SNMP способен мониторить. Вопрос только в том, настроили ли вы это.

В этой статье разберём SNMP с нуля до продакшна: что это за протокол, как он работает, чем отличаются версии, что такое SNMP-карта для UPS, как настроить SNMP на Cisco и Windows, как подключить всё это к Zabbix — и пять реальных кейсов из жизни системного администратора. Готовые команды, минимум воды.

Что такое SNMP и зачем он нужен

SNMP (Simple Network Management Protocol) — протокол прикладного уровня для мониторинга и управления сетевыми устройствами. Разработан в конце 1980-х и с тех пор практически не исчез из IT-инфраструктуры. Название обманчивое: «Simple» в названии означает простую модель данных, а не простоту настройки — с этим у SNMP бывают нюансы.

SNMP позволяет системе мониторинга централизованно собирать данные с сотен устройств, не устанавливая на каждое из них отдельный агент с проприетарным протоколом. Производители сетевого оборудования договорились поддерживать единый стандарт — и это решение оказалось на удивление живучим.

Где используется SNMP

Короче спросить, где он не используется. SNMP поддерживают:

  • Маршрутизаторы и коммутаторы — Cisco, Juniper, Huawei, MikroTik, D-Link, Eltex
  • UPS (источники бесперебойного питания) — APC, Eaton, Ippon, Powercom
  • Серверы — через IPMI/iDRAC/iLO или ОС
  • NAS-устройства — Synology, QNAP, NetApp
  • Принтеры — HP, Xerox, Canon (да, и принтеры тоже)
  • PDU (распределители питания в стойке)
  • Системы кондиционирования и климат-контроля
  • IoT-устройства — промышленные контроллеры, датчики
  • ОС — Windows, Linux, FreeBSD, NetBSD

Если устройство имеет сетевой интерфейс и хоть какое-то управление — с вероятностью 80% там есть SNMP.

Как работает SNMP: механика без воды

Архитектура SNMP строится на трёх ключевых компонентах.

SNMP Manager (менеджер)

Это ваша система мониторинга — Zabbix, Nagios, PRTG, Prometheus с SNMP exporter. Менеджер инициирует запросы к устройствам и собирает данные. Он знает, что спрашивать и у кого.

SNMP Agent (агент)

Это программный компонент на самом устройстве — маршрутизаторе, коммутаторе, сервере. Агент отвечает на запросы менеджера и сам инициирует уведомления (трапы) при наступлении событий. На большинстве сетевых устройств агент встроен в прошивку.

MIB и OID

MIB (Management Information Base) — это база данных, описывающая, какие параметры можно запросить у устройства. Что-то вроде словаря: вот список всего, о чём можно спросить агента, и в каком формате придёт ответ.

OID (Object Identifier) — уникальный числовой адрес каждого параметра в дереве MIB. Например, OID 1.3.6.1.2.1.1.1.0 — это sysDescr, описание системы. Каждая точка в строке — это уровень иерархии, как путь в файловой системе, только цифрами.

Polling и Traps

SNMP работает в двух режимах взаимодействия:

  • Polling (опрос) — менеджер регулярно спрашивает агента: «Какая у тебя загрузка CPU? Сколько трафика прошло через интерфейс?» Агент отвечает. Это основной режим мониторинга.
  • Traps (ловушки) — агент сам отправляет уведомление менеджеру при наступлении события: упал интерфейс, UPS перешёл на батарею, температура превысила порог. Не нужно ждать следующего опроса — оповещение приходит сразу.

Схема взаимодействия выглядит так:

Zabbix (Manager) ──GET Request──→ SNMP Agent (Cisco, UPS, Server)
Zabbix (Manager) ←──Response──── SNMP Agent
SNMP Agent ──────Trap─────────→ Zabbix (Manager)

Порты: агент слушает UDP 161 (запросы), менеджер принимает трапы на UDP 162. Запомните эти два числа — они пригодятся при настройке файрвола.

Архитектура SNMP: схема взаимодействия SNMP Manager, SNMP Agent, MIB и OID
Архитектура SNMP: менеджер опрашивает агентов по OID, агенты отправляют трапы при событиях

Версии SNMP: v1, v2c и v3 — в чём разница

За 30+ лет существования SNMP прошёл через три версии. Каждая следующая исправляла проблемы предыдущей — в основном в части безопасности.

SNMP v1

Самая первая версия, 1988 год. Использует community string — строку-пароль, передаваемую в открытом виде. Никакого шифрования, никакой авторизации. По современным меркам — дыра в безопасности размером с ворота. Встречается только на очень старом оборудовании, использовать не рекомендуется.

SNMP v2c

Самая распространённая версия сегодня. Добавила bulk-запросы (получить сразу много данных одним запросом) и улучшила обработку ошибок. Community string по-прежнему передаётся в открытом виде — безопасность не улучшилась. Но скорость работы выросла, и именно поэтому v2c до сих пор используется в большинстве инфраструктур.

SNMP v3

Версия с настоящей безопасностью. Добавила:

  • Аутентификацию — пользователи с паролями (MD5 или SHA)
  • Шифрование трафика — DES, 3DES, AES
  • Защиту от replay-атак

Настраивать v3 чуть сложнее, но в любой инфраструктуре, выходящей за пределы домашней лаборатории, использование v3 — это не опция, а необходимость.

Сравнительная таблица версий SNMP

Характеристика SNMP v1 SNMP v2c SNMP v3
Год появления 1988 1993 2004
Аутентификация Community string Community string Пользователь + пароль
Шифрование ❌ Нет ❌ Нет ✅ AES/3DES
Bulk-запросы ❌ Нет ✅ Есть ✅ Есть
Безопасность Никакой Слабая Хорошая
Сложность настройки Минимальная Низкая Средняя
Рекомендуется ❌ Нет ⚠️ Для изолированных сетей ✅ Да

SNMP-карта: что это и зачем она нужна

Отдельная история — SNMP-карты (SNMP cards). Это платы расширения или встроенные модули, которые добавляют SNMP-функциональность устройствам, у которых её нет нативно или которым нужен выделенный канал управления.

Чаще всего SNMP-карты встречаются в UPS (источниках бесперебойного питания). Сам UPS умеет работать с питанием, но для удалённого мониторинга и управления нужна именно SNMP-карта управления — отдельный модуль со своим сетевым интерфейсом, процессором и прошивкой.

Что умеет SNMP-карта для UPS

  • Мониторинг заряда батареи и времени автономной работы
  • Контроль входного и выходного напряжения
  • Мониторинг нагрузки (в ваттах и процентах от номинала)
  • Контроль температуры внутри UPS
  • Отправка SNMP Traps при переходе на батарею, перегрузке, критическом заряде
  • Удалённое управление — выключение, перезагрузка, управление розетками (PDU-функции)
  • Уведомления по email (SMTP)
  • Веб-интерфейс для ручного управления
  • Интеграция с системами мониторинга (Zabbix, PRTG, Nagios)

Популярные производители SNMP-карт

APC (Schneider Electric) — карты серии AP9630/AP9631 (Network Management Card 2) и AP9640/AP9641 (NMC3). Самые распространённые в корпоративном сегменте. Богатый функционал, хорошая документация, интеграция с PowerChute.

Eaton — карты серии Gigabit Network Card (NETWORK-M2). Поддерживают SNMP v1/v2c/v3, ModBus, веб-интерфейс.

Ippon — SNMP-карты для линеек Smart Winner и Smart Power. Более бюджетный вариант, но достаточный для базового мониторинга. Ippon SNMP поддерживает стандартные MIB UPS-MIB (RFC 1628) и часто имеет собственный MIB производителя.

SNMP карта управления для UPS: плата расширения с Ethernet интерфейсом для удалённого мониторинга
SNMP-карта управления для UPS — отдельный модуль с Ethernet, веб-интерфейсом и поддержкой SNMP v1/v2c/v3

SNMP для UPS: мониторинг источников бесперебойного питания

Мониторинг UPS через SNMP — один из самых важных кейсов для серверной. Представьте: ночью пропало питание, UPS перешёл на батарею, заряд упал до 10% — а система мониторинга молчит, потому что SNMP не настроен. Итог предсказуем.

Что мониторят в UPS через SNMP

Стандартный MIB для UPS — UPS-MIB (RFC 1628). Ключевые OID:

Параметр OID Описание
Статус UPS 1.3.6.1.2.1.33.1.4.1.0 On-line, On-battery, и др.
Заряд батареи 1.3.6.1.2.1.33.1.2.4.0 Процент заряда
Время автономии 1.3.6.1.2.1.33.1.2.3.0 Оставшееся время в сотых долях секунды
Нагрузка 1.3.6.1.2.1.33.1.4.4.1.5 Процент нагрузки на выходе
Температура батареи 1.3.6.1.2.1.33.1.2.7.0 Температура в градусах Цельсия
Входное напряжение 1.3.6.1.2.1.33.1.3.3.1.3 Вольты на входе

Проверить доступность и получить данные с UPS:

# Проверяем что UPS отвечает на SNMP
snmpwalk -v2c -c public 192.168.1.100

# Получаем заряд батареи
snmpget -v2c -c public 192.168.1.100 1.3.6.1.2.1.33.1.2.4.0

# Получаем статус UPS
snmpget -v2c -c public 192.168.1.100 1.3.6.1.2.1.33.1.4.1.0

Интерфейсы подключения SNMP для UPS

SNMP-карты и модули для UPS подключаются по-разному в зависимости от модели и задачи:

SNMP Ethernet — самый распространённый вариант. Карта устанавливается в слот расширения UPS и подключается к сети патч-кордом. Поддерживает полный функционал: SNMP, веб-интерфейс, email-уведомления.

SNMP USB — часто используется в небольших UPS начального уровня, где нет слота для SNMP-карты. Подключается к серверу через USB, сервер выступает как SNMP-прокси. Типичный пример — NUT (Network UPS Tools) на Linux: читает данные с UPS через USB и публикует их через SNMP.

SNMP RS232 — встречается на старых моделях UPS. Последовательный порт, адаптер RS232-Ethernet или RS232-USB. Используется в legacy-инсталляциях, где замена UPS нецелесообразна.

Настройка SNMP на Cisco: пошаговая инструкция

Коммутаторы и маршрутизаторы Cisco — самое частое применение SNMP в корпоративных сетях. Настройка занимает несколько минут.

Базовая настройка SNMP v2c на Cisco IOS

conf t

! Включаем SNMP community только для чтения
snmp-server community public RO
snmp-server community monitoring RO

! Описание устройства для системы мониторинга
snmp-server location ServerRoom-Rack3
snmp-server contact admin@example.com

! Ограничиваем доступ только с IP системы мониторинга
! (рекомендуется всегда!)
ip access-list standard SNMP-ACCESS
 permit 192.168.10.50
 deny any

snmp-server community monitoring RO SNMP-ACCESS

! Включаем отправку трапов на сервер мониторинга
snmp-server host 192.168.10.50 version 2c monitoring
snmp-server enable traps

end
write memory

Несколько важных замечаний:

  • Никогда не оставляйте community string как public в продакшне — это первое что проверяют сканеры безопасности.
  • Всегда ограничивайте доступ через ACL — только с IP вашей системы мониторинга.
  • Для read-only мониторинга достаточно RO — не давайте RW без необходимости.

Настройка SNMP v3 на Cisco IOS

SNMPv3 требует больше команд, но обеспечивает реальную безопасность:

conf t

! Создаём группу с аутентификацией и шифрованием
snmp-server group MONITOR v3 priv

! Создаём пользователя в группе
! auth sha — алгоритм аутентификации SHA
! priv aes 128 — шифрование AES-128
snmp-server user zabbix MONITOR v3 \
  auth sha MyAuthPassword2024 \
  priv aes 128 MyPrivPassword2024

! Разрешаем трапы для SNMPv3
snmp-server host 192.168.10.50 version 3 priv zabbix

end
write memory

Параметры безопасности SNMPv3:

Уровень Команда Что даёт
noAuthNoPriv v3 noauth Нет аутентификации, нет шифрования
AuthNoPriv v3 auth Аутентификация, трафик открытый
AuthPriv v3 priv Аутентификация + шифрование трафика

Для продакшна — только priv. Остальное — компромисс.

Проверка настройки SNMP на Cisco

! Смотрим текущую конфигурацию SNMP
show snmp
show snmp community
show snmp user
show snmp group

SNMP в Windows: включение и настройка службы

Windows Server поддерживает SNMP через системную службу. По умолчанию не установлена — нужно добавить.

Установка SNMP Service на Windows Server

Через Server Manager:

  1. Server Manager → ManageAdd Roles and Features
  2. Features → отмечаем SNMP Service
  3. Устанавливаем

Через PowerShell (быстрее):

# Установка SNMP Service
Add-WindowsFeature SNMP-Service

# Установка SNMP WMI Provider (опционально, для дополнительных данных)
Add-WindowsFeature SNMP-WMI-Provider

Настройка SNMP Service в Windows

# Через реестр (для автоматизации)
# Community string
reg add "HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ValidCommunities" `
  /v "monitoring" /t REG_DWORD /d 4 /f
# 4 = READ ONLY, 8 = READ WRITE

# Разрешённые хосты для SNMP
reg add "HKLM\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\PermittedManagers" `
  /v "1" /t REG_SZ /d "192.168.10.50" /f

# Перезапускаем службу
Restart-Service SNMP

Либо через GUI: services.msc → SNMP Service → Properties → Security. Здесь настраиваем community strings и список разрешённых хостов.

Полезные OID для мониторинга Windows через SNMP

# Загрузка CPU
snmpwalk -v2c -c monitoring 192.168.1.10 1.3.6.1.2.1.25.3.3.1.2

# Использование памяти
snmpwalk -v2c -c monitoring 192.168.1.10 1.3.6.1.2.1.25.2.3.1

# Список процессов
snmpwalk -v2c -c monitoring 192.168.1.10 1.3.6.1.2.1.25.4.2.1.2

# Сетевые интерфейсы
snmpwalk -v2c -c monitoring 192.168.1.10 1.3.6.1.2.1.2.2.1

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

На Linux SNMP-агент реализован через пакет net-snmp.

# <a title="Настройка статического IP в Ubuntu 22.04-24.04 и Debian 12-13: Новый мир Netplan" href="https://it-apteka.com/nastrojka-staticheskogo-ip-v-ubuntu-22-04-24-04-i-debian-12-13-nov/" target="_blank" rel="noopener" data-wpil-monitor-id="736">Ubuntu / Debian</a>
sudo apt install snmpd snmp

# RHEL / Fedora / Rocky
sudo dnf install net-snmp net-snmp-utils

# Конфигурационный файл
sudo nano /etc/snmp/snmpd.conf

Минимальная конфигурация /etc/snmp/snmpd.conf для v2c:

# Разрешаем доступ только с сервера мониторинга
agentAddress udp:161

# Community string только для чтения
rocommunity monitoring 192.168.10.50

# Описание системы
sysLocation ServerRoom
sysContact admin@example.com

# Разрешаем <a class="wpil_keyword_link" href="https://it-apteka.com/category/monitoring/" target="_blank"  rel="noopener" title="Мониторинг" data-wpil-keyword-link="linked"  data-wpil-monitor-id="741">мониторинг</a> всей системы
view systemonly included .1
# Запускаем и добавляем в автозагрузку
sudo systemctl enable snmpd
sudo systemctl start snmpd

# Проверяем локально
snmpwalk -v2c -c monitoring localhost

SNMP мониторинг через Zabbix

Zabbix — один из самых популярных инструментов мониторинга с отличной поддержкой SNMP. Разберём, как добавить SNMP-устройство и что с ним делать дальше.

Добавление SNMP-устройства в Zabbix

  1. Переходим в Configuration → Hosts → Create Host
  2. На вкладке Host заполняем имя и группу
  3. Добавляем интерфейс: тип SNMP, IP-адрес устройства, порт 161
  4. На вкладке Macros задаём:
    • {$SNMP_COMMUNITY} = monitoring (для v2c)
    • Или параметры v3: {$SNMP_USER}, {$SNMP_AUTH_PASSWORD}, {$SNMP_PRIV_PASSWORD}
  5. На вкладке Templates привязываем подходящий шаблон
Zabbix SNMP мониторинг: настройка SNMP интерфейса для коммутатора Cisco в Zabbix
Zabbix: добавление SNMP-устройства — выбор интерфейса SNMP и привязка шаблона мониторинга

Готовые шаблоны Zabbix для SNMP

Zabbix поставляется с большим набором готовых SNMP-шаблонов:

  • Cisco IOS SNMP — CPU, память, интерфейсы, температура
  • APC UPS SNMP — заряд батареи, нагрузка, статус, время автономии
  • Generic SNMP — базовые системные параметры по стандартным OID
  • Windows SNMP — базовый мониторинг Windows-хостов
  • Linux SNMP — через net-snmp

Не нашли шаблон для вашего оборудования в стандартной поставке — загляните на Zabbix Integrations: там тысячи шаблонов от сообщества.

Создание SNMP-элемента данных вручную в Zabbix

# Пример для ручного добавления элемента
# Тип: SNMP agent
# OID: 1.3.6.1.2.1.33.1.2.4.0
# Имя: UPS Battery Charge
# Тип данных: Numeric (unsigned)
# Единицы: %

Полезные инструменты для работы с SNMP

Прежде чем настраивать Zabbix, полезно освоить CLI-инструменты для ручной диагностики. Пакет snmp (на Linux) содержит всё необходимое.

# <a href="https://it-apteka.com/zapusk-bash-skriptov-v-linux-cherez-terminal-cron-python-windows-i-raspberry-pi/" title="Запуск bash скриптов в Linux: через терминал, cron, Python, Windows и Raspberry Pi" target="_blank" rel="noopener"  data-wpil-monitor-id="794">Ubuntu / Debian</a>
sudo apt install snmp snmp-mibs-downloader

# RHEL
sudo dnf install net-snmp-utils

snmpwalk — обход всего дерева OID

# Получить всё что отдаёт устройство по SNMP v2c
snmpwalk -v2c -c public 192.168.1.1

# С расшифровкой имён OID (нужны MIB-файлы)
snmpwalk -v2c -c public -m ALL 192.168.1.1

# Только системная информация
snmpwalk -v2c -c public 192.168.1.1 system

# SNMPv3
snmpwalk -v3 -l authPriv \
  -u zabbix \
  -a SHA -A MyAuthPassword2024 \
  -x AES -X MyPrivPassword2024 \
  192.168.1.1

snmpget — получить конкретный OID

# Получить описание системы
snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.1.0

# Получить uptime
snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.3.0

# Получить имя хоста
snmpget -v2c -c public 192.168.1.1 1.3.6.1.2.1.1.5.0

snmptranslate — перевод OID в человекочитаемый формат

# OID в имя
snmptranslate 1.3.6.1.2.1.1.1.0
# Результат: SNMPv2-MIB::sysDescr.0

# Имя в OID
snmptranslate -On SNMPv2-MIB::sysDescr.0
# Результат: .1.3.6.1.2.1.1.1.0

snmpbulkwalk — быстрый обход (SNMP v2c/v3)

# Значительно быстрее snmpwalk для больших таблиц
snmpbulkwalk -v2c -c public 192.168.1.1 interfaces

Пять практических кейсов из жизни администратора

Кейс 1: Мониторинг UPS через SNMP-карту — чтобы не узнать о разряде постфактум

Ситуация: В серверной стоит APC Smart-UPS 3000 с SNMP-картой NMC2. Нужно мониторить заряд, нагрузку и получать алерты при переходе на батарею.

Шаг 1: Проверяем что UPS отвечает на SNMP:

snmpwalk -v2c -c public 192.168.1.100 .1.3.6.1.4.1.318
# .1.3.6.1.4.1.318 — OID APC (PowerNet-MIB)

Шаг 2: В Zabbix добавляем хост с SNMP-интерфейсом, привязываем шаблон APC UPS by SNMP. Шаблон автоматически настраивает мониторинг:

  • Заряд батареи (upsAdvBatteryCapacity)
  • Статус UPS (upsBasicOutputStatus)
  • Нагрузка в процентах (upsAdvOutputLoad)
  • Время автономии (upsAdvBatteryRunTimeRemaining)
  • Температура батарейного блока (upsAdvBatteryTemperature)

Шаг 3: Настраиваем триггеры: алерт при заряде ниже 30%, критический при ниже 15%, алерт при переходе на батарею. Теперь система сама позвонит раньше, чем UPS успеет умереть.

Кейс 2: Мониторинг Cisco-коммутатора — трафик, загрузка, температура

Ситуация: Нужно мониторить ядровой Cisco Catalyst 3850: загрузку CPU, память, температуру, трафик на аплинк-портах.

Настройка на коммутаторе:

conf t
snmp-server community monitoring RO
snmp-server host 192.168.10.50 version 2c monitoring
snmp-server enable traps cpu threshold
snmp-server enable traps envmon temperature
end

Проверка с хоста мониторинга:

# CPU load
snmpget -v2c -c monitoring 192.168.1.1 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1

# Температура
snmpwalk -v2c -c monitoring 192.168.1.1 1.3.6.1.4.1.9.9.13.1.3

# Трафик на интерфейсе GigabitEthernet1/0/1 (ifIndex = 1)
snmpget -v2c -c monitoring 192.168.1.1 1.3.6.1.2.1.2.2.1.10.1  # In octets
snmpget -v2c -c monitoring 192.168.1.1 1.3.6.1.2.1.2.2.1.16.1  # Out octets

В Zabbix привязываем шаблон Cisco IOS SNMP — и получаем готовые графики трафика, CPU, памяти и температуры без ручного прописывания OID.

Кейс 3: Контроль температуры в серверной через SNMP

Ситуация: В серверной установлен датчик температуры с SNMP-интерфейсом (например, Netbotz или аналог). Нужно получать алерты при перегреве.

# Получаем показания датчика
snmpwalk -v2c -c public 192.168.1.200 1.3.6.1.4.1.XXXX

# Узнаём нужный OID через полный обход
snmpwalk -v2c -c public 192.168.1.200 | grep -i temp

В Zabbix создаём элемент данных с нужным OID, задаём триггеры:

  • Предупреждение: температура выше 27°C
  • Критический: температура выше 35°C

Дополнительно: настраиваем медиа-уведомления в Zabbix — при критическом алерте приходит SMS и email. Ночью в серверной кондиционер встал — вы узнаете раньше, чем железо начнёт дросселировать.

Кейс 4: Автоматическое выключение серверов при разряде UPS

Ситуация: UPS на батарее, питание не появляется, серверам нужно корректно выключиться до того, как UPS отключится аварийно.

Решение: NUT (Network UPS Tools) + SNMP. NUT читает данные с UPS и при заряде ниже порога запускает upssched, который рассылает команды на все подключённые серверы.

# Установка NUT на Ubuntu
sudo apt install nut nut-snmp

# /etc/nut/ups.conf — описание UPS
[myups]
  driver = snmp-ups
  port = 192.168.1.100
  community = public
  snmp_version = v2c

# /etc/nut/upsmon.conf — настройка мониторинга
MONITOR myups@localhost 1 admin password master
POWERDOWNFLAG /etc/killpower
SHUTDOWNCMD "/sbin/shutdown -h +0"

# Запуск
sudo systemctl enable nut-server nut-monitor
sudo systemctl start nut-server nut-monitor

Теперь при падении заряда ниже настроенного порога сервер сам корректно выключится, не дожидаясь аварийного отключения питания.

Кейс 5: Мониторинг NAS через SNMP

Ситуация: В инфраструктуре стоит Synology NAS. Нужно мониторить: состояние дисков, статус RAID, нагрузку CPU, использование памяти и объём хранилища.

Включение SNMP на Synology: Control Panel → Terminal & SNMP → SNMP. Задаём community string, указываем версию.

Полезные OID Synology (SYNOLOGY-SYSTEM-MIB):

# Температура системы
snmpget -v2c -c monitoring 192.168.1.150 1.3.6.1.4.1.6574.1.2.0

# Статус вентилятора
snmpget -v2c -c monitoring 192.168.1.150 1.3.6.1.4.1.6574.1.4.1.0

# Статус RAID (1 = нормально, 2 = деградировано и т.д.)
snmpwalk -v2c -c monitoring 192.168.1.150 1.3.6.1.4.1.6574.3

# Статус диска
snmpwalk -v2c -c monitoring 192.168.1.150 1.3.6.1.4.1.6574.2

В Zabbix доступен шаблон Synology NAS SNMP — привязываем и получаем полный дашборд состояния NAS за пять минут.

Типичные проблемы SNMP и как их решить

Симптом Вероятная причина Решение
Timeout при snmpwalk Firewall блокирует UDP 161 Открыть UDP 161 с IP системы мониторинга
«No such object» на все OID Неправильный community string Проверить community на устройстве и в запросе
Пустой ответ на OID OID не поддерживается устройством Сделать snmpwalk и найти актуальный OID
SNMPv3: Authentication failure Несовпадение алгоритма или пароля Проверить auth (MD5/SHA) и пароли на обоих концах
Трапы не приходят в Zabbix UDP 162 закрыт на сервере мониторинга Открыть UDP 162 входящий на Zabbix-сервер
SNMP работает, но данные некорректны Неправильный MIB или единицы измерения Проверить документацию вендора, загрузить MIB
В Zabbix «SNMP agent is not available» Неправильный IP или порт, либо timeout Проверить доступность через snmpget с сервера Zabbix

Быстрая диагностика проблем SNMP

# Проверяем открыт ли порт
nc -zu 192.168.1.1 161 && echo "Port open" || echo "Port closed"

# Или через nmap
nmap -sU -p 161 192.168.1.1

# Минимальный тест доступности
snmpget -v2c -c public -t 5 -r 1 192.168.1.1 1.3.6.1.2.1.1.1.0

# Смотрим что слушает агент на Linux
ss -ulnp | grep 161

Порты SNMP: что открывать в файрволе

  • UDP 161 — основной порт агента. Менеджер отправляет GET-запросы на этот порт устройства. Открывать входящий на устройстве, только с IP системы мониторинга.
  • UDP 162 — порт для приёма трапов. Агент отправляет трапы на этот порт менеджера. Открывать входящий на сервере мониторинга.
# Открыть SNMP на Linux (iptables)
iptables -A INPUT -p udp --dport 161 -s 192.168.10.50 -j ACCEPT
iptables -A INPUT -p udp --dport 162 -j ACCEPT

# Или через firewalld (RHEL/Fedora)
firewall-cmd --add-port=161/udp --permanent
firewall-cmd --add-port=162/udp --permanent
firewall-cmd --reload

# UFW (Ubuntu)
ufw allow from 192.168.10.50 to any port 161 proto udp
ufw allow 162/udp

Заключение: SNMP — скучный протокол, который спасает серверные

SNMP не модный. На него не пишут стартапы и не делают доклады на конференциях. Но он работает везде, поддерживается всеми производителями и интегрируется в любую систему мониторинга. Пока существует сетевое оборудование — SNMP никуда не денется.

Мы разобрали: как устроен протокол, чем отличаются v1/v2c/v3, что такое SNMP-карта для UPS, как настроить SNMP на Cisco, Windows и Linux, как подключить всё это к Zabbix — и пять кейсов из реальной жизни. Теперь у вас есть всё, чтобы настроить мониторинг инфраструктуры через SNMP без лишних приключений.

Мониторите серверную? Столкнулись с нестандартным OID или упрямым вендорским MIB? Пишите в комментарии — разберём.

over_dude
Author: over_dude

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх