GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare journalctl per visualizzare e manipolare i log di Systemd

Forse una delle cose più utili in Linux sono i sistemi di log, che ci forniscono molte informazioni utili che possiamo usare per risolvere i problemi, configurare ecc.

Uno degli strumenti più utilizzati quando si parla di log è l'uso di journalctl che può essere trovato in quasi tutte le distribuzioni di GNU/Linux. Questo potente strumento ci consente di ottenere informazioni sullo stato del sistema, sui demoni, sulle unità o persino sul kernel e, come accennato in precedenza, tutte queste informazioni possono aiutarci a verificare se qualcosa nel sistema non funziona come previsto.

Controllo di base del registro con journalctl.

journalctl può essere usato in molti modi interessanti, ma uno dei più usati è controllare i log dell'intero sistema. Per fare ciò dobbiamo semplicemente emettere il “journalctl” comando in un terminale. poiché di solito otteniamo molte informazioni, possiamo navigare nella console con i tasti Shift + pageup o shift + pagedown .

L'output che otteniamo sono i registri di tutti i demoni, servizi, unità ecc. che abbiamo nel nostro sistema come rappresentato nell'immagine qui sotto.

Queste possono essere molte informazioni di cui non abbiamo realmente bisogno, quindi un modo più semplice per visualizzare i log di cui abbiamo veramente bisogno è utilizzare alcuni filtri.

Filtri in journalctl.

Possiamo utilizzare i filtri per ottenere informazioni più chiare e precise che in seguito potremo utilizzare per risolvere alcuni problemi che possiamo affrontare nei nostri server poiché possiamo decidere di utilizzare solo un filtro per ottenere informazioni su un servizio/deamon, oppure sfruttare il dato che possiamo utilizzare più filtri per ottenere informazioni più dettagliate e forse più utili, ad esempio per ottenere informazioni su un'unità specifica in un intervallo di tempo specifico, filtrare con journalctl è un buon modo per aiutarci a gestire i nostri dispositivi.

Uno dei filtri più utilizzati è quello per data. Con i filtri –dal e –finché, possiamo filtrare per data le informazioni dei log nel nostro server.

Esempio:

journalctl --since yesterday

Il comando precedente mostrava i log che sono stati generati nel nostro server il giorno precedente.

Possiamo anche filtrare i registri in base a una data specifica, il formato in cui dobbiamo emettere la data è AAAA-MM-GG HH:MM:SS per esempio.

journalctl --since "2022-02-28  18:00:00"

L'output avrà il seguente aspetto:

Possiamo anche utilizzare, ad esempio, due date per filtrare in uno stile di intervallo.

journalctl --since "2022-02-28 00:00:00" --until "2022-02-28 23:00:00"

L'output avrà il seguente aspetto:

Con il comando precedente abbiamo potuto filtrare i log che sono stati catturati dal sistema tra le 00:00 e le 23:00 del 28 febbraio.

Possiamo anche usare l'opzione -n ​​per ottenere i log più recenti nel sistema, questo comando ci fornisce le ultime 10 voci che sono state memorizzate nel systemd-journald servizio.

Filtraggio dei log di unità/daemons/servizi specifici.

Un'altra cosa comune è filtrare in base all'unità su cui abbiamo bisogno di informazioni, per farlo, dobbiamo semplicemente usare journalctl -u più l'unità su cui abbiamo bisogno di informazioni

Ad esempio con il servizio cronie.

journalctl -u cronie.service

L'output avrà il seguente aspetto:

Dopo aver emesso questo comando otterremo l'output con i log di quella particolare unità.

Possiamo anche combinare questo con il filtro della data per ottenere informazioni più specifiche.

journalctl -u cronie.service --since yesterday

L'output avrà il seguente aspetto:

Ottenere i log del kernel.

A volte abbiamo bisogno di controllare se il kernel funziona correttamente o se qualcosa è andato storto ottenere informazioni che ci aiutino a risolvere il problema.

Ottenere i log del kernel è molto semplice, useremmo journalctl più l'opzione -k.

L'output avrà il seguente aspetto:

Possiamo anche usare l'opzione -b per ottenere solo informazioni sull'avvio più recente del kernel, oppure possiamo ottenere informazioni sugli inizi precedenti con:journalctl -b -1,-2,-3 ecc.

L'output avrà il seguente aspetto:

Note:

Il servizio che memorizza le informazioni di registro è systemd-journal e possiamo vedere quanto spazio viene utilizzato da queste informazioni con l'opzione di utilizzo del disco.

L'output avrà il seguente aspetto:

Conclusioni:

Come possiamo vedere, journalctl è un comando indispensabile che può tornare utile per risolvere problemi o semplicemente ottenere informazioni sul sistema su cui stiamo lavorando.


Utilizza la scheda Feedback per inserire commenti o porre domande. Puoi anche avviare una conversazione con noi.


Linux
  1. Come installare e utilizzare Flatpak in Linux

  2. Come installare e utilizzare Traceroute in Linux

  3. Come cancellare Journalctl?

  4. Come utilizzare journalctl per analizzare i registri in Linux

  5. Guida per principianti a "journalctl" - Come utilizzare Journalctl per visualizzare e manipolare i log di Systemd

Come visualizzare le informazioni sulla batteria in Linux

Come installare e utilizzare il comando fd in Linux

Come installare e utilizzare Nu Shell su Linux

Come cancellare i registri del diario di Systemd

Come installare e utilizzare Docker su AlmaLinux 8

Journalctl:come leggere e modificare i log di Systemd