mikrotik-wiki.ru
Главная
Загрузка...

Мониторинг MikroTik через SNMP — Zabbix и Grafana

RouterOS 7.xTools9 мин130 мар. 2026 г.
TelegramVK

Мониторинг сетевого оборудования — критически важная задача для любого администратора. MikroTik RouterOS поддерживает протокол SNMP (Simple Network Management Protocol), который позволяет собирать метрики и получать уведомления о проблемах. В этой статье настроим SNMP на MikroTik, подключим мониторинг через Zabbix и Grafana, разберём ключевые метрики и настроим оповещения.

Руководство актуально для RouterOS 7.20+, Zabbix 7.x, Grafana 11.x.

Описание

Что такое SNMP

SNMP — стандартный протокол мониторинга сетевых устройств. Он позволяет системе мониторинга (Zabbix, PRTG, Nagios, LibreNMS) опрашивать устройство и получать значения метрик: загрузка CPU, объём свободной памяти, трафик на интерфейсах, температура, количество Wi-Fi клиентов и сотни других параметров.

Каждая метрика имеет уникальный идентификатор — OID (Object Identifier). Например:

  • 1.3.6.1.2.1.1.1.0 — описание устройства (sysDescr)
  • 1.3.6.1.2.1.25.3.3.1.2 — загрузка CPU
  • 1.3.6.1.2.1.2.2.1.10 — входящий трафик на интерфейсе (ifInOctets)

MikroTik поддерживает стандартные MIB (Management Information Base): SNMPv2-MIB, IF-MIB, HOST-RESOURCES-MIB, а также собственные MikroTik-специфичные OID.

SNMP v2c vs v3

ХарактеристикаSNMPv2cSNMPv3
Аутентификацияcommunity string (открытый текст)Username + пароль (MD5/SHA)
ШифрованиеНетДа (DES/AES)
Сложность настройкиМинимальнаяУмеренная
БезопасностьНизкаяВысокая
РекомендацияТолько в изолированных сетяхДля продуктивных сред

Важно: SNMPv2c передаёт community string в открытом виде. Если мониторинг идёт через публичную сеть — используйте только SNMPv3 или SNMP через VPN.

Настройка

Включение SNMP на MikroTik

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

[admin@MikroTik] >
/snmp/set enabled=yes contact="admin@company.ru" location="Москва, серверная, стойка 3"
/snmp/community/set [find name=public] name=MySecretCommunity read-access=yes write-access=no \
  addresses=10.0.0.0/8

Параметры:

  • contact — контактная информация администратора (отображается в системах мониторинга)
  • location — физическое расположение устройства
  • community — строка авторизации (замените public на свою)
  • addresses — ограничение доступа по IP (только сервер мониторинга)

Для продуктивной среды настройте SNMPv3:

[admin@MikroTik] >
/snmp/set enabled=yes contact="admin@company.ru" location="Office-MSK"

# Создаём SNMPv3 пользователя
/snmp/community
add name=v3user security-name=monitor authentication-protocol=SHA1 \
  authentication-password="AuthPassw0rd!" encryption-protocol=AES \
  encryption-password="PrivPassw0rd!" read-access=yes write-access=no \
  addresses=10.0.1.50/32

Ограничьте доступ к SNMP через firewall:

[admin@MikroTik] >
/ip/firewall/filter
add chain=input action=accept protocol=udp dst-port=161 \
  src-address=10.0.1.50 comment="Allow SNMP from Zabbix"
add chain=input action=drop protocol=udp dst-port=161 \
  comment="Drop other SNMP"

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

Перед настройкой Zabbix/Grafana проверьте доступность SNMP с сервера:

[admin@MikroTik] >
# SNMPv2c (установите snmp-utils на Linux)
snmpwalk -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.2.1.1.1.0

# SNMPv3
snmpwalk -v3 -l authPriv -u monitor -a SHA -A "AuthPassw0rd!" \
  -x AES -X "PrivPassw0rd!" 192.168.88.1 1.3.6.1.2.1.1.1.0

# Должен вернуть: SNMPv2-MIB::sysDescr.0 = STRING: RouterOS 7.20 ...

Ключевые OID для MikroTik

