GNU/Linux >> Linux Esercitazione >  >> Linux

3 modi per guardare i registri in tempo reale in Linux

Sai come visualizzare i file in Linux. Usi cat command o probabilmente less command per questo scopo.

Va bene per i file con contenuto statico. Ma i file di registro sono dinamici e il loro contenuto cambia nel tempo. Per monitorare i log, devi guardare il file di log mentre il suo contenuto cambia.

Come vedi il contenuto dei file di registro in tempo reale? Tail è il comando più popolare per questo scopo, ma ci sono anche altri strumenti. Te li mostrerò in questo tutorial.

Metodo 1:guarda i file di registro con il comando tail

Il comando tail è così popolare per visualizzare i file di registro nella vita reale che gli amministratori di sistema usano il termine "tail the log file".

Il comando tail viene utilizzato essenzialmente per mostrare le righe di un file dalla fine e da qui il termine 'tail'.

Puoi usare il -f opzione per seguire la coda di un file, il che significa che continuerà a mostrare continuamente le nuove righe aggiunte al file.

tail -f location_of_log_file

Per arrestare la coda del file di registro, usa Ctrl+C collegamento al terminale.

Coda e grep

Bene! Quindi il comando tail risolve un problema mostrando le modifiche al file nella vita reale. Ma guardare continuamente il file di registro quando si verificano così tanti cambiamenti rapidi in tempo reale non è molto utile.

Spesso cercherai un termine particolare durante il monitoraggio del file di registro. Trovarlo nella marea di nuove linee in arrivo è quasi impossibile.

Per semplificare le cose, combina il comando tail e grep in questo modo:

tail -f log_file | grep search_term

Questo è buono, giusto? Rendiamolo un po' meglio.

Ho spesso riscontrato che solo le righe con i termini cercati non rivelano i dettagli necessari. Questo è il motivo per cui utilizzo il comando grep per mostrare alcune righe prima e dopo il termine cercato con l'opzione -C .

tail -f log_file | grep -C 3 search_term

Ora vedrai le righe che corrispondono al termine di ricerca insieme a 3 righe prima e dopo di esso. Questo darà una prospettiva migliore su ciò che sta accadendo.

Vuoi renderlo ancora migliore? Puoi grep su più termini di ricerca e persino trasformarlo in una ricerca senza distinzione tra maiuscole e minuscole:

tail -f log_file | grep -C 3 -i - E 'search_term_1|search_term_2'

Seguire il file con rotazione log

Se stai lavorando su un server aziendale, è probabile che i registri vengano ruotati. Ciò significa che dopo che il file di registro corrente raggiunge una determinata dimensione, viene rinominato e compresso.

Ciò crea un problema se stai pedinando un file di registro in tempo reale. Per impostazione predefinita, il comando tail funziona sul descrittore di file. Se il file di registro corrente viene ruotato, il comando tail ora punterà a un file di registro archiviato che ora non registrerà alcuna modifica.

La soluzione è seguire un file di registro in base al suo nome. In questo modo, anche quando avviene la rotazione del registro, la coda punterà al file di registro corrente (perché il suo nome non cambia mai).

tail --follow=name log_file | grep -C 3 -i - E 'search_term_1|search_term_2'

Questo è molto meglio ora. La prossima volta che esegui la coda di un file di registro, utilizzalo in questo modo per monitorarlo in modo più efficace.

Tail è utile per monitorare un file di registro in tempo reale, ma cosa succede se devi analizzare più di un file di registro contemporaneamente? La risposta si trova nella prossima sezione.

Guardare più file di log con tail

Questo dovrebbe funzionare nei sistemi Linux. È possibile monitorare più file di registro contemporaneamente con il comando tail. Basta fornire il percorso del file in questo modo:

tail -f log_file_1 -f log_file_2

Vedrai che inizia a mostrare le modifiche in tempo reale insieme al nome del file precedente in modo da poter distinguere tra diverse origini di registro.

