Cum să vizualizați jurnalele Systemctl

Cum Sa Vizualizati Jurnalele Systemctl



Systemd este unul dintre sistemele de init adoptate pe scară largă pe Linux. Avantajul cheie al systemd este capacitatea sa de a gestiona jurnalele de sistem. Acesta colectează toate mesajele nucleului și procesele utilizatorului într-un jurnal numit Jurnal . The jurnalizate este demonul care captează și gestionează jurnalele într-un fișier binar. Acest demon are avantajul cheie de a stoca date în formă structurată și indexată, făcându-l ușor de accesat și analizat prin intermediul jurnalctl utilitate.

În acest ghid, voi aborda cum să vizualizați jurnalele de sistem pe Linux folosind diferite utilitare de linie de comandă.

Notă: Comenzile menționate în acest ghid sunt efectuate pe Ubuntu. Ele vor funcționa fără erori pe toate distribuțiile Linux care vin cu sistemul systemd init.







Metode de vizualizare a jurnalelor systemctl

Există două abordări pentru vizualizarea jurnalelor de sistem pe Linux:



Systemctl oferă cele mai recente jurnale specifice serviciului, în timp ce journalctl oferă jurnalele aprofundate la nivelul întregului sistem ale tuturor serviciilor și serviciului specific.



Voi explora ambele utilitare pentru a vedea jurnalele de sistem. Dar mai întâi, să înțelegem diferența cheie dintre comenzile systemctl și journalctl.





Ce este systemctl

Systemctl este un utilitar de linie de comandă care gestionează serviciile systemd, cum ar fi activarea sau dezactivarea serviciului și vizualizarea stării. The starea systemctl comanda imprimă, de asemenea, câteva linii de jurnal ale serviciului în partea de jos a ieșirii, iar acest jurnal este după pornirea recentă. Cu toate acestea, aceste linii de jurnal ale serviciului apar numai după pornirea curentă.

Ce este journalctl

Journalctl este un utilitar de linie de comandă folosit pentru a tipări jurnalele colectate de systemd. În comparație cu systemctl, oferă rezultate detaliate cu opțiuni de filtrare. Acest utilitar este conceput pentru a:



  • Citiți jurnalele (cel mai vechi jurnal este primul)
  • Monitorizați jurnalele
  • Filtrați jurnalele în funcție de timp, serviciu sau utilizator

Systemd colectează jurnalele de la kernel, servicii și demoni și le stochează într-un loc centralizat.

Cum să vizualizați jurnalul unui serviciu utilizând systemctl

Sintaxa generală pentru a găsi jurnalul unui serviciu folosind systemctl utilitatea este menționată mai jos.

starea systemctl [ numele serviciului ]

De exemplu, pentru a vizualiza informațiile de jurnal ale smbd.service utilizați comanda dată mai jos.

systemctl status smbd.service

Pentru a obține rezultate fără paginare, adăugați – fără paginator opțiunea din comandă.

systemctl status smbd.service --no-pager

Cum să vizualizați jurnalul unui serviciu folosind journalctl

Pentru a vizualiza jurnalul unui anumit serviciu al systemd, utilizați jurnalctl cu -în comanda și numele serviciului sau al unității.

jurnalctl -în [ numele serviciului ]

În comanda de mai sus, -în steag, prescurtare pentru -unitate este folosit pentru a filtra jurnalctl ieșit de un nume de unitate.

De exemplu, pentru a tipări jurnalul smbd daemon, voi înlocui [nume-unitate] cu smbd.service .

jurnalctl -în smbd.service

În rezultat, se poate vedea că cea mai veche intrare vine mai întâi și apoi se înregistrează după ce este listată fiecare boot.

Pentru a obține cea mai recentă intrare, utilizați prima dată -Este scurt pentru – sfârşitul paginii.

jurnalctl -în smbd.service -Este

Dacă doriți să omiteți paginarea din rezultat, adăugați pur și simplu – fără paginator în comenzile de mai sus.

Pentru a imprima continuu intrările de jurnal în timp real -f scurt pentru -urma .

jurnalctl -în smbd.service -f

Filtrarea poate fi extinsă în continuare folosind simbolul -b scurt pentru – cizma , care tipărește jurnalele pe baza pornirii curente.

jurnalctl -în [ nume-unitate ] -b

Să tipărim jurnalele smbd.service de la boot-ul recent.

jurnalctl -în smbd.service -b

Ieșirea de mai sus seamănă cu cea pe care o obținem folosind starea systemctl comanda.

Pentru a obține o prezentare detaliată a jurnalului, utilizați -X scurt pentru -catalog opțiune.

jurnalctl -în smbd.service -X

Aceasta va adăuga o scurtă descriere a jurnalului.

Acum, pentru a imprima jurnalele bazate pe timp folosind journalctl, există două opțiuni, -S scurt pentru -de cand și -ÎN scurt pentru -pana cand .

jurnalctl -în [ nume-unitate ] -S „[an-lună-zi] [ore:minute:secunde]”

De exemplu, pentru a vizualiza jurnalele unității smbd din 2024:01:30 12:05:00 .

jurnalctl -în smbd.service -S „2024:01:30 12:05:00”

Concluzie

Pentru a vizualiza jurnalele de sistem ale unui serviciu, există două utilitare principale, journalctl și systemctl. Journalctl este proiectat special pentru vizualizarea jurnalelor de systemd. Cu toate acestea, systemctl are și o opțiune de tipărire a jurnalului serviciului. Pentru a imprima jurnalul de utilizare a unui serviciu, journalctl -u [numele-unității] și systemctl [nume-unitate].