МетрикаOIDТип
Описание системы1.3.6.1.2.1.1.1.0STRING
Uptime1.3.6.1.2.1.1.3.0TimeTicks
CPU Load (%)1.3.6.1.2.1.25.3.3.1.2INTEGER
Total Memory1.3.6.1.2.1.25.2.3.1.5.65536INTEGER
Used Memory1.3.6.1.2.1.25.2.3.1.6.65536INTEGER
Disk Total1.3.6.1.2.1.25.2.3.1.5.131072INTEGER
Disk Used1.3.6.1.2.1.25.2.3.1.6.131072INTEGER
Interface In Octets1.3.6.1.2.1.2.2.1.10Counter32
Interface Out Octets1.3.6.1.2.1.2.2.1.16Counter32
Interface Status1.3.6.1.2.1.2.2.1.8INTEGER
Temperature1.3.6.1.4.1.14988.1.1.3.10.0INTEGER
Voltage1.3.6.1.4.1.14988.1.1.3.8.0INTEGER
Wi-Fi Clients (per iface)1.3.6.1.4.1.14988.1.1.1.3.1.6Counter32
RouterOS Version1.3.6.1.4.1.14988.1.1.4.4.0STRING
Board Name1.3.6.1.4.1.14988.1.1.7.8.0STRING

MikroTik-специфичные OID начинаются с 1.3.6.1.4.1.14988 (enterprises.mikrotikExperimentalModule).

Подключение к Zabbix

Zabbix — самая популярная open-source система мониторинга для MikroTik. Zabbix имеет официальные шаблоны для MikroTik.

Шаг 1: Добавление хоста в Zabbix

В веб-интерфейсе Zabbix: Configuration → Hosts → Create Host:

  • Host name: mikrotik-gw
  • Groups: Network devices
  • Interfaces: добавьте SNMP interface, IP: 192.168.88.1, Port: 161
  • SNMP version: SNMPv2 (или v3)
  • SNMP community: MySecretCommunity

Шаг 2: Привязка шаблона

Templates → Link new template:

  • Для SNMPv2: MikroTik by SNMP (встроенный шаблон Zabbix 7.x)
  • Шаблон автоматически обнаружит интерфейсы, диски, CPU

Встроенный шаблон MikroTik by SNMP включает:

  • Обнаружение сетевых интерфейсов (LLD)
  • Мониторинг трафика на каждом интерфейсе
  • CPU, RAM, Disk utilization
  • Temperature monitoring
  • Firmware version
  • Uptime
  • Предустановленные триггеры

Шаг 3: Настройка триггеров (алертов)

Стандартные триггеры из шаблона уже включают важные оповещения. Добавим дополнительные:

ТриггерУсловиеSeverity
High CPUCPU > 80% в течение 5 минутWarning
Critical CPUCPU > 95% в течение 2 минутHigh
Interface DownСтатус интерфейса = downHigh
High MemoryRAM usage > 90%Warning
Disk Almost FullDisk usage > 80%Warning
High TemperatureTemperature > 70°CHigh
RouterOS UpdatedVersion changedInformation
Device UnreachableNo SNMP response for 3 minDisaster

Шаг 4: Настройка SNMP Traps (опционально)

MikroTik может отправлять SNMP traps при определённых событиях. Это push-модель вместо pull:

[admin@MikroTik] >
/snmp/set trap-community=MySecretCommunity trap-version=2 \
  trap-target=10.0.1.50 trap-generators=interfaces,start-trap

Параметр trap-generators:

  • interfaces — уведомления при изменении статуса интерфейсов (up/down)
  • start-trap — уведомление при перезагрузке устройства
  • temp-exception — при превышении температуры

Подключение к Grafana через Prometheus + snmp_exporter

Grafana сама не опрашивает SNMP. Для связки используется Prometheus + snmp_exporter.

Архитектура: MikroTik ← (SNMP) ← snmp_exporter ← (HTTP) ← Prometheus ← (PromQL) ← Grafana

Шаг 1: Установка snmp_exporter

[admin@MikroTik] >
# Docker-compose пример
version: '3'
services:
  snmp-exporter:
    image: prom/snmp-exporter:latest
    ports:
      - "9116:9116"
    volumes:
      - ./snmp.yml:/etc/snmp_exporter/snmp.yml

Шаг 2: Конфигурация Prometheus

yaml
# prometheus.yml
scrape_configs:
  - job_name: 'snmp-mikrotik'
    static_configs:
      - targets:
          - 192.168.88.1   # MikroTik IP
    metrics_path: /snmp
    params:
      auth: [public_v2]
      module: [mikrotik]
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: snmp-exporter:9116

Шаг 3: Dashboard в Grafana

