Ako zobraziť denníky Systemctl

Ako Zobrazit Denniky Systemctl



Systemd je jedným zo široko používaných init systémov na Linuxe. Kľúčovou výhodou systemd je jeho schopnosť spravovať systémové protokoly. Zhromažďuje všetky správy jadra a používateľské procesy do protokolu s názvom Denník . The žurnálované je démon, ktorý zachytáva a spravuje protokoly v binárnom súbore. Tento démon má kľúčovú výhodu v ukladaní údajov v štruktúrovanej a indexovanej forme, čo uľahčuje prístup a analýzu prostredníctvom journalctl užitočnosť.

V tejto príručke sa budem zaoberať tým, ako zobraziť protokoly systemd v systéme Linux pomocou rôznych nástrojov príkazového riadka.

Poznámka: Príkazy uvedené v tejto príručke sa vykonávajú na Ubuntu. Budú fungovať bez chýb na všetkých distribúciách Linuxu, ktoré sa dodávajú so systémom systemd init.







Metódy zobrazenia denníkov systemctl

Existujú dva prístupy k prezeraniu denníkov systemd v systéme Linux:



Systemctl poskytuje najnovšie protokoly špecifické pre službu, zatiaľ čo journalctl poskytuje podrobné protokoly pre celý systém všetkých služieb a konkrétnej služby.



Preskúmam oba nástroje na zobrazenie protokolov systemd. Najprv však pochopme kľúčový rozdiel medzi príkazmi systemctl a journalctl.





Čo je systemctl

Systemctl je nástroj príkazového riadka, ktorý spravuje systémové služby, ako je povolenie alebo zakázanie služby a zobrazenie stavu. The stav systemctl príkaz tiež vypíše niekoľko riadkov protokolu služby v spodnej časti výstupu a tento protokol je po nedávnom spustení. Tieto riadky denníka služby však pochádzajú iba z obdobia po aktuálnom spustení.

Čo je journalctl

Journalctl je pomocný program príkazového riadka, ktorý sa používa na tlač protokolov zhromaždených systémom systemd. Oproti systemctl poskytuje detailný výstup s možnosťami filtrovania. Tento nástroj je navrhnutý tak, aby:



  • Čítanie denníkov (najstarší denník je prvý)
  • Monitorujte denníky
  • Filtrujte denníky podľa času, služby alebo používateľa

Systemd zhromažďuje protokoly z jadra, služieb a démonov a ukladá ich na centralizovanom mieste.

Ako zobraziť denník služby pomocou systemctl

Všeobecná syntax na nájdenie protokolu služby pomocou systemctl užitočnosť je uvedená nižšie.

stav systemctl [ názov služby ]

Napríklad, ak chcete zobraziť informácie denníka smbd.service použite príkaz uvedený nižšie.

systemctl status smbd.service

Ak chcete získať výstup bez stránkovania, pridajte – bez pagera možnosť v príkaze.

systemctl status smbd.service --no-pager

Ako zobraziť denník služby pomocou journalctl

Ak chcete zobraziť denník konkrétnej služby systemd, použite journalctl s -v názov velenia a služby alebo jednotky.

journalctl -v [ názov služby ]

Vo vyššie uvedenom príkaze je -v vlajka, skratka pre -jednotka sa používa na filtrovanie journalctl výstup podľa názvu jednotky.

Napríklad, ak chcete vytlačiť denník smbd démon, vymením [názov jednotky] s smbd.service .

journalctl -v smbd.service

Vo výstupe je vidieť, že najstarší záznam prichádza ako prvý a potom sa prihlási po každom spustení.

Ak chcete získať najnovší záznam, najskôr ho použite -To je skratka pre – koniec pagera.

journalctl -v smbd.service -To je

Ak chcete z výstupu vynechať stránkovanie, jednoducho pripojte – bez pagera vo vyššie uvedených príkazoch.

Ak chcete nepretržite tlačiť záznamy denníka v reálnom čase -f skratka pre – sledovať .

journalctl -v smbd.service -f

Filtrovanie možno ďalej rozšíriť použitím príznaku -b skratka pre – topánka , ktorý vytlačí protokoly na základe aktuálneho spustenia.

journalctl -v [ unit-name ] -b

Vytlačíme denníky smbd.service z nedávneho spustenia.

journalctl -v smbd.service -b

Vyššie uvedený výstup sa podobá výstupu, ktorý získame pomocou stav systemctl príkaz.

Ak chcete získať podrobný prehľad denníka, použite -X skratka pre -katalóg možnosť.

journalctl -v smbd.service -X

Tým sa pripojí krátky popis denníka.

Ak chcete tlačiť denníky na základe času pomocou journalctl, existujú dve možnosti, -S skratka pre – odkedy a -V skratka pre – až .

journalctl -v [ unit-name ] -S '[rok-mesiac-deň] [hodiny:minúty:sekundy]'

Napríklad na zobrazenie denníkov jednotky smbd od 2024:01:30 12:05:00 .

journalctl -v smbd.service -S '2024:01:30 12:05:00'

Záver

Na zobrazenie protokolov systemd služby existujú dva hlavné pomocné programy, journalctl a systemctl. Journalctl je špeciálne navrhnutý na prezeranie protokolov systemd. Systemctl má však aj možnosť tlače denníka služby. Ak chcete vytlačiť denník používania služby, journalctl -u [názov jednotky] a systemctl [názov jednotky].