Konfiguracja MikroTik – Część 44: Integracja MikroTik z systemem monitoringu Grafana i Prometheus
Sieci komputerowe

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.
Konfiguracja MikroTik – Część 44: Integracja MikroTik z systemem monitoringu Grafana i Prometheus
Konfiguracja MikroTik – Część 44: Integracja MikroTik z systemem monitoringu Grafana i Prometheus

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.yml z profilami OID dla MikroTik
Czytaj  Monitorowanie i failover kontenerów Docker za pomocą systemd – jak to zrobić?

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
Czytaj  Analiza ruchu DNS w praktyce – jak wykrywać malware, tunelowanie i wycieki danych

Alertmanager może wysyłać powiadomienia:

  • email
  • 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.

 

Polecane wpisy
Konfiguracja MikroTik – Część 48: Dynamiczne VLANy na MikroTik z wykorzystaniem RADIUS i Access-Request
Konfiguracja MikroTik – Część 48: Dynamiczne VLANy na MikroTik z wykorzystaniem RADIUS i Access-Request

Konfiguracja MikroTik – Część 48: Dynamiczne VLANy na MikroTik z wykorzystaniem RADIUS i Access-Request 🎯 Wprowadzenie W środowiskach sieciowych wymagających Czytaj dalej

MikroTik przekierowanie dla niepłacących

1) Na samym początku musimy dodać adresy które chcemy żeby były blokowane do Address Lists, czyli logujemy się do MikroTika, Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.