Импортируйте готовый dashboard из Grafana Marketplace:

  • Dashboard ID 14420 — MikroTik SNMP (community)
  • Dashboard ID 14857 — MikroTik Network Overview

Или создайте свой с ключевыми панелями:

  • Traffic per interface (in/out, bps)
  • CPU utilization (%)
  • Memory utilization (%)
  • Temperature gauge
  • Uptime
  • Active Wi-Fi clients

MikroTik The Dude — встроенный мониторинг

MikroTik предлагает собственное решение для мониторинга — The Dude. Начиная с RouterOS 7, The Dude работает как контейнер (container) непосредственно на MikroTik.

Возможности The Dude:

  • Автоматическое обнаружение устройств в сети
  • Мониторинг по SNMP, ICMP, DNS, HTTP
  • Визуальная карта сети
  • Оповещения по email и Telegram
  • История метрик
  • Бесплатен

Установка The Dude на RouterOS 7 (container):

[admin@MikroTik] >
# Включение контейнеров (требуется перезагрузка)
/system/device-mode/update container=yes

# После перезагрузки
/container/envs
add name=dude-envs key=TZ value=Europe/Moscow

/container/mounts
add name=dude-data src=disk1/dude dst=/var/lib/dude

/container
add remote-image=mikrotik/dude:latest interface=veth-dude envlist=dude-envs \
  mounts=dude-data start-on-boot=yes logging=yes

Примечание: The Dude в контейнере требует устройство с достаточным объёмом RAM (минимум 512 MB) и диска (минимум 512 MB). На hAP ax2 (1 GB RAM) работает нормально, на hAP lite — нет.

Проверка

Проверка SNMP на MikroTik

[admin@MikroTik] >
# Статус SNMP
/snmp/print

# Список communities
/snmp/community/print detail

# Проверка OID (локальный тест)
/snmp/print oid

# Статистика SNMP-запросов
/snmp/print stats

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

[admin@MikroTik] >
# Получить описание системы
snmpget -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.2.1.1.1.0

# Получить загрузку CPU
snmpget -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.2.1.25.3.3.1.2.1

# Получить трафик на всех интерфейсах
snmpwalk -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.2.1.2.2.1.10

# Получить имена интерфейсов
snmpwalk -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.2.1.2.2.1.2

# Получить температуру
snmpget -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.4.1.14988.1.1.3.10.0

# Получить версию RouterOS
snmpget -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.4.1.14988.1.1.4.4.0

Проверка в Zabbix

После добавления хоста подождите 5–10 минут и проверьте:

  • Monitoring → Latest data → выберите хост mikrotik-gw — должны появиться метрики
  • Monitoring → Graphs → выберите хост — графики трафика на интерфейсах
  • Monitoring → Problems — не должно быть ложных срабатываний

Мониторинг средствами RouterOS

Даже без внешних систем MikroTik предоставляет базовый мониторинг:

[admin@MikroTik] >
# Текущая загрузка CPU и RAM
/system/resource/print

# История загрузки CPU
/system/resource/cpu/print

# Мониторинг трафика на интерфейсе в реальном времени
/interface/monitor-traffic ether1 duration=10s

# Температура и напряжение
/system/health/print

# Лог системных событий
/log/print where topics~"system"

# Netwatch — мониторинг доступности хостов
/tool/netwatch/add host=8.8.8.8 interval=30s \
  up-script=":log info \"Google DNS is UP\"" \
  down-script=":log warning \"Google DNS is DOWN\"; \
  /tool/e-mail/send to=admin@company.ru subject=\"Alert: Google DNS down\" body=\"Check internet connection\""

Типичные ошибки

1. Community string = public

Дефолтное значение public — первое, что пробует любой сканер. Обязательно измените community на уникальную строку и ограничьте доступ по IP.

[admin@MikroTik] >
# НЕПРАВИЛЬНО:
/snmp/community/set [find name=public] read-access=yes

# ПРАВИЛЬНО:
/snmp/community/set [find name=public] name=Xk9mP2vB7nQ read-access=yes \
  addresses=10.0.1.50/32

2. SNMP доступен из WAN

Если SNMP не защищён firewall, он будет доступен из интернета. Это не только угроза безопасности, но и может использоваться для DDoS-амплификации (SNMP reflection attack).

[admin@MikroTik] >
# Убедитесь, что SNMP заблокирован на WAN
/ip/firewall/filter/print where chain=input and dst-port=161

3. Слишком частый polling

