Introduzione alla registrazione del sistema in Linux
I registri di sistema in Linux ti forniscono una visione approfondita delle attività principali sul tuo PC o sull’infrastruttura del server. Sono fondamentali per mantenere il tuo sistema stabile e sicuro. I registri di sistema offrono anche l’opportunità di controllare varie attività che si sono svolte in passato.
Questa guida ti introduce al sistema di registrazione in Linux. Tutte le principali attività svolte dalle applicazioni e dai servizi di sistema di base sono registrate sotto forma di log e al centro di tutto questo c’è un sistema noto come Syslog .
Perché i registri di sistema sono importanti?
Immagina che il tuo PC Linux abbia recentemente riscontrato errori di avvio o sospetti che qualcuno abbia tentato di accedere al tuo sistema. Questi eventi possono essere facilmente rintracciati poiché il sistema tiene traccia di tali attività sotto forma di registri.
In Linux, i log di sistema sono record leggibili dall’uomo delle attività di sistema principali eseguite da servizi, daemon e applicazioni di sistema. Alcune delle attività importanti registrate su una macchina Linux includono accessi utente e errori di accesso, avvio del sistema operativo, errori di sistema, ecc.
Linux ha un servizio dedicato noto come Syslog che è specificamente responsabile della creazione di log tramite il System Logger. Syslog comprende diversi componenti come Syslog Message Format, Syslog Protocol e Syslog Daemon: popolarmente noto come syslogd o rsyslogd nelle versioni più recenti di Linux.
La directory / var / log memorizza la maggior parte dei log su un sistema Linux. La directory / var contiene principalmente file e directory variabili, cioè dati che sono destinati a cambiare spesso. Non esiste un formato standard per i log, ma come minimo, i log dovrebbero contenere un timestamp e i dettagli dell’attività da registrare.
Elenco dei file gestiti da syslog
Tutti i registri generali sul sistema sono archiviati nel file / var / log / syslog sulle distribuzioni Linux basate su Debian . Altre distribuzioni utilizzano il file / var / log / messages per archiviare i log.
Nota : diverse distribuzioni Linux possono utilizzare file diversi per la registrazione di messaggi specifici. Ad esempio, su distribuzioni Linux basate su Debian, il file /var/log/auth.log contiene i log di autenticazione, mentre i sistemi RedHat usano il file / var / log / secure per memorizzare tali log.
Per saperne di più su tutti i file responsabili della memorizzazione dei log, puoi dare un’occhiata alla directory /etc/rsyslog.d , che contiene importanti file di configurazione di Syslog. Ad esempio, per elencare i file di log standard, puoi dare un’occhiata al file /etc/rsyslog.d/50-default.conf .
cat /etc/rsyslog.d/50-default.conf
Il file mostra i nomi delle applicazioni di sistema e i file di registro corrispondenti ad esse associati.
Come ispezionare i file di registro
La maggior parte dei file di registro sono piuttosto lunghi. Pertanto, uno dei comandi più importanti per l’ispezione dei file di registro su Linux è il comando less , che restituisce il contenuto del file in sezioni facilmente navigabili.
Ad esempio, per visualizzare il contenuto del file / var / log / syslog , utilizzare il comando less come segue.
less /var/log/syslog
il tasto F della tastiera per scorrere in avanti e il tasto B per scorrere indietro.
Il file syslog contiene i registri di alcune delle attività più critiche come errori di sistema e attività di servizio sul sistema.
Se desideri esaminare solo i registri più recenti, puoi utilizzare il comando tail , che per impostazione predefinita elenca solo gli ultimi 10 messaggi di registro.
tail /var/log/syslog
È inoltre possibile specificare il numero di messaggi di registro che si desidera visualizzare con l’utilità tail. Il comando assume il seguente formato tail -n file-to-inspect, dove n è il numero di righe che si desidera visualizzare. Ad esempio, per visualizzare gli ultimi 7 messaggi di registro nel file syslog è possibile utilizzare il seguente comando.
tail -7 /var/log/syslog
Per visualizzare i log più recenti in tempo reale, puoi utilizzare il comando tail con l’opzione -f come segue.
tail -f /var/log/syslog
Un altro comando importante per ispezionare i messaggi di registro è il comando head . A differenza del comando tail che mostra gli ultimi messaggi di log in un file, il comando head mostra le prime righe in un file. Per impostazione predefinita, il comando produrrà solo le prime 10 righe.
head /var/log/syslog
Registri di autenticazione
Se vuoi trovare informazioni sugli accessi degli utenti sul tuo sistema, puoi dare un’occhiata al file /var/log/auth.log . Le informazioni relative agli accessi degli utenti, agli errori di accesso e al metodo di autenticazione utilizzato sono disponibili qui.
Registri del kernel
All’avvio del sistema Linux, i dati importanti sul ring buffer del kernel vengono registrati nel file / var / log / dmesg . Altre informazioni su driver hardware, kernel e stato di avvio sono tutte registrate in questo file.
Invece di controllare i messaggi del registro di avvio con il comando less o cat, è possibile utilizzare dmesg per visualizzare questi file di registro.
dmesg
Nota : i messaggi di registro nel file / var / log / dmesg vengono reimpostati all’avvio del sistema.
Un altro file di registro importante relativo ai problemi del kernel è /var/log/kern.log .
Registrazione dei messaggi con il comando logger
Oltre a visualizzare solo i messaggi di registro registrati dalle applicazioni o dai servizi di sistema, il sistema di registrazione in Linux consente anche di registrare manualmente i messaggi utilizzando il comando logger . Un utente può registrare i messaggi nel file / var / log / syslog per impostazione predefinita. Ad esempio, per registrare un semplice messaggio è possibile eseguire il seguente comando.
logger hello world!
È ora possibile utilizzare il comando tail per visualizzare il messaggio registrato di recente.
tail -3 /var/log/syslog
È anche possibile registrare l’output di altri comandi con il comando logger racchiudendo il comando nel carattere back-tick ( ` ).
logger `whoami`
È inoltre possibile utilizzare il comando logger all’interno degli script per registrare eventi importanti. Usa le pagine man per saperne di più sul comando logger e sulle sue opzioni.
man logger
Gestione dei file di registro
Come avrai notato, ci sono molti dati che vengono registrati su una macchina Linux. Pertanto, è necessario disporre di un sistema appropriato per gestire lo spazio su disco utilizzato dai file di registro. Inoltre, avere un sistema di registrazione ti assicura di trovare facilmente i messaggi di registro che stai cercando. La soluzione di Linux a questo problema è l’utilità logrotate .
l’utilità logrotate per configurare quale file di registro conservare, per quanto tempo si desidera conservarli, gestire l’invio dei registri e come comprimere i vecchi file di registro, ecc.
È possibile configurare l’utilità logrotate con qualsiasi editor di testo di propria scelta. Il file di configurazione per logrotate può essere trovato su /etc/logrotate.conf .
Mantenere il sistema robusto con i registri
I log di sistema in Linux sono un ottimo modo per ottenere informazioni sulle principali attività che avvengono sul tuo sistema che possono comprendere la sicurezza e la stabilità generale del sistema. Sapere come visualizzare e analizzare i messaggi di registro su un server o un PC ti aiuterà a mantenere il tuo sistema robusto.
A volte, gli utenti trovano difficile utilizzare determinate applicazioni sul proprio sistema a causa della scarsa disponibilità delle risorse di sistema. In tali situazioni, l’uccisione dei programmi che non rispondono può liberare spazio nella memoria principale del sistema.