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 default | Destinazione | Uso tipico in WISP |
|---|---|---|
| memory | Buffer RAM circolare | Default; consultazione rapida, si perde al reboot |
| disk | File su storage | Persistenza locale; attenzione allo spazio su RouterBoard |
| echo | Console attiva | Debug interattivo via terminale |
| remote | Server syslog (UDP/TCP/TLS) | Centralizzazione: la scelta giusta in produzione |
| Invio SMTP | Alert puntuali (es. solo topic critical) |
Passo 1 — Creare un'action verso il server syslog
# 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
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
# 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 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
# 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
- Topic più utili per WISP:
firewall,account,pppoe,dhcp,system,script,critical - Usa
remote-log-format=cefse invii a un SIEM enterprise (Splunk, QRadar) - Usa
remote-log-format=syslogper compatibilità massima (Graylog, rsyslog) - Non loggare il topic
packetin remoto: genera volume enorme e degrada le prestazioni - Con
syslog-facilitypuoi 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
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