Опрос SNMP каждые 10 секунд создаёт заметную нагрузку на CPU маршрутизатора, особенно на бюджетных моделях. Рекомендуемые интервалы:

МетрикаИнтервал опроса
Трафик на интерфейсах60 секунд
CPU, RAM60 секунд
Temperature300 секунд
Uptime, version3600 секунд
Interface discovery (LLD)3600 секунд

4. Counter32 overflow на загруженных интерфейсах

OID ifInOctets (1.3.6.1.2.1.2.2.1.10) использует Counter32, который переполняется при ~4.3 GB. На гигабитном интерфейсе с полной загрузкой это происходит каждые ~34 секунды. Используйте 64-битные счётчики:

32-bit OID64-bit OIDОписание
ifInOctets (1.3.6.1.2.1.2.2.1.10)ifHCInOctets (1.3.6.1.2.1.31.1.1.1.6)Входящий трафик
ifOutOctets (1.3.6.1.2.1.2.2.1.16)ifHCOutOctets (1.3.6.1.2.1.31.1.1.1.10)Исходящий трафик

Шаблон MikroTik by SNMP в Zabbix 7.x уже использует HC (64-bit) счётчики по умолчанию.

5. Не настроены трапы для критических событий

SNMP polling обнаруживает проблему только при следующем опросе (задержка до интервала). Для критических событий (interface down, reboot) используйте traps:

[admin@MikroTik] >
/snmp/set trap-target=10.0.1.50 trap-community=MySecretCommunity \
  trap-version=2 trap-generators=interfaces,start-trap,temp-exception

6. Мониторинг без алертов

Красивые графики в Grafana бесполезны, если никто их не смотрит. Обязательно настройте оповещения в Zabbix (email, Telegram, SMS) или в Grafana Alerting для критических метрик:

  • CPU > 90% дольше 5 минут
  • Interface status = down
  • Temperature > 70°C
  • Устройство недоступно (ICMP/SNMP timeout)
  • Disk usage > 85%

7. Забыли про SNMP при обновлении RouterOS

После major-обновления RouterOS (например, 7.x → 7.20) проверьте, что SNMP по-прежнему работает. Иногда обновления могут сбросить настройки SNMP или изменить доступные OID.

[admin@MikroTik] >
# После обновления — проверьте
/snmp/print
/snmp/community/print

Правильно настроенный мониторинг через SNMP — это фундамент стабильной сетевой инфраструктуры. Zabbix с шаблоном MikroTik by SNMP покрывает 90% потребностей. Для визуализации и дашбордов используйте Grafana. А для простых сценариев мониторинга нескольких устройств — попробуйте встроенный The Dude, который не требует отдельного сервера.

[admin@MikroTik] >
/snmp/set enabled=yes contact="admin@company.ru" location="Москва, серверная, стойка 3"
/snmp/community/set [find name=public] name=MySecretCommunity read-access=yes write-access=no \
  addresses=10.0.0.0/8
/snmp/set enabled=yes contact="admin@company.ru" location="Office-MSK"

# Создаём SNMPv3 пользователя
/snmp/community
add name=v3user security-name=monitor authentication-protocol=SHA1 \
  authentication-password="AuthPassw0rd!" encryption-protocol=AES \
  encryption-password="PrivPassw0rd!" read-access=yes write-access=no \
  addresses=10.0.1.50/32
/ip/firewall/filter
add chain=input action=accept protocol=udp dst-port=161 \
  src-address=10.0.1.50 comment="Allow SNMP from Zabbix"
add chain=input action=drop protocol=udp dst-port=161 \
  comment="Drop other SNMP"
# SNMPv2c (установите snmp-utils на Linux)
snmpwalk -v2c -c MySecretCommunity 192.168.88.1 1.3.6.1.2.1.1.1.0

# SNMPv3
snmpwalk -v3 -l authPriv -u monitor -a SHA -A "AuthPassw0rd!" \
  -x AES -X "PrivPassw0rd!" 192.168.88.1 1.3.6.1.2.1.1.1.0

# Должен вернуть: SNMPv2-MIB::sysDescr.0 = STRING: RouterOS 7.20 ...
/snmp/set trap-community=MySecretCommunity trap-version=2 \
  trap-target=10.0.1.50 trap-generators=interfaces,start-trap
# Docker-compose пример
version: '3'
services:
  snmp-exporter:
    image: prom/snmp-exporter:latest
    ports:
      - "9116:9116"
    volumes:
      - ./snmp.yml:/etc/snmp_exporter/snmp.yml
