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.
Articoli correlati
Utilizza la scheda Feedback per inserire commenti o porre domande. Puoi anche avviare una conversazione con noi.