Linux Logging Basics (Italiano)

Log del sistema operativo forniscono una ricchezza di informazioni diagnostiche sul computer, e Linux non fa eccezione. Tutto, dagli eventi del kernel alle azioni dell’utente, viene registrato da Linux, consentendo di vedere quasi tutte le azioni eseguite sui server. In questa sezione, spiegheremo cosa sono i log di Linux, dove puoi trovarli e come interpretarli.

Log di sistema Linux

Linux ha una directory speciale per la memorizzazione dei log chiamata/var/log., Questa directory contiene i registri del sistema operativo stesso, dei servizi e delle varie applicazioni in esecuzione sul sistema. Ecco come appare questa directory su un tipico sistema Ubuntu.

Alcuni dei più importanti log di sistema Linux includono:

  • /var/log/syslog e /var/log/messages memorizzano tutti i dati di attività del sistema globale, inclusi i messaggi di avvio. I sistemi basati su Debian come Ubuntu memorizzano questo in /var/log/syslog, mentre i sistemi basati su Red Hat come RHEL o CentOS usano /var/log/messages.,
  • /var/log/auth.log e /var/log/secure memorizzano tutti gli eventi relativi alla sicurezza come accessi, azioni utente root e output da moduli di autenticazione collegabili (PAM). Ubuntu e Debian usano /var/log/auth.log, mentre Red Hat e CentOS usano /var/log/secure.
  • /var/log/kern.log memorizza eventi del kernel, errori e log di avviso, che sono particolarmente utili per la risoluzione dei problemi dei kernel personalizzati.
  • /var/log/cron memorizza informazioni sulle attività pianificate (lavori cron)., Utilizzare questi dati per verificare che i processi cron siano in esecuzione correttamente.

Alcune applicazioni scrivono anche file di log in questa directory. Ad esempio, il server web Apache scrive i log nella directory /var/log/apache2 (su Debian), mentre MySQL scrive i log nella directory /var/log/mysql. Alcune applicazioni accedono anche tramite syslog, che spiegheremo nella prossima sezione.
syslog

Che cos’è Syslog?

Syslog è uno standard per la creazione e la trasmissione di log. La parola “syslog” può riferirsi a uno dei seguenti.,

  1. Il servizio syslog, che riceve ed elabora i messaggi syslog. Ascolta gli eventi creando un socket situato in /dev/log, su cui le applicazioni possono scrivere. Può scrivere messaggi su un file locale o inoltrare messaggi a un server remoto. Esistono diverse implementazioni syslog tra cui rsyslogd e syslog-ng.
  2. Il protocollo syslog (RFC 5424), che è un protocollo di trasporto che specifica come trasmettere i log su una rete. È anche un formato di dati che definisce come sono strutturati i messaggi., Per impostazione predefinita, utilizza la porta 514 per i messaggi in chiaro e la porta 6514 per i messaggi crittografati.
  3. Un messaggio syslog, che è un qualsiasi registro formattato nel formato del messaggio syslog. Un messaggio syslog è costituito da un’intestazione standardizzata e un messaggio contenente il contenuto del log.

Poiché syslog può inoltrare messaggi a server remoti, viene spesso utilizzato per inoltrare i log di sistema a soluzioni di gestione dei log come SolarWinds® Loggly® e SolarWinds Papertrail™.

Formato e campi Syslog

I messaggi Syslog contengono un’intestazione standardizzata con diversi campi., Questi includono il timestamp, il nome dell’applicazione che ha generato l’evento, la posizione nel sistema in cui il messaggio ha avuto origine e la sua priorità. È possibile modificare questo formato nel file di configurazione dell’implementazione syslog, ma l’utilizzo del formato standard semplifica l’analisi, l’analisi e il routing degli eventi syslog.

Ecco un esempio di messaggio di log che utilizza il formato predefinito. È dal demone sshd, che controlla gli accessi remoti al sistema., Questo messaggio descrive un tentativo di accesso non riuscito:

Jun 4 22:14:15 server1 sshd : Failed password for root from 10.0.2.2 port 22 ssh2
<%pri%>%protocol-version% %timestamp:::date-rfc3339% %HOSTNAME% %app-name% %procid% %msgid% %msg%n

Questo genera il seguente log:

Di seguito, troverai le descrizioni di alcuni dei campi syslog più comunemente usati durante la ricerca o la risoluzione dei problemi.

Timestamp

Il campo timestamp indica l’ora e la data in cui il messaggio è stato generato sul sistema di invio del messaggio. Il timestamp di esempio si suddivide in questo modo:

  • “2019-06-05”è l’anno, il mese e il giorno.
  • “T”è un elemento obbligatorio del campo timestamp, che separa la data e l’ora.,
  • “22: 14: 15.003” è il formato di 24 ore dell’ora, incluso il numero di millisecondi (003).
  • “Z”indica l’ora UTC. Invece di z, l’esempio avrebbe potuto includere un offset, come -08:00, che indica che il tempo è compensato da UTC di otto ore.

Hostname

Il campo hostname (“server1” nell’esempio precedente) indica il nome dell’host o del sistema che ha originariamente inviato il messaggio.

App-Name

Il campo app-name (“sshd:auth” nell’esempio) indica il nome dell’applicazione che ha inviato il messaggio.,

Priorità

Il campo priorità o pri in breve (“<34> ” nell’esempio precedente) indica quanto sia urgente o grave l’evento. È una combinazione di due campi numerici: la struttura e la gravità. La funzione specifica il tipo di processo che ha creato l’evento, da 0 per i messaggi del kernel a 23 per le applicazioni locali. La gravità varia da 0 a 7, con 0 che indica un’emergenza e 7 che indica un evento di debug.

Pri può essere emesso in due modi., Il primo è come un singolo numero, prival, che viene calcolato come il valore del campo struttura moltiplicato per otto, quindi il risultato viene aggiunto al valore del campo gravità: (struttura) (8) + (gravità). Il secondo è pri-text, che verrà emesso nel formato stringa “facility.gravità”. Quest’ultimo formato può spesso essere più facile da leggere e cercare, ma occupa più spazio di archiviazione.

Registrazione con Systemd

Molte distribuzioni Linux vengono fornite con systemd, che è un gestore di processi e servizi. Systemd implementa il proprio servizio di registrazione chiamato journald che può sostituire o integrare syslog., Journald registra in modo significativamente diverso rispetto a systemd, motivo per cui ha una propria sezione nella Guida definitiva alla registrazione. Puoi saperne di più sulla registrazione tramite systemd nella sezione Systemd Logging.

Share

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *