Cosa sono i file di registro di Linux?
I file di registro sono semplicemente file di testo che contengono l'insieme di record, eventi o messaggi relativi al server, alle applicazioni e ai servizi in esecuzione sul sistema operativo Linux. Vengono utilizzati dagli amministratori di sistema per la risoluzione dei problemi ogni volta che si verifica un problema.
In Linux, i file di registro sono generalmente classificati come segue.
- Registri delle applicazioni
- Registri eventi
- Registri di servizio
- Registri di sistema
Ci sono molti file di registro in Linux e si trovano nella directory /var/log/. Monitorarli tutti è un compito noioso. Tuttavia, i seguenti file critici devono essere monitorati.
- /var/log/syslog
- /var/log/messages
- /var/log/auth.log
- /var/log/secure
- /var/log/boot.log
- /var/log/dmesg
- /var/log/kern.log
- /var/log/faillog
- /var/log/cron
- /var/log/mail.log
- /var/log/apache2/error.log
- /var/log/mysql.log
In questo articolo, esploreremo vari metodi che possono essere utilizzati per visualizzare o monitorare i file di registro in tempo reale. Abbiamo eseguito tutti i comandi su Debian 10.
Prerequisiti
Devi avere quanto segue per questo tutorial,
- Un account utente con privilegi di root
Visualizzazione dei file di registro
Usare il comando coda
La coda è uno dei comandi più utilizzati per visualizzare un registro. Stampa le ultime righe del file di registro su una console, per impostazione predefinita 10 righe.
La sintassi generale del comando è la seguente.
tail
Ad esempio,
tail /var/log/syslog
Di seguito è riportato l'output di esempio che mostra le ultime 10 righe di un file syslog.
Tuttavia, se desideri visualizzare le righe specifiche della fine del file di registro, ad esempio 5 righe, puoi utilizzare l'opzione -n come segue.
tail -n 5 /var/log/syslog
Di seguito è riportato l'output di esempio.
Se vuoi seguire un file di registro e vuoi stampare i nuovi messaggi mentre è registrato in tempo reale, puoi usare l'opzione -f insieme all'esempio di comandi sopra.
tail -f -n 5 /var/log/syslog
Non appena una nuova riga viene aggiunta al file di registro, viene stampata insieme alle sue 4 righe sopra.
Se vuoi chiudere il terminale, premi ctrl + c dalla tastiera.
Utilizzo del comando multicoda
Con l'aiuto del comando multitail, puoi monitorare e visualizzare il contenuto di più file di registro in tempo reale su una console in un'unica finestra. Il comando multitail non è integrato in Debian 10. Pertanto, apri il terminale ed emetti il seguente comando con i privilegi di root per installarlo.
apt-get install multitail
Di seguito è riportato l'output di esempio.
La sintassi generale del comando multitail è la seguente,
nome file multi coda 1 nome file 2
Supponiamo di avere due file di registro /var/log/syslog e /var/log/kern.log e di voler visualizzare il loro contenuto sulla console utilizzando multitail, il comando completo dovrebbe essere simile al seguente.
multitail /var/log/syslog /var/log/kern.log
Di seguito è riportato l'output di esempio.
È possibile monitorare il contenuto di più file di registro in tempo reale con l'aiuto di questo comando. Ad esempio, lo screenshot seguente mostra il contenuto di quattro file di registro /var/log/syslog, /var/log/kern.log, /var/log/daemon.log e var/log/messages.
Per impostazione predefinita, il comando multitail mostra il contenuto dei file di registro in orizzontale. Se desideri visualizzare i file verticalmente in colonne, puoi utilizzare le opzioni -s come segue.
Supponiamo di voler visualizzare il contenuto dei file di registro verticalmente in due colonne, il comando completo dovrebbe essere simile al seguente.
multitail -s 2 /var/log/syslog, /var/log/kern.log, /var/log/daemon.log and var/log/messages
Di seguito è riportato l'output di esempio.
Puoi anche navigare tra i file. Premi "b" dalla tastiera e scorri per scegliere il file di registro desiderato. Puoi visualizzare le ultime 100 righe del file scelto.
Di seguito sono riportati gli output di esempio.
Premi Ctrl + g per interrompere e tornare alla finestra di più file di registro.
Puoi anche assegnare colori diversi ai file di registro usando il parametro ci in modo da poterli distinguere facilmente. Quello che segue è un buon esempio,
multitail -ci green /var/log/syslog -ci blue /var/log/messages
Di seguito è riportato l'output di esempio.
Il comando Multitail offre molto. Premi "h" dalla tastiera per ricevere assistenza mentre il comando è in esecuzione.
Utilizzo del comando lnav
Il comando lnav è simile al comando multitail e mostra il contenuto di più file di registro in un'unica finestra. Per installarlo su Debian, apri il terminale ed emetti il seguente comando con privilegi di root.
apt-get update lnav
Premi "y" dalla tastiera quando richiesto. Attendi che il comando finisca.
A differenza di multitail o altri comandi, il comando lnav unisce il contenuto dei file di registro e mostra ogni riga in base alla data in un'unica finestra.
Di seguito è riportato il file di esempio. Puoi scorrere la finestra usando i tasti su, giù, ecc. della tastiera.
La sintassi generale del comando è la seguente,
lnav
Si supponga di voler visualizzare il registro di syslog e daemon.log. Esegui il seguente comando sul terminale.
lnav /var/log/syslog /var/log/messages
Di seguito è riportato l'output di esempio.
Se non specifichi il file con il comando, per impostazione predefinita si apre il file syslog.
Esegui il comando seguente.
lnav
Di seguito è riportato l'output di esempio.
Puoi anche cercare nel registro premendo / dalla tastiera durante l'esecuzione di un comando. Dopo aver premuto il tasto /, digita la stringa che desideri cercare e premi il tasto Invio dalla tastiera.
Supponiamo che io stia cercando la stringa "DHCPACK" e che sia evidenziata nella finestra.
Di seguito è riportato l'output di esempio.
Puoi anche visualizzare i file di registro compressi (zip, gzip, bzip) usando l'opzione -r. Di seguito è riportata la sintassi completa.
lnav -r
Usare meno comandi
Less è un altro comando che viene utilizzato per monitorare l'output di un file di registro.
Di seguito è riportata la sintassi completa del comando.
meno +F
Ad esempio, se desideri monitorare il file syslog nel percorso /var/log/syslog, il comando completo dovrebbe essere simile al seguente.
less +F /var/log/syslog
Di seguito è riportato l'output di esempio.