SNMP-мониторинг сетевого оборудования: коммутаторы, роутеры, UPS в одной панели
Меня зовут Семёнов Евгений Сергеевич, директор АйТи Фреш. 15+ лет я строю корпоративные сети и мониторю их. Без мониторинга сеть живёт по принципу «пока не сломалось — не трогай, сломалось — звонят пользователи». Это неприемлемо для серьёзной инфраструктуры. У нас на практике SNMP закрывает 90% задач наблюдения за сетевым железом: коммутаторы, роутеры, межсетевые экраны, UPS, принтеры. Расскажу, как построить такой мониторинг с нуля.
Что даёт SNMP-мониторинг бизнесу
- Узнать об отказе UPS до того, как сядет аккумулятор.
- Увидеть, что коммутатор на складе перегревается — раньше, чем он перезагрузится.
- Зафиксировать рост ошибок на uplink-порту — поменять SFP до падения связи.
- Отследить потребление трафика по VLAN и спланировать расширение канала.
- Документировать SLA для SLA-ответственных сервисов.
Я всегда ставлю мониторинг в первую неделю после приёма новой сети на поддержку — иначе невозможно знать, какие инциденты реальны, а какие жалобы «кажется».
Версии SNMP: что выбрать
| Версия | Безопасность | Совместимость | Вердикт |
|---|---|---|---|
| v1 | Community в открытом виде | Уходит | НЕ использовать |
| v2c | То же + 64-битные счётчики | Широкая | Внутренняя сеть с ACL |
| v3 | Аутентификация + шифрование | Современное оборудование | Рекомендую для всего |
Настройка SNMP на разных платформах
Cisco IOS (v3):
snmp-server group MONITOR v3 priv
snmp-server user zabbix MONITOR v3 auth sha MonAuth_Pass_123 priv aes 128 MonPriv_Pass_456
snmp-server view MONVIEW iso included
snmp-server group MONITOR v3 priv read MONVIEW
snmp-server enable traps
snmp-server host 10.10.20.50 version 3 priv zabbix
MikroTik RouterOS:
/snmp community add name=monro read-access=yes addresses=10.10.20.50/32
/snmp set enabled=yes contact=admin@corp.example.ru location="Msk-Office-1"
# или v3:
/snmp community add name=zabbix authentication-password=AuthPass123 \
encryption-password=PrivPass456 authentication-protocol=SHA1 \
encryption-protocol=AES addresses=10.10.20.50/32 security=private
D-Link DES/DGS:
create snmp view MonView 1 view_type included
create snmp user zabbix MonGroup v3 encrypted by_password SHA AuthPass123 AES PrivPass456
create snmp access MonGroup 3 authpriv read_view MonView notify_view MonView
enable snmp server
APC UPS Network Management Card:
# Через веб-интерфейс:
# Configuration -> Network -> SNMPv3 -> User Profiles
# User Name: zabbix
# Auth: SHA, MonAuth_Pass_123
# Priv: AES, MonPriv_Pass_456
# Access Control:
# User: zabbix, NMS IP: 10.10.20.50
Zabbix 7 как сервер мониторинга
У нас на продакшене Zabbix крутится на Dell PowerEdge с Xeon Platinum 8280, 64 ГБ RAM, 960 ГБ NVMe в дата-центре МТС, сеть 40G Mellanox. Тянет ~1800 хостов и 42000 метрик без напряга.
# Debian 12
curl -fsSL https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb \
-o /tmp/zbx.deb
dpkg -i /tmp/zbx.deb
apt update
apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf \
zabbix-sql-scripts zabbix-agent2 mariadb-server
mysql -e "CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;"
mysql -e "CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongZbxPass';"
mysql -e "GRANT ALL ON zabbix.* TO 'zabbix'@'localhost';"
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -pStrongZbxPass zabbix
systemctl enable --now zabbix-server zabbix-agent2 apache2
Добавление SNMPv3-устройства в Zabbix
- Configuration → Hosts → Create host.
- Имя — sw-office-1, IP — 10.10.10.2.
- Templates → Link new templates → «Cisco IOS by SNMP» или «Generic SNMP».
- Interfaces → SNMP, Use Bulk requests — yes.
- Macros: {$SNMP_COMMUNITY} для v2c или пользователь/пароли для v3.
Ключевые OID для мониторинга
| Метрика | OID | Описание |
|---|---|---|
| sysDescr | 1.3.6.1.2.1.1.1.0 | Модель, прошивка |
| sysUpTime | 1.3.6.1.2.1.1.3.0 | Аптайм |
| ifOperStatus | 1.3.6.1.2.1.2.2.1.8 | Статус порта |
| ifHCInOctets | 1.3.6.1.2.1.31.1.1.1.6 | Входящий трафик (64-bit) |
| ifHCOutOctets | 1.3.6.1.2.1.31.1.1.1.10 | Исходящий трафик |
| ifInErrors | 1.3.6.1.2.1.2.2.1.14 | Ошибки на порту |
| cpmCPUTotal5minRev (Cisco) | 1.3.6.1.4.1.9.9.109.1.1.1.1.8 | CPU 5 мин |
| upsEstimatedMinutesRemaining | 1.3.6.1.2.1.33.1.2.3.0 | UPS: минут до разряда |
Ручной тест SNMP с сервера
apt install -y snmp snmp-mibs-downloader
# v2c
snmpwalk -v2c -c monro 10.10.10.2 system
# v3
snmpwalk -v3 -l authPriv -u zabbix \
-a SHA -A MonAuth_Pass_123 \
-x AES -X MonPriv_Pass_456 \
10.10.10.2 system
Алерты и пороговые значения
Я всегда настраиваю минимум 7 типов триггеров на каждое устройство:
| Триггер | Условие | Severity |
|---|---|---|
| Device unreachable | ICMP loss > 30% 2 мин | Disaster |
| Port down (uplink) | ifOperStatus=2 1 мин | High |
| CPU > 85% | 5 мин | Warning |
| Temperature high | > 60°C коммутатор | High |
| Interface errors | > 10 err/sec | Warning |
| UPS on battery | 1 мин | High |
| UPS low battery | < 10 мин | Disaster |
Реальный кейс: производство в Подольске
В октябре 2025 внедряли мониторинг на производстве. 4 коммутационных шкафа, 32 коммутатора (Cisco + D-Link), 3 роутера MikroTik, 6 UPS APC, 11 точек доступа. Раньше админ узнавал о проблемах от оператора, который прибегал со словами «ничего не работает».
Что сделали за 4 рабочих дня:
- Развернули Zabbix 7 на виртуалке в серверной.
- Настроили SNMPv3 на всём сетевом оборудовании.
- Импортировали 6 шаблонов (Cisco IOS, D-Link, MikroTik, APC, Generic, HP).
- Создали карту сети с автозапоминанием топологии через LLDP.
- Подключили Telegram-бот для алертов.
- Настроили дашборды для IT-директора и для операторов цеха.
Через 2 недели Zabbix обнаружил деградацию SFP в одном из коммутаторов — 0.3% ошибок в час росли. Заменили модуль за 30 минут, до отказа канала не дошло. За первый месяц работы мониторинга — 4 предотвращённых инцидента. Стоимость проекта — 145 000 ₽.
Типовые ошибки
- Community public/private. В интернете сканеры подбирают за минуту.
- SNMP на внешнем IP. Порт 161/udp наружу — утечка конфигурации.
- Без bulk-запросов. Сканирование большой таблицы идёт по одной записи, занимая минуты.
- Пороги по умолчанию. 80% CPU для ASIC-коммутатора — нормально, для общего хоста — тревога.
- Без документации по community/users. Новый админ не знает, чем стучаться.
Развернём мониторинг сети под ключ
Поставим Zabbix/LibreNMS, настроим SNMPv3 на всём сетевом оборудовании, создадим шаблоны, карты, алерты в Telegram. Мониторинг коммутаторов, роутеров, UPS, серверов, принтеров. Срок — от 3 рабочих дней.
Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш
FAQ — частые вопросы по SNMP-мониторингу
- Какую версию SNMP использовать?
- v3 с authPriv. v2c — только внутри с ACL.
- Какую систему выбрать?
- Zabbix или LibreNMS — бесплатно. PRTG/SolarWinds — коммерческое.
- Без SNMP мониторить можно?
- Да, через ICMP, NetFlow, API. Но SNMP — стандарт.
- Что мониторить на коммутаторе?
- Аптайм, CPU, память, температура, порты, ошибки, трафик, PoE.
- Как защитить SNMP?
- v3, ACL, нестандартные community, закрытый порт наружу.