|
Il kernel e molti programmi di sistema producono messaggi di errore,
di avvertimento e di altro tipo. Spesso è importante che questi
messaggi possano essere letti in un secondo tempo, anche dopo
parecchio, quindi devono essere scritti in un file. Il programma che
lo fa è syslog, che può essere configurato per distribuire i
messaggi in file diversi a seconda di chi li genera o del loro grado
di importanza. Ad esempio, i messaggi del kernel sono spesso rediretti
in un file separato dagli altri, dato che i messaggi del kernel spesso
sono più importanti e devono essere letti regolarmente per
individuare i problemi.
10.1 Log di sistema
I log sono l’archivio informativo più importante che
un amministratore di sistema deve consultare per risolvere problemi di
vario genere. Il demone che gestisce i log di sistema e del kernel è
il syslogd. Questo demone legge all’avvio il file /etc/syslog.conf.
Modificato il file syslog.conf è necessario che syslogd rilegga la
nuova configurazione, usando il seguente comando:
\# killall -HUP syslogd
Il file /etc/syslog.conf è suddiviso in tre campi: le facility, le
priority ed il log stesso.
- Le facility sono il tipo di evento che viene analizzato.
Alcuni tipi di facility sono:
auth, auth-priv, cron, kern, syslog, lpr, local0-local7;
- Le priority sono il livello di priorità delle facility. Le varie priority
sono:
debug, info, notice, warning, err, crit, alert, panic.
panic è la priorità maggiore e considera automaticamente anche le
priorità sottostanti fino alla debug. Le facility definite nel primo
campo e le priority definite nel secondo campo sono separate dal
carattere ".".
Ad esempio:
\# Fac.Pri nome del log
kern.panic /var/log/kernel
Viene creato il file di log /var/log/kernel che analizza l’evento kern
riferito al kernel con un livello di priorità panic ossia massima.
10.2 Rotazione dei log
La rotazione dei log è un aspetto molto importante
nell’amministrazione di un server GNU/Linux e consiste nel tenere un
archivio dei vari files di log per un certo numero di giorni,
cancellando i log datati e creandone di nuovi. Il file di
configurazione per la rotazione dei log è /etc/logrotate.conf per la
distribuzione Madeinlinux. Per creare il processo di rotazione è
necessario utilizzare delle particolari direttive nel file /etc/logrotate.conf.
Vediamo alcune di queste direttive:
- rotate X, ruota i files di log dell’archivio per un periodo di X
giorni.
- compress, comprime i files di log prima di archiviarli.
- postrotate/endscript, tutto ciò che si trova tra queste
due direttive viene eseguito solo al termine della rotazione del log.
Ad esempio:
/var/log/apache/access.log {
rotate 6
compress
postrotate
killall -HUP httpd
endscript }
Questo esempio crea una rotazione del log access.log di Apache per un
periodo di sei giorni. Al termine della rotazione del log è
necessario che il demone di Apache (httpd) venga riavviato
automaticamente perché possa capire che è avvenuta la rotazione del
log.
In quasi tutte le distribuzioni esiste la directory /etc/logrotate.d
che contiene una serie di file di testo relativi ognuno ad un tipo di
log che si vuole ruotare. Questo approccio evita di inserire in /etc/logrotate.conf
tutti i log da ruotare.
|