MikroTik Netwatch: Monitorowanie i Automatyzacja

Pytanie

mikrotik netwatch

Odpowiedź Sztucznej Inteligencji


Bezpośrednia odpowiedź na pytanie

  • Netwatch to wbudowane w RouterOS narzędzie do ciągłego monitorowania hostów (ICMP, TCP-conn, HTTP/HTTPS GET, DNS itp.) i wykonywania skryptów przy zmianie ich statusu.
  • Pozwala automatyzować działania takie jak failover łączy WAN, restarty interfejsów/urządzeń, wysyłanie powiadomień czy rekonfiguracja routingu.

Kluczowe punkty
• Mechanizm sond (od v7.4: icmp, simple, tcp-conn, http-get, https-get, dns).
• Parametry: host | type | interval | timeout | up-script | down-script | start-delay.
• Skrypty uruchamiane są z uprawnieniami użytkownika sys (read | write | test | reboot).

Szczegółowa analiza problemu

1. Architektura i działanie

  1. RouterOS tworzy proces Netwatch dla każdej reguły.
  2. Reguła wykonuje sondę co interval; oczekuje timeout na odpowiedź.
  3. Po zmianie stanu danej reguły wywoływany jest odpowiedni skrypt.
  4. Wszystkie akcje są logowane z tematem „netwatch”.

2. Typowe scenariusze

a) Failover (dwie bramy internetowe)

/tool netwatch
add host=1.1.1.1 interval=10s timeout=1s \
     down-script=":log warn \"Primary DOWN\";\
                  /ip route set [find comment=\"WAN_PRIMARY\"] disabled=yes" \
     up-script=":log info \"Primary UP\";\
                /ip route set [find comment=\"WAN_PRIMARY\"] disabled=no"

b) Automatyczny restart PoE kamery

/tool netwatch add host=192.168.10.50 interval=1m timeout=2s \
     down-script=":log warn \"Camera down – power-cycle\";\
                  /interface ethernet poe set ether5 poe-out=off;\
                  :delay 5s;\
                  /interface ethernet poe set ether5 poe-out=auto-on"

c) Powiadomienia Telegram/E-mail

/tool netwatch add host=10.0.0.1 type=http-get interval=30s \
     up-script="/tool fetch url=\"https://api.telegram.org/bot<token>/sendMessage?chat_id=<id>&text=Serwer%20UP\" keep-result=no" \
     down-script="/tool e-mail send to=admin@firma.pl subject=\"ALARM\" body=\"Serwer 10.0.0.1 nie odpowiada\""

3. Parametry rozszerzone (v7.x)

type – wybór sondy.
data – np. URL zapytania HTTP.
retry-count – liczba prób przed zmianą stanu (eliminuje flapping).
test-interval – odrębny interwał przy stanie down (można szybciej sprawdzać powrót hosta).

4. Dobre praktyki techniczne

  1. Monitoruj minimum dwa niezależne hosty, agreguj wynik w skrypcie („majority logic”).
  2. Używaj retry-count lub własnej zmiennej licznika, aby uniknąć przełączania przy chwilowych utratach pakietów.
  3. Loguj każdą krytyczną akcję – uprości to diagnostykę.
  4. Testuj skrypty ręcznie (:execute) zanim przekażesz je Netwatchowi.
  5. Przy wielu regułach ogranicz interval ≥ 30 s, by nie obciążyć CPU małych routerów.

Aktualne informacje i trendy

  • RouterOS ≥ 7.4 rozbudował Netwatch o sondy warstw aplikacji (HTTP/HTTPS/DNS) – pozwala wykrywać awarie usług, a nie tylko łączności IP.
  • Wersje 7.13+ wspierają nowy interpreter skryptów (policy policy=ftp,reboot,read,write,policy,test,api,winbox,password,sniff,sensitive) – Netwatch pozostaje jednak ograniczony do read|write|test|reboot, co zwiększa bezpieczeństwo.
  • Coraz powszechniejsza integracja z API chmurowymi (Telegram, Slack, Zabbix Trap) poprzez tool/ fetch.
  • Trend: łączenie Netwatch z recursive routing lub BFD dla szybszego failoveru WAN.

