Netwatch: monitoraggio host e automazione
Usare Netwatch per monitorare la raggiungibilità di host critici (gateway, server, CPE clienti) ed eseguire script automatici al cambio di stato, abilitando reazioni proattive ai guasti.
Netwatch (/tool/netwatch) esegue probe periodici verso host di rete e, al cambio di stato (up→down o down→up), esegue script RouterOS. È lo strumento ideale per implementare failover automatico, inviare notifiche via log, o attivare azioni correttive senza intervento umano. In RouterOS v7 Netwatch è stato potenziato con probe ICMP avanzati (soglie su latenza, jitter, loss) e nuovi tipi (tcp-conn, http-get, dns).
Tipi di probe disponibili in v7
- icmp — serie di ping ICMP con soglie su latenza media, massima, jitter e packet loss
- tcp-conn — testa il three-way handshake TCP verso una porta specifica (es. 22, 443, 8728)
- http-get / https-get — esegue una richiesta HTTP e valida il codice di risposta
- dns — interroga un resolver DNS e valida la risposta
- simple — ping base, compatibile con configurazioni pre-v7
Stati di Netwatch v7
Con i probe ICMP avanzati l'host non è più solo up/down ma può finire in unknown (test non ancora eseguito) o segnalare il superamento delle soglie (thr-*). Lo script down-script parte quando l'host diventa irraggiungibile O quando una soglia viene violata, permettendo di reagire al degrado del link prima del down totale — utile su un radio link che inizia a perdere pacchetti.
Esempio 1 — Monitorare il gateway internet con failover su log
# Monitora il gateway primario ogni 30 secondi # Se offline o con loss/latenza oltre soglia → scrive warning nel log /tool/netwatch/add \ name=gateway-primario \ host=203.0.113.1 \ type=icmp \ interval=30s \ timeout=3s \ thr-avg=100ms \ thr-loss-percent=50 \ startup-delay=1m \ up-script=":log warning \"Gateway primario TORNATO online\"" \ down-script=":log error \"Gateway primario OFFLINE - verificare uplink\"" # Verifica stato attuale (status, loss, latenza) /tool/netwatch/print /tool/netwatch/print detail
Esempio 2 — Monitorare la porta API MikroTik di un AP remoto
# Controlla ogni 60s che l'AP remoto risponda sulla porta API
/tool/netwatch/add \
name=ap-campo-nord \
host=10.20.5.1 \
type=tcp-conn \
port=8728 \
interval=1m \
timeout=5s \
down-script={
:log error "AP Campo Nord non raggiungibile - porta 8728 chiusa"
# Qui si può aggiungere: invia email, apri ticket via HTTP, ecc.
}Esempio 3 — Probe HTTP per monitorare un portale captive
# Verifica ogni 5 minuti che il portale risponda con HTTP 200 /tool/netwatch/add \ name=portale-hotspot \ host=10.0.0.10 \ type=http-get \ port=80 \ http-codes=200 \ interval=5m \ timeout=10s \ down-script=":log critical \"Portale hotspot NON risponde\""
Esempio 4 — Notifica Telegram quando un sito va giù
Lo script di Netwatch può usare /tool/fetch per chiamare un'API esterna. Un classico nei WISP: notifica istantanea su Telegram quando un POP o un backhaul cade, così il tecnico interviene prima che squillino i telefoni.
/tool/netwatch/add \
name=backhaul-monte \
host=10.30.0.1 \
type=icmp interval=20s timeout=2s thr-loss-percent=40 \
down-script={
:local token "123456:ABC-DEF_token_bot"
:local chat "-1001234567890"
:local msg "ALLARME: backhaul Monte (10.30.0.1) NON raggiungibile"
/tool/fetch url=("https://api.telegram.org/bot" . $token . \
"/sendMessage?chat_id=" . $chat . "&text=" . $msg) \
keep-result=no
} \
up-script={
:local token "123456:ABC-DEF_token_bot"
:local chat "-1001234567890"
/tool/fetch url=("https://api.telegram.org/bot" . $token . \
"/sendMessage?chat_id=" . $chat . "&text=RIPRISTINO: backhaul Monte OK") \
keep-result=no
}*sys che ha politiche limitate (read, write, test, reboot). Non possono usare comandi che richiedono policy sensitive o password. Per azioni avanzate (es. chiamate HTTP esterne) usa /tool/fetch dentro lo script. Il parametro startup-delay (default 5 minuti) evita falsi allarmi durante il boot del router.- In un WISP è utile monitorare: gateway upstream, server RADIUS, server NTP, apparati CPE critici, server di monitoraggio stesso
- Con
thr-loss-percent=20Netwatch segnala problemi anche prima del down completo - Per failover WAN reale combinare Netwatch con routing ricorsivo o policy routing
- Usare
commentsu ogni entry per documentare cosa si monitora e perché - Non monitorare host che droppano l'ICMP (firewall): useresti tcp-conn o http-get al loro posto
- Tieni
intervalragionevole: 100 host monitorati ogni 5s sono 20 probe/secondo costanti di CPU
Continua con
Configura senza fatica con l'AI
In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.
Prova WispOS