Guida MikroTik
Diagnostica e monitoraggioBase

Logging e syslog remoto

Configurare il sistema di log di RouterOS per registrare eventi utili e inviarli in modo sicuro a un server syslog remoto, indispensabile per la diagnostica in ambienti WISP.

RouterOS tiene traccia di ogni evento rilevante (connessioni, firewall, DHCP, PPPoE, errori di sistema) attraverso il sottomenu /system/logging. I log possono essere scritti in memoria, su disco, inviati via email oppure — la soluzione più utile in produzione — trasmessi a un server syslog remoto centralizzato.

Perché è la prima cosa da configurare in un WISP: il buffer di log di default (memory) tiene solo le ultime ~100-1000 righe e si azzera a ogni riavvio. Quando un cliente chiama lamentando un disservizio di ieri sera, senza log centralizzato non hai modo di ricostruire cosa è successo. Un router che si riavvia da solo, una sessione PPPoE che droppa, un attacco brute-force sulla porta API: tutto sparisce se non lo invii fuori dal router.

Architettura del sistema di log

Esistono due concetti distinti: le action (dove scrivere il log: memoria, disco, email, remote) e le regole (quali topic inviare a quale action). Un topic è una categoria di messaggi: firewall, dhcp, pppoe, system, script, ipsec, wireless, ecc. RouterOS supporta oltre 70 topic. Una regola può combinare più topic con la virgola e usare il prefisso ! per escluderne uno.

Action defaultDestinazioneUso tipico in WISP
memoryBuffer RAM circolareDefault; consultazione rapida, si perde al reboot
diskFile su storagePersistenza locale; attenzione allo spazio su RouterBoard
echoConsole attivaDebug interattivo via terminale
remoteServer syslog (UDP/TCP/TLS)Centralizzazione: la scelta giusta in produzione
emailInvio SMTPAlert puntuali (es. solo topic critical)
Action di log integrate in RouterOS

Passo 1 — Creare un'action verso il server syslog

Aggiungere action remote syslog (UDP porta 514)
# Aggiunge un'action che invia i log via UDP al server 192.168.1.100 porta 514
/system/logging/action/add \
  name=remote-syslog \
  target=remote \
  remote=192.168.1.100 \
  remote-port=514 \
  remote-protocol=udp \
  remote-log-format=syslog \
  syslog-facility=daemon \
  syslog-severity=auto

# Verifica
/system/logging/action/print
Per ambienti ad alta sicurezza preferire remote-protocol=tls (richiede certificato sul server) e abilitare check-certificate=yes. UDP è più semplice ma non garantisce la consegna e trasmette in chiaro. Su link instabili (es. backhaul radio) preferisci TCP: un syslog UDP perso non lo recuperi mai.

Passo 2 — Creare le regole di routing dei topic

Regole topic → action remote-syslog
# Invia tutti i topic "critici" al syslog remoto
# Il prefisso ! esclude un sotto-topic (es. !packet esclude raw packets)

/system/logging/add topics=firewall       action=remote-syslog
/system/logging/add topics=account        action=remote-syslog
/system/logging/add topics=system         action=remote-syslog
/system/logging/add topics=pppoe          action=remote-syslog
/system/logging/add topics=dhcp           action=remote-syslog
/system/logging/add topics=script         action=remote-syslog
/system/logging/add topics=ipsec          action=remote-syslog
/system/logging/add topics=critical       action=remote-syslog

# Per debug temporaneo (solo memoria, non remoto)
/system/logging/add topics=debug,!packet  action=memory

# Visualizza le regole attive
/system/logging/print

Buffer di memoria dedicati e log su disco

Puoi creare action di tipo memory separate con dimensioni dedicate, così un topic verboso (es. wireless) non spinge fuori dal buffer i messaggi del firewall. Su router con storage (NAND/USB/microSD) puoi salvare su disco, ma fai attenzione: l'usura della flash e lo spazio limitato lo rendono adatto solo a volumi bassi.

Buffer dedicato e log su disco
# Buffer memoria separato da 500 righe solo per il wireless
/system/logging/action/add name=mem-wifi target=memory memory-lines=500
/system/logging/add topics=wireless action=mem-wifi

# Log su disco con rotazione (max 5 file da 1MB ciascuno)
/system/logging/action/add \
  name=disk-log target=disk disk-file-name=flash/log \
  disk-lines-per-file=1000 disk-file-count=5
/system/logging/add topics=critical,error action=disk-log

Leggere e filtrare i log locali

Comandi di consultazione log
# Ultime 20 righe del log
/log/print

# Filtro per topic firewall
/log/print where topics~"firewall"

# Filtro per messaggio contenente "denied"
/log/print where message~"denied"

# Segui il log in tempo reale (come tail -f)
/log/print follow

# Segui solo gli errori in tempo reale
/log/print follow where topics~"error"

# Log di un buffer personalizzato (se creato)
/log/print where buffer=memory
Nei WISP è fortemente consigliato centralizzare i log su un server syslog (es. Graylog, Loki, o anche un semplice rsyslog su Linux). Questo permette correlazione degli eventi su più router, indispensabile per risolvere guasti complessi e per la conformità normativa (data retention dei log di accesso degli abbonati).
  • Topic più utili per WISP: firewall, account, pppoe, dhcp, system, script, critical
  • Usa remote-log-format=cef se invii a un SIEM enterprise (Splunk, QRadar)
  • Usa remote-log-format=syslog per compatibilità massima (Graylog, rsyslog)
  • Non loggare il topic packet in remoto: genera volume enorme e degrada le prestazioni
  • Con syslog-facility puoi separare i log di router diversi sullo stesso server
  • Imposta correttamente NTP: un log con timestamp sbagliato è quasi inutile per la correlazione (vedi /system/ntp/client)
  • Il topic account (login/logout utenti) è cruciale per l'audit di chi tocca la configurazione
logsyslogloggingremote logsystem loggingactiontopicsiemauditmonitoraggio eventirsysloggrayloglokidisk loglog rotation

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