Konfiguracja MikroTik – Część 44: Integracja MikroTik z systemem monitoringu Grafana i Prometheus
Konfiguracja MikroTik – Część 44: Integracja MikroTik z systemem monitoringu Grafana i Prometheus
W czterdziestej czwartej części serii o konfiguracji MikroTik skupimy się na zaawansowanej integracji z systemami monitoringu klasy enterprise. Dokładnie pokażemy, jak połączyć MikroTik z Prometheus i Grafana w celu zbierania metryk, ich wizualizacji oraz dalszej analizy. Choć MikroTik nie wspiera natywnie Prometheus, istnieje kilka metod obejścia tego ograniczenia przy użyciu narzędzi pośrednich, skryptów i prostych agentów eksportujących dane.
1. Wstęp do integracji – dlaczego Grafana + Prometheus?
MikroTik RouterOS zapewnia podstawowe narzędzia monitoringu (np. SNMP, Netwatch, Torch), ale są one ograniczone funkcjonalnie i nie zawsze pozwalają na efektywną analizę historycznych danych. Połączenie MikroTik z Prometheus i Grafana umożliwia:
- ciągłe zbieranie danych o wydajności,
- wykrywanie anomalii,
- analizę trendów (np. wzrostu obciążenia),
- tworzenie alarmów i dashboardów w czasie rzeczywistym,
- integrację z alertmanagerem, systemami SIEM, email, Slack i SMS.

2. Zbieranie danych z MikroTik – opcje techniczne
MikroTik RouterOS nie udostępnia natywnie Prometheus-exporter, ale można to zrealizować na kilka sposobów:
a) SNMP Exporter
Prometheus oferuje snmp_exporter, który tłumaczy zapytania SNMP do formatu Prometheus.
- Wymagania:
- Włączony SNMP na MikroTik
- Prometheus z dodanym SNMP exporterem
- Odpowiedni
snmp.ymlz profilami OID dla MikroTik
b) MikroTik Exporter (zewnętrzny agent)
Istnieją narzędzia typu open-source, np. mikrotik-exporter, które łączą się przez API i publikują dane zgodne z Prometheus.
- Zbierają:
- Obciążenie CPU, RAM
- Przepustowość interfejsów
- Informacje z queue, DHCP, WiFi, LTE
c) Własne skrypty z fetch i eksport do Prometheus pushgateway
Można zbudować własny agent (np. w Pythonie lub Go), który zbiera dane przez API i wysyła je do pushgateway.
3. Konfiguracja SNMP na MikroTik
Przykład konfiguracji SNMP v2:
/snmp set enabled=yes contact="admin@example.com" location="Datacenter"
/snmp community add name=public
W przypadku v3 należy skonfigurować również użytkownika, autoryzację i prywatność.
4. Instalacja i konfiguracja Prometheus + snmp_exporter
Na serwerze monitorującym (np. Linux/Ubuntu):
sudo apt install prometheus snmp snmpd snmp-mibs-downloader
wget https://github.com/prometheus/snmp_exporter/releases/...
Dodaj wpis do prometheus.yml:
- job_name: 'mikrotik'
static_configs:
- targets: ['192.168.1.1'] # adres MikroTika
metrics_path: /snmp
params:
module: [mikrotik]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9116 # adres snmp_exporter
5. Dashboardy w Grafanie – wizualizacja danych
Grafana umożliwia tworzenie dynamicznych dashboardów opartych o dane z Prometheus.
Popularne metryki do wizualizacji:
- Przepustowość interfejsów (rx/tx)
- Obciążenie CPU i pamięci
- Połączenia NAT
- Użycie kolejek (queue)
- Liczba użytkowników DHCP
- Status PPP/L2TP/VPN
Istnieją gotowe dashboardy na grafana.com/dashboards – np.:
- Dashboard ID:
11277– MikroTik Interfaces - Dashboard ID:
11989– MikroTik Traffic
6. Alternatywa: Telegraf + InfluxDB + Grafana
Innym podejściem jest użycie agenta Telegraf z pluginem SNMP i eksportem do InfluxDB. To dobre rozwiązanie, gdy zależy nam na strukturze szeregów czasowych i niestandardowych analizach.
Instalacja i konfiguracja Telegraf:
[[inputs.snmp]]
agents = ["udp://192.168.1.1:161"]
version = 2
community = "public"
name = "mikrotik"
[[inputs.snmp.field]]
name = "uptime"
oid = "1.3.6.1.2.1.1.3.0"
is_tag = false
Dane trafiają do InfluxDB, a następnie do Grafany.
7. Alerting – wykrywanie problemów w czasie rzeczywistym
Z Prometheus i Grafana można ustawić alerty:
- Gdy przepustowość przekroczy X Mbps
- Gdy router jest offline (brak odpowiedzi SNMP)
- Gdy obciążenie CPU przekroczy 80%
- Gdy użycie pamięci RAM jest zbyt wysokie
Alertmanager może wysyłać powiadomienia:
- Slack / Teams / Discord
- webhook do SIEM
- syslog
8. Bezpieczeństwo integracji
- Zawsze ogranicz dostęp do SNMP za pomocą firewall
- Nie udostępniaj SNMP publicznie
- Stosuj SNMPv3 lub ograniczenia IP
- Chroń dane wrażliwe (hasła do API)
9. Przykład praktyczny: Dashboard MikroTik Edge z alertami
Na koniec warto stworzyć dedykowany dashboard zawierający:
- wszystkie interfejsy routera (przepustowość + błędy)
- informacje o VPN (tunel L2TP/IPSec)
- listę DHCP leases
- stan CPU, RAM, uptime
- historia restartów / awarii
- liczba klientów WiFi
Podsumowanie
Integracja MikroTik z systemami monitoringu klasy Prometheus + Grafana otwiera ogromne możliwości diagnostyczne. Choć nie jest natywna, dzięki SNMP, agentom i API możemy uzyskać pełen wgląd w zachowanie urządzenia. Regularny monitoring poprawia bezpieczeństwo, skraca czas reakcji na awarie i ułatwia optymalizację sieci. W kolejnej części zajmiemy się eksportem danych z MikroTik do systemów typu Loki (logi) oraz NetFlow do ELK/Wazuh.






