I registri di sistema sono i tuoi migliori amici quando vuoi risolvere gli errori. Ecco tutto ciò che devi sapere sul monitoraggio dei log su Ubuntu.
È estremamente frustrante quando il tuo computer non funziona correttamente e non sai perché. Sebbene non ci siano risoluzioni facili per ogni problema che potresti incontrare in Ubuntu, puoi utilizzare risorse come i registri degli errori di Ubuntu per risolvere e diagnosticare i problemi del tuo PC.
Cosa sono i log di Ubuntu?
L'Ubuntu i log sono file completi che memorizzano un record di tutti gli eventi che si verificano sul tuo computer. Include informazioni registrate sull'hardware, sul sistema operativo e persino su parte del software.
Questi registri sono preziosi per il processo di risoluzione dei problemi e diagnosi. Forniscono informazioni come timestamp, contesto e dettagli approfonditi sugli eventi che si verificano nel sistema. Per utilizzare questi registri, è necessario prima conoscere i tipi più importanti.
Tipi di log di Ubuntu
Piuttosto che scrivere ogni bit di informazione in un registro, Ubuntu registra le informazioni in registri separati progettati per scopi diversi. Sebbene ci siano troppi log da elencare, ci sono alcuni log (e tipi di log) importanti di cui dovresti essere a conoscenza prima di tentare di usarli per la risoluzione dei problemi.
Forse il più importante di tutti i registri è il diario di sistema. systemd è un gestore di servizi integrale in Linux. Di conseguenza, i problemi con molti diversi servizi del sistema operativo vengono registrati nel diario di sistema. Puoi navigare in questo registro con il comando journalctl.
Anche i log di sistema sono molto importanti. Questi registri riguardano direttamente diverse parti di Ubuntu e potrebbero includere cose come i messaggi di sistema. Alcuni dei registri di sistema includono:
- Il registro delle autorizzazioni: Qualsiasi processo che richieda l'autorizzazione, come un comando sudo o accessi utente, verrà registrato in questo registro.
- Il registro dei demoni: Questo registro riguarda tutti i servizi in background (o demoni), come Bluetooth e SSH.
- Il registro di debug: Questo registro fornisce informazioni di debug fornite dal sistema e dalle applicazioni che accedono a syslogd.
- Il registro del kernel: Questo registro include record di attività che coinvolgono il kernel Linux.
- Il registro di sistema: Questo registro memorizza i record che includono la maggior parte dei tipi di attività globali sul sistema.
- Il registro degli errori: Questo registro memorizza record di accessi non riusciti, che lo rende particolarmente utile per verificare se qualcuno ha tentato di entrare nel tuo sistema.
Il tuo computer potrebbe anche avere registri delle applicazioni (come file di registro di Apache o file di registro di MySQL) memorizzati nel file /var/log directory. Puoi usa il comando ls per vedere tutti i file di registro attualmente memorizzati sul tuo computer:
ls /var/log
Come leggere i log su Ubuntu
Ora che hai familiarità con i diversi tipi di log sul tuo sistema, sei pronto per approfondire le informazioni che memorizzano. Prima di iniziare, è importante notare che non tutti i registri di sistema sono scritti allo stesso modo.
Alcuni registri vengono archiviati come file di testo normale mentre altri registri vengono archiviati come file binari. Dovrai familiarizzare con entrambi i tipi di file e gli strumenti della riga di comando con cui sono associati, se desideri analizzare in modo efficace i record sul tuo sistema.
I registri dei file di testo normale utilizzano un modello noto come RSYSLOG_TraditionalFileFormat e includono quattro campi di base: timestamp, nome host, applicazione e messaggio. Ad esempio, il registro del kernel utilizza questo modello:
A differenza dei log in testo normale, i log dei file binari non possono essere letti facilmente. Dovrai utilizzare utilità da riga di comando come Chi, scorso, E ultimob per leggere registri come utmp, wtmp e btmp, rispettivamente. Comandi come utmpdump per le varianti utmp e systemctl per journald sono progettati anche per stampare le informazioni di registro binarie in un formato leggibile.
Nella maggior parte delle situazioni, sarà importante sapere come analizzare efficacemente questi log nel terminale. Puoi utilizzare comandi come grep e tail per estrarre informazioni specifiche senza dover leggere scrupolosamente l'intero registro di sistema.
Alcuni dei migliori comandi che puoi usare includono:
- grep: Cerca una stringa di caratteri in un file
- coda: Stampa 10 righe dalla fine di un file
- Testa: Stampa 10 righe dall'inizio di un file
- ordinare: Stampa un file riorganizzato secondo le tue specifiche
Anche gli strumenti della riga di comando come utmpdump e systemctl hanno flag utili che dovresti tenere a mente quando lavori nel terminale. Questi flag ti permetteranno di modificare il comando e avere un maggiore controllo su ciò che stampa nel terminale.
Alcuni flag particolarmente utili per il comando journalctl sono:
- -B: Fa in modo che journalctl restituisca solo le voci raccolte dopo l'ultimo riavvio
- --da “AAAA-MM-GG HH: MM: SS” --fino a “AAAA-MM-GG HH: MM: SS”: Indica a journalctl di restituire solo le voci prima e/o dopo le date specificate
- -p NUM: Filtra le voci in base ai livelli di priorità syslog (da 0/emerg a 7/debug)
Risoluzione degli errori con i registri di Ubuntu
Ora che hai familiarità con i diversi tipi di registri di sistema e sai come leggerli in effetti, l'unica cosa che resta da fare è applicare le informazioni raccolte alla risoluzione dei problemi processi. Questo processo di solito richiede un po' di creatività.
È una buona idea affrontare la risoluzione dei problemi pensando prima alle caratteristiche principali del problema che stai affrontando. Il problema si verifica quando apri una determinata applicazione? Il tuo sistema va in crash e si riavvia ogni volta che si verifica il problema?
Quando pensi alle caratteristiche del problema, ti condurrà naturalmente ad alcuni dei migliori registri per raccogliere informazioni al riguardo. Ad esempio, se il tuo sistema ha problemi durante il processo di avvio, potresti essere in grado di ottenere alcune informazioni utili facendo riferimento alle voci di avvio in journald.
Immettere il seguente comando per stampare tutti gli stivali registrati in journald:
journalctl --list-boots
Il terminale stamperà un elenco di scarichi registrati; gli stivali più recenti si trovano in fondo all'elenco. Guarda le date e gli orari registrati per ogni avvio finché non riesci a trovare un avvio registrato in cui si è verificato l'errore.
Prendi il numero dalla colonna più a sinistra come NUM e inserisci il seguente comando per ottenere maggiori informazioni sull'avvio:
journalctl -b -NUM -n
Verrà visualizzato un registro completo delle informazioni sull'avvio. Se durante il processo di avvio si sono verificati errori insoliti, è possibile utilizzare le informazioni di questo record per fare un ulteriore passo avanti nella risoluzione dei problemi.
Lo stesso principio si applica a molte altre questioni. Se non sai molto del problema riscontrato dal tuo computer, tuttavia, potrebbe essere difficile sapere da dove cominciare. Ci sono alcuni registri che si distinguono per essere particolarmente utili per una vasta gamma di problemi con i sistemi Ubuntu.
syslog è il registro migliore con cui iniziare durante il processo di risoluzione dei problemi. Dal momento che è effettivamente un registro globale, è molto probabile che contenga alcune informazioni sul problema che stai affrontando. Se hai problemi con l'autenticazione (come la password sudo non funziona errore, ad esempio) o l'avvio, quindi controlla aut.log O boot.log.
Cerca tra i log più pertinenti con parole chiave correlate al tuo problema. Ad esempio, se riscontri problemi con l'autenticazione, puoi estrarre i record da auth.log con il seguente comando:
cat /var/log/auth.log | grep 'Errore di autenticazione'
Alla fine, sei sicuro di trovare informazioni che offrono una visione eccellente. Quando abbini le informazioni dai registri degli errori con la ricerca sul Web, è molto probabile che tu trovi risorse che ti aiuteranno a risolvere i problemi con il tuo sistema in pochissimo tempo.
Fare riferimento alle risorse online per la risoluzione degli errori di Linux
Non devi affrontare da solo il processo di risoluzione dei problemi. Man mano che raccogli informazioni sul problema con il tuo computer, dovresti utilizzare risorse online come Chiedi a Ubuntu e alle guide dettagliate su MakeUseOf di avvicinarti alla diagnosi e alla riparazione definitiva del tuo pc.