Il demone del registro di sistema è responsabile della registrazione dei messaggi di sistema generati dalle applicazioni o dal kernel. Il demone del registro di sistema supporta anche la registrazione remota. I messaggi sono differenziati per struttura e priorità. In linea di principio, i log gestiti da syslog sono disponibili nella directory /var/log/ sul sistema Linux :
# ls /var/log acpid cron.1 maillog.3 rpmpkgs.3 spooler.3 anaconda.log cron.2 maillog.4 rpmpkgs.4 spooler.4 anaconda.syslog cron.3 messages sa squid anaconda.xlog cron.4 messages.1 samba tallylog audit cups messages.2 scrollkeeper.log vbox boot.log dmesg messages.3 secure wtmp boot.log.1 faillog messages.4 secure.1 Xorg.0.log boot.log.2 gdm oracle-validated secure.2 Xorg.0.log.old boot.log.3 httpd pm secure.3 YaST2 boot.log.4 lastlog ppp secure.4 yum.log btmp mail prelink setroubleshoot conman maillog rpmpkgs spooler conman.old maillog.1 rpmpkgs.1 spooler.1 cron maillog.2 rpmpkgs.2 spooler.2
dove alcuni dei log vengono scaricati in una sottodirectory come cups, samba, httpd. Tra i log in /var/log, /var/log/messages è il più comune poiché i log del kernel / core sono conservati lì. I moduli del kernel generalmente scaricano anche lì. Quindi, per la diagnosi/monitoraggio dei problemi, /var/log/messages è il file di registro principale da esaminare.
Il demone/servizio del registro di sistema e il relativo file di configurazione variano a seconda della versione di Linux utilizzata, ad esempio:
RHEL 5: syslogd - /etc/syslog.conf RHEL 6: rsyslogd - /etc/rsyslog.conf
Rsyslog
Rsyslog è il nuovo demone di registrazione che avvia RHEL6 per competere con il vecchio demone syslog-ng. Alcuni dei vantaggi offerti dal demone rsyslog rispetto a syslog-ng sono:
– Rsyslog utilizza TCP invece di UDP che è più affidabile. TCP utilizza le capacità di riconoscimento e ritrasmissione.
– con il daemon Rsyslog puoi specificare più host/file di destinazione per la consegna dei messaggi se rsyslogd non è in grado di consegnare un messaggio a una destinazione specifica.
– è possibile filtrare i messaggi su qualsiasi parte del messaggio di log piuttosto che sulla priorità del messaggio e sulla struttura originale.
– supporto per timestamp precisi per registrare i messaggi che il demone syslog.
– Crittografia TLS
– possibilità di accedere a database SQL.
rsyslog.conf
Il file di configurazione – /etc/rsyslog.conf per il demone rsyslogd viene utilizzato per gestire tutti i messaggi. Il file di configurazione fornisce fondamentalmente istruzioni sulle regole che a loro volta forniscono 2 cose:
– quali messaggi abbinare.
– il selettore è costituito da una struttura e una priorità separate da un punto (.)(ad es. mail.info)
2. azioni
– cosa fare con i messaggi corrispondenti
– di solito una destinazione per registrare il messaggio (file su un computer locale o un host remoto)
Selettori e azioni
I selettori sono costituiti da 2 cose strutture e priorità. Specificano quali messaggi abbinare. Il campo dell'azione specifica quale azione applicare al messaggio corrispondente. Ad esempio:
kern.debug /var/log/kernlog
– I messaggi con funzionalità di kernel e debug di priorità vengono registrati nel file /var/log/kernlog.
– Le istruzioni di priorità sono gerarchiche nei selettori. Rsyslog abbina tutti i messaggi con priorità specificata e superiore. Quindi tutti i messaggi dal kernel con priorità di debug e superiori vengono registrati. Essendo il debug la priorità più bassa, tutti i messaggi con facility kern sono abbinati.
– Un altro modo per farlo è usare l'asterisco (*). Ad esempio :
kern.* /var/log/kernlog
– è possibile specificare più selettori su una singola riga separati da punto e virgola. Ciò è utile quando la stessa azione deve essere applicata a più messaggi.
– quando un file è elencato nel campo azione, i messaggi corrispondenti vengono scritti nel file.
– Possono esserci altri dispositivi come FIFO , terminale ecc a cui scrivere i messaggi.
– Se un nome utente è elencato nel campo azione, i messaggi abbinati vengono stampati agli utenti tutti i terminali se sono loggati.
– (*) nel campo campo azione specifica
Strutture
La struttura viene utilizzato per specificare quale tipo di programma o applicazione sta generando il messaggio. Consentendo così al demone syslog di gestire fonti diverse in modo diverso. La tabella seguente elenca le strutture standard e la loro descrizione :
Struttura | Descrizione |
---|---|
auth/authpriv | Messaggi di sicurezza/autorizzazione (privati) |
cron | demone orologio (messaggi crond e atd) |
demone | messaggi da demoni di sistema senza una struttura separata |
crema | messaggi del kernel |
local0 – local7 | riservato per uso locale |
lpr | sottosistema stampante di linea |
posta | messaggi dai demoni di posta |
notizie | Sottosistema di notizie USENET |
syslog | messaggi generati internamente dal demone del registro di sistema |
utente | messaggi generici a livello di utente |
uucp | Sottosistema UUCP |
Priorità
La priorità di un messaggio indica l'importanza di quel messaggio. La tabella seguente elenca le priorità standard e il loro significato :
Priorità | Descrizione |
---|---|
emerge | il sistema è inutilizzabile |
avviso | l'azione deve essere intrapresa immediatamente |
critico | condizioni critiche |
err | condizioni di errore |
avviso | condizioni di avviso |
avviso | importanza normale ma significativa |
informazioni | messaggi informativi |
debug | debug dei messaggi |
Rotazione registro
I file di registro crescono regolarmente nel tempo e quindi devono essere tagliati regolarmente. Linux fornisce un'utilità per fornire questa funzionalità senza l'intervento dell'utente. Le logrotate programma può essere utilizzato per automatizzare la rotazione del file di registro. La configurazione di base di logrotate viene eseguita nel file di configurazione /etc/logrotate.conf . Nel file di configurazione possiamo impostare opzioni come:la frequenza con cui i registri devono essere ruotati e quanti vecchi registri devono essere conservati.
# cat /etc/logrotate.conf weekly rotate 4 create include /etc/logrotate.d /var/log/wtmp { monthly minsize 1M create 0664 root utmp rotate 1 }
Come per il file di configurazione logrotate sopra, i log vengono ruotati ogni settimana (rinominando il log esistente in filename.number order):
dimensione minima 1M – logrotate esegue e taglia i file dei messaggi se la dimensione del file è uguale o maggiore di 1 MB.
ruota 4 – conserva i 4 file più recenti durante la rotazione.
crea – crea un nuovo file durante la rotazione con autorizzazione e proprietà specificate.
includi – includi i file menzionati qui per le impostazioni di rotazione del registro specifiche del demone.
# ls -l /var/log/messages* -rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages -rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1 -rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2 -rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3 -rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
– Il demone logrotate legge principalmente tutta la configurazione dal file /etc/logrotate.conf e quindi include i file di configurazione specifici del demone da /etc/logrotate.d/ directory.
– Il demone logrotate, insieme alla rotazione e alla rimozione dei vecchi log, consente la compressione dei file di log.
– Il demone viene eseguito quotidianamente da /etc/cron.daily/logrotate.
Logwatch
– I sistemi RHEL vengono forniti anche con i pacchetti logwatch.
– Logwatch viene utilizzato per analizzare i registri per identificare eventuali messaggi interessanti.
– Logwatch può essere configurato per analizzare i file di registro dai servizi più diffusi e inviare i risultati tramite e-mail all'amministratore.
/>– Può essere configurato su base oraria o notturna per qualsiasi attività sospetta. Per impostazione predefinita in un sistema RHEL, viene eseguito di notte e il rapporto viene inviato all'utente root.