**Шаг 3: Dashboard в Grafana**

Импортируйте готовый dashboard из Grafana Marketplace:
- Dashboard ID **14420** — MikroTik SNMP (community)
- Dashboard ID **14857** — MikroTik Network Overview

Или создайте свой с ключевыми панелями:
- Traffic per interface (in/out, bps)
- CPU utilization (%)
- Memory utilization (%)
- Temperature gauge
- Uptime
- Active Wi-Fi clients

#### MikroTik The Dude — встроенный мониторинг

MikroTik предлагает собственное решение для мониторинга — **The Dude**. Начиная с RouterOS 7, The Dude работает как контейнер (container) непосредственно на MikroTik.

Возможности The Dude:
- Автоматическое обнаружение устройств в сети
- Мониторинг по SNMP, ICMP, DNS, HTTP
- Визуальная карта сети
- Оповещения по email и Telegram
- История метрик
- Бесплатен

Установка The Dude на RouterOS 7 (container):
> **Примечание:** The Dude в контейнере требует устройство с достаточным объёмом RAM (минимум 512 MB) и диска (минимум 512 MB). На hAP ax2 (1 GB RAM) работает нормально, на hAP lite — нет.

### Проверка

#### Проверка SNMP на MikroTik
#### Проверка с сервера мониторинга
#### Проверка в Zabbix

После добавления хоста подождите 5–10 минут и проверьте:
- Monitoring → Latest data → выберите хост `mikrotik-gw` — должны появиться метрики
- Monitoring → Graphs → выберите хост — графики трафика на интерфейсах
- Monitoring → Problems — не должно быть ложных срабатываний

#### Мониторинг средствами RouterOS

Даже без внешних систем MikroTik предоставляет базовый мониторинг:
### Типичные ошибки

**1. Community string = public**

Дефолтное значение `public` — первое, что пробует любой сканер. Обязательно измените community на уникальную строку и ограничьте доступ по IP.
**2. SNMP доступен из WAN**

Если SNMP не защищён firewall, он будет доступен из интернета. Это не только угроза безопасности, но и может использоваться для DDoS-амплификации (SNMP reflection attack).
**3. Слишком частый polling**

Опрос SNMP каждые 10 секунд создаёт заметную нагрузку на CPU маршрутизатора, особенно на бюджетных моделях. Рекомендуемые интервалы:

| Метрика | Интервал опроса |
|---------|----------------|
| Трафик на интерфейсах | 60 секунд |
| CPU, RAM | 60 секунд |
| Temperature | 300 секунд |
| Uptime, version | 3600 секунд |
| Interface discovery (LLD) | 3600 секунд |

**4. Counter32 overflow на загруженных интерфейсах**

OID `ifInOctets` (1.3.6.1.2.1.2.2.1.10) использует Counter32, который переполняется при ~4.3 GB. На гигабитном интерфейсе с полной загрузкой это происходит каждые ~34 секунды. Используйте 64-битные счётчики:

| 32-bit OID | 64-bit OID | Описание |
|------------|------------|----------|
| ifInOctets (1.3.6.1.2.1.2.2.1.10) | ifHCInOctets (1.3.6.1.2.1.31.1.1.1.6) | Входящий трафик |
| ifOutOctets (1.3.6.1.2.1.2.2.1.16) | ifHCOutOctets (1.3.6.1.2.1.31.1.1.1.10) | Исходящий трафик |

Шаблон `MikroTik by SNMP` в Zabbix 7.x уже использует HC (64-bit) счётчики по умолчанию.

**5. Не настроены трапы для критических событий**

SNMP polling обнаруживает проблему только при следующем опросе (задержка до интервала). Для критических событий (interface down, reboot) используйте traps:
**6. Мониторинг без алертов**

Красивые графики в Grafana бесполезны, если никто их не смотрит. Обязательно настройте оповещения в Zabbix (email, Telegram, SMS) или в Grafana Alerting для критических метрик:

- CPU > 90% дольше 5 минут
- Interface status = down
- Temperature > 70°C
- Устройство недоступно (ICMP/SNMP timeout)
- Disk usage > 85%

**7. Забыли про SNMP при обновлении RouterOS**

После major-обновления RouterOS (например, 7.x → 7.20) проверьте, что SNMP по-прежнему работает. Иногда обновления могут сбросить настройки SNMP или изменить доступные OID.
Tools / Мониторинг MikroTik через SNMP — Zabbix и Grafana