C'è un modo leggermente migliore per visualizzare più file di registro contemporaneamente utilizzando un'utilità chiamata multitail.

Metodo 2:monitora più file di registro contemporaneamente con multitail

Multitail, come suggerisce il nome, viene utilizzato per visualizzare più file contemporaneamente.

Qual è il problema? Anche il comando tail può fare lo stesso, giusto?

Ma Multitail ha qualche vantaggio rispetto al comando di coda convenzionale. Mostra i file in viste divise e puoi persino mostrare file diversi in righe e colonne diverse.

Ricorda, la coda mostra tutto nella stessa vista e diventa difficile da seguire. Multitail supera questa difficoltà fornendo una vista divisa come il comando dello schermo.

Multitail non è un comando essenziale come tail e potrebbe essere necessario installarlo prima di usarlo.

Puoi fornire diversi file, ma penso che più di 3 file alla volta sarebbero difficili da seguire.

multitail log_file_1 log_file_2

Per impostazione predefinita, multitail funziona come tail -f . Mostra le ultime 100 righe e poi passa alla visualizzazione in tempo reale. Per impostazione predefinita, divide la vista in righe.

Puoi premere b per aprire una finestra di selezione e selezionare il file di registro di tua scelta per visualizzarlo e scorrerlo per un'analisi più approfondita e più approfondita.

Premi q per uscire da ogni tipo di visuale in multitail.

Puoi dividere le visualizzazioni in colonne come questa:

multitail -s 2 log_file_1 log_file_2

C'è uno spazio obbligatorio tra -s e il numero di colonne.

Multitail è in grado di fare altre cose, ma non entrerò nei dettagli in questo tutorial.

Finora, hai visto due modi per monitorare i file di registro. C'è un altro modo, ma meno convenzionale, di vedere le modifiche ai file nella vita reale ed è usare il comando less

Metodo 3:visualizza le modifiche ai file di registro in tempo reale con meno comandi

Il comando less è più per leggere i file di testo senza ingombrare lo schermo. Può essere utilizzato anche per leggere file con modifiche in tempo reale.

L'opzione +F consente a meno di seguire le modifiche apportate a un file di testo.

less +F log_file

Apre i file di registro con le modifiche in corso di scrittura visualizzate in tempo reale.

Premi Ctrl+c per interrompere e q per uscire dalla visualizzazione.

Questo metodo ti consente di avere una visualizzazione rapida delle modifiche del registro senza ingombrare lo schermo a differenza del comando tail.

Conclusione

Questo metodo di monitoraggio dei file di registro in Linux funziona per i tradizionali file di registro basati su testo. Per i log di sistema, i syslog sono ancora presenti, ma molte distribuzioni Linux sono passate ai log del journal e per visualizzare un'analisi dei log del journal, devi usare i comandi journalctl.

Oltre a questo, ci sono altri strumenti sofisticati come Graylog per l'analisi dei log a un livello più profondo con dashboard e grafici. Maggiori informazioni su questo in qualche altro articolo.

Spero che tu abbia imparato un paio di cose nuove da questo argomento apparentemente facile sul monitoraggio dei log in tempo reale in Linux. Il tuo feedback è il benvenuto.


Linux
  1. Ruota e archivia i registri con il comando logrotate di Linux

  2. Come usare il comando tail per vedere i log in tempo reale

  3. Comandi di accesso ai file in Linux:trova, ordina, testa, coda

  4. Analisi audio in tempo reale in Linux

  5. In che modo Linux utilizza un orologio in tempo reale?

Come controllare i registri di sistema su Linux [Guida all'uso completa]

Cosa sono i log di Linux e dove trovarli

7 modi per usare il comando Linux Watch

GoAccess – Un analizzatore di log Apache e Nginx in tempo reale

15 modi per utilizzare il comando Linux Watch per le attività quotidiane

Monitora l'utilizzo della larghezza di banda della rete Linux in tempo reale con nload