Wspierające wyjaśnienia i detale

Parametr Znaczenie Wartości przykładowe
host adres IP/hostname 8.8.8.8, my.api.com
type rodzaj sondy icmp, tcp-conn, http-get
interval odstęp czasowy 30s, 5m
timeout czas oczekiwania 1s, 3s
retry-count liczba nieudanych prób 3 (host Down po 3 błędach)

Aspekty etyczne i prawne

  • Automatyczny restart urządzeń może przerwać krytyczne usługi; wymagaj zgody właściciela zasobu.
  • Monitorując hosty należące do stron trzecich (np. publiczne DNS) nie nadużywaj zbyt krótkiego interwału – to generuje zbędny ruch.
  • Zgodność z RODO: jeżeli skrypty Netwatch wysyłają dane osobowe (logi, maile) poza organizację, uwzględnij politykę ochrony danych.

Praktyczne wskazówki

  1. Failover WAN – rozważ zamiast Netwatch funkcję „check-gateway=ping” lub „recursive route”, które dezaktywują trasę automatycznie i są szybsze.
  2. Przy skryptach modyfikujących routing zmieniaj distance, a nie disable=yes/no – dzięki temu tablica routingu zachowuje historię.
  3. Niedostępność Netwatch po restarcie? Ustaw start-delay=30s-60s, aby poczekać na inicjalizację interfejsów.
  4. Integracja z SNMP – statusy Netwatch wystawisz jako OID .1.3.6.1.4.1.14988.1.1.7.

Ewentualne zastrzeżenia lub uwagi dodatkowe

  • Netwatch nie wykonuje się, gdy ruch do hosta przechodzi przez tunel IPsec w trybie policy require bez osobnej reguły NAT-T – konieczna zmiana reguł lub użycie hosta wewnątrz tunelu.
  • Wersje RouterOS < 6.45 mają stary parser skryptów; składnia niektórych przykładów (np. :delay) wymaga testów.
  • Brak dostępu do zmiennych globalnych innych niż zdefiniowane w tym samym skrypcie (odrębny kontekst użytkownika sys).

Sugestie dalszych badań

  • MikroTik Documentation ROS 7 → Tools → Netwatch (help.mikrotik.com)
  • Forum MikroTik: wątki „Advanced Netwatch”, „Netwatch loop restart”.
  • Materiały wideo: The Network Berg „Ultimate Failover with Netwatch” (2024).
  • Porównanie Netwatch vs BFD vs Track Route w protokołach dynamicznych (OSPF/BGP).

Krótkie podsumowanie

Netwatch to lekkie, lecz bardzo elastyczne narzędzie RouterOS. Dzięki nowym typom sond w wersjach 7.x pozwala monitorować nie tylko obecność hosta, lecz także kluczowe usługi aplikacyjne i reagować skryptem na każdą anomalię. Poprawnie dobrane interwały, licznik prób oraz starannie przetestowane skrypty gwarantują stabilny failover, automatyczny restart urządzeń czy natychmiastowe powiadomienia administratora. Przy zachowaniu dobrych praktyk Netwatch znacząco podnosi niezawodność infrastruktury bez konieczności instalowania dodatkowego oprogramowania.

Oceń odpowiedź:
Zastrzeżenie: Odpowiedzi udzielone przez sztuczną inteligencję (model językowy) mogą być niedokładne i wprowadzające w błąd. Elektroda nie ponosi odpowiedzialności za dokładność, rzetelność ani kompletność prezentowanych informacji. Wszystkie odpowiedzi powinny być zweryfikowane przez użytkownika.

Zadaj dodatkowe pytanie Sztucznej Inteligencji

Czekaj (2min)...