Unix / Linux - Registrazione del sistema

In questo capitolo, discuteremo in dettaglio sulla registrazione del sistema in Unix.

I sistemi Unix hanno un sistema di registrazione molto flessibile e potente, che ti consente di registrare quasi tutto ciò che puoi immaginare e quindi manipolare i log per recuperare le informazioni necessarie.

Molte versioni di Unix forniscono una funzione di registrazione generica chiamata syslog. I singoli programmi che richiedono la registrazione delle informazioni, inviano le informazioni a syslog.

Unix syslog è una funzione di registrazione del sistema uniforme e configurabile dall'host. Il sistema utilizza un processo di registrazione del sistema centralizzato che esegue il programma/etc/syslogd o /etc/syslog.

Il funzionamento del logger di sistema è abbastanza semplice. I programmi inviano le loro voci di registro a syslogd , che consulta il file di configurazione/etc/syslogd.conf o /etc/syslog e, quando viene trovata una corrispondenza, scrive il messaggio di registro nel file di registro desiderato.

Ci sono quattro termini di base di syslog che dovresti capire:

Sr.No. Termine e descrizione
1

Facility

L'identificatore utilizzato per descrivere l'applicazione o il processo che ha inviato il messaggio di registro. Ad esempio, posta, kernel e ftp.

2

Priority

Un indicatore dell'importanza del messaggio. I livelli sono definiti all'interno di syslog come linee guida, dalle informazioni di debug agli eventi critici.

3

Selector

Una combinazione di uno o più servizi e livelli. Quando un evento in arrivo corrisponde a un selettore, viene eseguita un'azione.

4

Action

Cosa succede a un messaggio in arrivo che corrisponde a un selettore: le azioni possono scrivere il messaggio in un file di registro, eseguire l'eco del messaggio su una console o su un altro dispositivo, scrivere il messaggio a un utente connesso o inviare il messaggio a un altro server syslog.

Strutture Syslog

Ora capiremo le funzionalità di syslog. Ecco i servizi disponibili per il selezionatore. Non tutte le funzionalità sono presenti su tutte le versioni di Unix.

Servizio, struttura Descrizione
1

auth

Attività relativa alla richiesta di nome e password (getty, su, login)

2

authpriv

Uguale ad auth ma registrato in un file che può essere letto solo da utenti selezionati

3

console

Utilizzato per catturare i messaggi generalmente diretti alla console di sistema

4

cron

Messaggi dallo scheduler di sistema cron

5

daemon

Demone di sistema catch-all

6

ftp

Messaggi relativi al demone ftp

7

kern

Messaggi del kernel

8

local0.local7

Strutture locali definite per sito

9

lpr

Messaggi dal sistema di stampa in linea

10

mail

Messaggi relativi al sistema di posta

11

mark

Pseudo-evento utilizzato per generare timestamp nei file di registro

12

news

Messaggi relativi al protocollo di notizie di rete (nntp)

13

ntp

Messaggi relativi al protocollo orario di rete

14

user

Processi utente regolari

15

uucp

Sottosistema UUCP

Priorità di Syslog

Le priorità di syslog sono riassunte nella tabella seguente:

Sr.No. Priorità e descrizione
1

emerg

Condizione di emergenza, come un arresto anomalo del sistema imminente, di solito trasmessa a tutti gli utenti

2

alert

Condizione che deve essere corretta immediatamente, ad esempio un database di sistema danneggiato

3

crit

Condizione critica, come un errore hardware

4

err

Errore ordinario

5

Warning

avvertimento

6

notice

Condizione che non è un errore, ma possibilmente dovrebbe essere gestita in modo speciale

7

info

Messaggio informativo

8

debug

Messaggi utilizzati durante il debug dei programmi

9

none

Livello pseudo utilizzato per specificare di non registrare i messaggi

La combinazione di strutture e livelli consente di distinguere ciò che viene registrato e dove vanno a finire tali informazioni.

Poiché ogni programma invia diligentemente i propri messaggi al logger di sistema, quest'ultimo prende decisioni su cosa tenere traccia e cosa scartare in base ai livelli definiti nel selettore.

Quando si specifica un livello, il sistema terrà traccia di tutto a quel livello e superiore.

Il file /etc/syslog.conf

Il /etc/syslog.confcontrolla i file in cui vengono registrati i messaggi. Un tipicosyslog.conf il file potrebbe essere simile a questo -

