MikroTik – Część 21: Monitorowanie i automatyzacja reakcji – Prometheus, Grafana, SNMP i Alertmanager z MikroTik
MikroTik – kompleksowa konfiguracja sieci od podstaw do zaawansowanych rozwiązań
Część 21: Monitorowanie i automatyzacja reakcji – Prometheus, Grafana, SNMP i Alertmanager z MikroTik
W poprzedniej części zbudowaliśmy środowisko CI/CD do zarządzania konfiguracją MikroTików z użyciem GitLab, Ansible i NetBox. Tym razem skupimy się na tym, co następuje po wdrożeniu konfiguracji — czyli na monitorowaniu, alertowaniu i automatyzacji reakcji na zdarzenia sieciowe. W tej części przedstawimy kompletny ekosystem bazujący na Prometheusie, Grafanie i Alertmanagerze, który pozwala zbudować proaktywne centrum operacji sieciowych (NOC).

Dlaczego potrzebujemy aktywnego monitoringu MikroTik?
MikroTik, mimo że nie jest klasyfikowany jako rozwiązanie klasy enterprise, oferuje bogate możliwości monitorowania poprzez SNMP, NetFlow, API i syslog. W warunkach produkcyjnych każda infrastruktura wymaga nie tylko rejestrowania danych historycznych, ale i reakcji na:
- przeciążenia interfejsów,
- błędy routingu,
- próby nieautoryzowanego dostępu,
- nieprawidłowości w sesjach VPN czy BGP,
- nadmierne zużycie CPU/RAM,
- awarie zasilania lub przeładowanie UPS.
Architektura monitoringu
Komponenty:
- MikroTik RouterOS – źródło danych (SNMP, syslog, API).
- Prometheus – kolekcjonuje metryki.
- snmp_exporter – konwertuje SNMP na dane zrozumiałe przez Prometheus.
- Grafana – wizualizacja danych.
- Alertmanager – zarządzanie powiadomieniami.
- Webhooki / skrypty reakcyjne – automatyzacja odpowiedzi.
Konfiguracja SNMP na MikroTik
Na routerze:
/snmp set enabled=yes contact="noc@example.com" location="Serwerownia A"
/snmp community add name=public read-access=yes
Warto też ograniczyć dostęp do SNMP tylko do Prometheusa:
/ip firewall filter add chain=input protocol=udp dst-port=161 src-address=IP_PROMETHEUS action=accept
/ip firewall filter add chain=input protocol=udp dst-port=161 action=drop
snmp_exporter
Na serwerze z Prometheusem instalujemy snmp_exporter:
wget https://github.com/prometheus/snmp_exporter/releases/latest/download/snmp_exporter.tar.gz
tar -xzf snmp_exporter.tar.gz
cd snmp_exporter
./snmp_exporter
Przykładowa konfiguracja snmp.yml:
mikrotik:
walk:
- 1.3.6.1.2.1.1
- 1.3.6.1.2.1.2
- 1.3.6.1.2.1.31
- 1.3.6.1.2.1.25
version: 2c
auth:
community: public
Dodajemy target w Prometheusie:
- job_name: 'mikrotik'
static_configs:
- targets: ['192.168.88.1'] # adres MikroTik
metrics_path: /snmp
params:
module: [mikrotik]
Grafana – dashboardy dla MikroTik
W Grafanie możemy zaimportować gotowe dashboardy z:
- https://grafana.com/grafana/dashboards (np. ID: 13665 – MikroTik SNMP Interface Metrics)
- lub stworzyć własne, np. z wykresami:
- ruchu RX/TX,
- obciążenia CPU,
- statusów BGP/VPN,
- liczby użytkowników HotSpot.
Alertmanager – automatyzacja reakcji
Przykład prostego alertu:
groups:
- name: router-health
rules:
- alert: CPUOverload
expr: snmp_mikrotik_cpu_usage > 80
for: 2m
labels:
severity: critical
annotations:
summary: "CPU MikroTik przekracza 80%"
description: "Router {{ $labels.instance }} przekroczył 80% CPU"
Wyślij powiadomienie przez Slack, e-mail, Discord, Telegram lub webhooka:
receivers:
- name: 'default'
slack_configs:
- channel: '#noc'
send_resolved: true
text: "{{ .CommonAnnotations.summary }}"
Automatyczne reakcje
Poza powiadomieniem możemy wykonać automatyczny rollback konfiguracji lub restart interfejsu:
- Tworzymy webhook w Alertmanagerze.
- Webhook uruchamia skrypt w Python/Bash (np.
rollback.sh), który używa API do MikroTik.
Przykład webhooka:
{
"receiver": "webhook",
"status": "firing",
"alerts": [
{
"labels": {
"alertname": "VPNDown"
},
"annotations": {
"description": "Połączenie VPN padło",
"summary": "VPN site-to-site nie działa"
}
}
]
}
Wersjonowanie alertów i dashboardów
Zarówno dashboardy Grafany jak i reguły Alertmanagera można przechowywać w Git i wersjonować – integrując z naszym wcześniejszym pipeline CI/CD.
Wskazówki bezpieczeństwa
- Nie udostępniaj publicznie SNMP v2 – używaj whitelistingu IP.
- Prometheus i Grafana powinny być chronione VPN lub reverse proxy z autoryzacją.
- Loguj wszystkie operacje wykonywane przez webhooki.
Podsumowanie
Monitoring MikroTików na poziomie enterprise jest możliwy — i to bez kosztownych licencji. Dzięki połączeniu Prometheus, Grafany, snmp_exporter i Alertmanagera tworzymy skalowalny i elastyczny system detekcji, który może nie tylko powiadamiać o problemach, ale i automatycznie na nie reagować.
W kolejnej części pokażemy, jak wprowadzić zasady Zero Trust do komunikacji z MikroTikami oraz jak wdrożyć wzorce microsegmentacji i inspekcji ruchu z pomocą EDR, firewalli i systemów typu SOAR.






