Il syslog e' il demone standard a cui vengoni indirizzati tutti
i messaggi di sistema.
La sua configurazione e' semplice e consente il logging/debugging
degli eventi legati al sistema operativo Unix/Linux.
Il syslog e' il principale standard per il logging dei messaggi di sistema. E' nato su Unix (per il sendmail) ma e' stato implementato su molti altri sistemi operativi ed e' ora lo standard di fatto per il logging sistemistico.
Oltre che su Unix/Linux tipicamente viene utilizzato il syslog anche dalle periferiche di rete intelligenti come router, switch, ...
Nella configurazione di default i messaggi vengono semplicemente accodati su un file, tuttavia e' possibile indirizzare alcuni messaggi a
La priorita' dei messaggi su syslog e' indicata come una coppia facility.level.
Facility identifica la tipologia di applicazione o di messaggio. Le facility definite sono: auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, syslog, user, uucp, local0..local7.
Level identifica il livello di gravita' del messaggio: Emergency, Alert, Critical, Error, Warning, Notice, Info, Debug. E' anche definito il livello None che indica nessun messaggio.
La priorita' viene utilizzata dal syslog per determinare la destinazione del messaggio.
Le applicazioni utente o quelle del sistema operativo inviano messaggi al syslog
mediante la chiamata syslog()... ma non tutti scrivono in C!
Per inviare un messaggio al syslog da shell e' utilizzabile un semplice
comando:
Nell'esempio viene inviato un messaggio al syslog di livello info sulla facility local3 (una delle 8 disponibili come localX).
Il file di configurazione del syslog varia a seconda delle implementazioni (eg. /etc/syslog.conf /etc/rsyslog.d/XXX.conf ) ma il contenuto e' analogo: ogni riga contiene una selezione dei messaggi ed una relativa azione. Nella selezione viene riportata la coppia facility.level indicando che TUTTI i level a partire da quello indicato vanno trattati. Nell'azione puo' essere indicato un nome di file, un host a cui ridigere i messaggi (indicato con @ ), un programma (indicato con | ) o un utente.
In una tipica configurazione vengono ignorati i messaggi di debug e gli altri messaggi vengono rediretti su due file:
*.info;authpriv.none /var/log/messages authpriv.* /var/log/secure
Per inviare i messaggi piu' critici ad syslog esterno e' sufficiente inserire la riga:
*.warn @central_syslog
L'implementazione del syslog varia da sistema a sistema
ed ha avuto una notevole evoluzione nel tempo.
In questo documento sono stati riportati elementi generali...
per eventuali dettagli e' necessario fare riferimento alla documentazione
relativa al sistema utilizzato.
Titolo: syslog
Livello: Medio
Data:
1 Aprile 2015
Versione: 1.0.0 - 1 Aprile 2015
Autore: mail [AT] meo.bogliolo.name