*.err;kern.debug;auth.notice /dev/console
daemon,auth.notice           /var/log/messages
lpr.info                     /var/log/lpr.log
mail.*                       /var/log/mail.log
ftp.*                        /var/log/ftp.log
auth.*                       @prep.ai.mit.edu
auth.*                       root,amrood
netinfo.err                  /var/log/netinfo.log
install.*                    /var/log/install.log
*.emerg                      *
*.alert                      |program_name
mark.*                       /dev/console

Ogni riga del file contiene due parti:

  • UN message selectorche specifica il tipo di messaggi da registrare. Ad esempio, tutti i messaggi di errore o tutti i messaggi di debug dal kernel.

  • Un action fieldche dice cosa dovrebbe essere fatto con il messaggio. Ad esempio, inseriscilo in un file o invia il messaggio al terminale di un utente.

Di seguito sono riportati i punti importanti per la configurazione di cui sopra:

  • I selettori di messaggi hanno due parti: a facility e a priority. Ad esempio, kern.debug seleziona tutti i messaggi di debug (la priorità) generati dal kernel (la struttura).

  • Il selettore di messaggi kern.debug seleziona tutte le priorità che sono maggiori di debug.

  • Un asterisco al posto della struttura o della priorità indica "tutto". Per esempio,*.debug significa tutti i messaggi di debug, mentre kern.* indica tutti i messaggi generati dal kernel.

  • È inoltre possibile utilizzare le virgole per specificare più strutture. È possibile raggruppare due o più selettori utilizzando un punto e virgola.

Azioni di registrazione

Il campo azione specifica una delle cinque azioni:

  • Registra il messaggio in un file o un dispositivo. Per esempio,/var/log/lpr.log o /dev/console.

  • Invia un messaggio a un utente. È possibile specificare più nomi utente separandoli con virgole; ad esempio, root, amrood.

  • Invia un messaggio a tutti gli utenti. In questo caso, il campo azione è costituito da un asterisco; per esempio, *.

  • Invia il messaggio a un programma. In questo caso, il programma viene specificato dopo il simbolo pipe Unix (|).

  • Invia il messaggio al syslog su un altro host. In questo caso, il campo azione è costituito da un nome host, preceduto da un segno di chiocciola; ad esempio, @ tutorialspoint.com.

Il comando logger

Unix fornisce l'estensione loggercomando, che è un comando estremamente utile per gestire la registrazione del sistema. Illogger Il comando invia messaggi di registrazione al demone syslogd e di conseguenza provoca la registrazione di sistema.

Ciò significa che possiamo controllare in qualsiasi momento dalla riga di comando il file syslogddaemon e la sua configurazione. Il comando logger fornisce un metodo per aggiungere voci di una riga al file di registro di sistema dalla riga di comando.

Il formato del comando è:

logger [-i] [-f file] [-p priority] [-t tag] [message]...

Ecco il dettaglio dei parametri -

Sr.No. Opzione e descrizione
1

-f filename

Utilizza il contenuto del file nomefile come messaggio da registrare.

2

-i

Registra l'ID del processo del logger con ciascuna riga.

3

-p priority

Immette il messaggio con la priorità specificata (voce del selettore specificata); la priorità del messaggio può essere specificata numericamente o come coppia facility.priority. La priorità predefinita è user.notice.

4

-t tag

Contrassegna ogni riga aggiunta al registro con il tag specificato.

5

message

Gli argomenti stringa i cui contenuti sono concatenati insieme nell'ordine specificato, separati da uno spazio.

È possibile utilizzare la Guida della pagina di manuale per controllare la sintassi completa di questo comando.

Rotazione del registro

I file di registro hanno la propensione a crescere molto velocemente e consumano grandi quantità di spazio su disco. Per abilitare le rotazioni dei log, la maggior parte delle distribuzioni utilizza strumenti comenewsyslog o logrotate.

Questi strumenti dovrebbero essere richiamati in un intervallo di tempo frequente utilizzando il cron daemon. Controlla le pagine man per newsyslog o logrotate per maggiori dettagli.

Posizioni dei registri importanti

Tutte le applicazioni di sistema creano i propri file di registro in formato /var/loge le sue sottodirectory. Di seguito sono riportate alcune applicazioni importanti e le directory di registro corrispondenti:

Applicazione Directory
httpd / var / log / httpd
samba / var / log / samba
cron / var / log /
posta / var / log /
mysql / var / log /