použitie príkazu journalctl a príklady v systéme Linux
Príkaz journalctl možno použiť na zobrazenie všetkých protokolov zhromaždených systémom systemd v systéme Linux. Patria sem protokoly týkajúce sa jadra systému, initrd, rôznych služieb a aplikácií, ako aj samotného systemd. Pomocou príkazu journalctl je dopytovanie všetkých týchto protokolov celkom bezbolestné, pretože systemd zhromažďuje a ukladá všetky tieto rôzne protokoly na centrálnom mieste, aby si ich mohli zobraziť správcovia.
V tomto návode uvidíte, ako používať príkaz journalctl v systéme Linux. To bude zahŕňať často používané možnosti, ako aj informácie o tom, ako interpretovať systémové protokoly, pretože môžu byť pre nezasvätených dosť tajomné. Pozrite si niektoré z nižšie uvedených príkladov, aby ste pochopili príkaz a vyskúšajte niektoré z možností príkazov vo vašom vlastnom systéme, zatiaľ čo ich budete nasledovať.
V tomto návode sa naučíte:
Ako používať príkaz journalctl v systéme Linux
Ako zobraziť zaznamenané chyby pomocou journalctl
-
Ako zobraziť predchádzajúce protokoly spustenia
Často používané možnosti pre príkaz journalctl
Často používané možnosti
Journalctl v základných príkladoch Linuxu
Najzákladnejší spôsob použitia
journalctlje bez ďalších možností. To vám ukáže všetko, čo bolo zaznamenané, čo bude určite obrovské množstvo údajov, ak bol váš systém zapnutý na ľubovoľný čas. Nie je nezvyčajné, aby sa záznamy v denníku počítali na milióny.$ journalctlPozrite si snímku obrazovky nižšie, aby ste videli všeobecný formát denníkov. Výstup bude automaticky presmerovaný na
menej. Pomocou klávesuEntersa posúvajte po riadkoch alebo pomocou klávesuMedzerníkposúvajte stránku po stránke. Ak chcete ukončiť výstup denníka, stlačteqna klávesnici.Protokoly sú uložené samostatne pre každé zavedenie, čo uľahčuje izoláciu určitých protokolov, ak sa pokúšate presne určiť chybu, ktorá sa vyskytla pred nedávnym reštartom. Použite možnosť
--list-bootsna zobrazenie zoznamu všetkých protokolov z predchádzajúcich spustení.$ journalctl --list-bootsSnímka obrazovky nižšie ukazuje, že
journalctlmá prístup k denníkom z posledných 15 spustení nášho systému. Naša aktuálna topánka je označená číslom 0 a naša predchádzajúca topánka je číslo 1.Na zobrazenie protokolov z predchádzajúceho zavedenia systému môžeme použiť voľbu
-b(boot) a číslo-1. Ak chcete zobraziť protokoly pre ešte staršie zavedenie, zadajte iné číslo.$ journalctl -b -1-
ID zavádzania môžete použiť aj na zobrazenie denníkov predchádzajúceho zavedenia. Tento alfanumerický reťazec sa nezmení, na rozdiel od sekvenčných čísel, ktoré sa po každom spustení stále zvyšujú.
$ journalctl -b d1389cc42a75447dba69c0b7f74cc0e9 Možnosti
--sincea--untilvám môžu pomôcť izolovať relevantné protokoly, ktoré boli zaznamenané počas určitého časového obdobia. Ak chcete napríklad zobraziť všetky denníky od včera:$ journalctl --since yesterdayMožnosti môžete použiť aj vo vzájomnom spojení.
$ journalctl --since yesterday --until "2 hours ago"Ak chcete izolovať položky denníka pre veľmi konkrétny časový rámec, použite formát dátumu
RRRR-MM-DD HH:MM:SSs týmito dvoma možnosťami.$ journalctl --since 2022-10-03 01:00:00 --until 2022-10-04 14:30:00Môže to byť užitočné, ak s istotou viete, že sa niekde počas tohto obdobia vyskytla chyba alebo relevantná udalosť, a potrebujete presne určiť, kedy sa to stalo, alebo zistiť, aké údaje boli zaznamenané, keď sa tak stalo.
Ak chcete zobraziť položky, ktoré boli zaznamenané pre konkrétnu systémovú službu, použite príznak
-u. Ak chcete napríklad zobraziť všetky záznamy zaznamenané Apache:$ journalctl -u apache2.serviceAk chcete zobraziť niektoré z najnovších záznamov, môžeme použiť možnosť
-n. V predvolenom nastavení sa vám zobrazí posledných 10 záznamov denníka.$ journalctl -nAk chcete zobraziť posledných 100 záznamov, znova použite príznak
-n, ale zadajte číslo za ním.$ journalctl -n 100Výstup môžete použiť aj na príkaz
tail. Ak chcete zobraziť posledných 100 záznamovjournalctl:$ journalctl | tail -100
POZNÁMKA
Vždy si môžete prečítať viac o príkaze journalctl a jeho oficiálnej dokumentácii pomocou príkazu man. Kliknite na predchádzajúci odkaz, aby ste videli, ako otvoriť manuálové stránky pre ľubovoľný príkaz v systéme Linux.
Pokročilé použitie
Príkaz journalctl je pomerne jednoduchý, ale ako ste si všimli v časti s príkladmi tohto článku, obsahuje množstvo možností. Mnohé z týchto možností sú pod radarom a možno o nich nevedia ani niektorí skúsení správcovia systému. Rozhodne sa však môžu hodiť v rôznych situáciách. V tejto časti návodu vám ukážeme niekoľko menej známych možností príkazu journalctl, ktoré považujeme za užitočné.
Journalctl v pokročilých príkladoch Linuxu
Ak chcete zobraziť iba správy súvisiace s jadrom, použite možnosť
-k.$ journalctl -kKeďže existuje toľko záznamov denníka, môže byť užitočné zobraziť iba záznamy s určitou prioritou. Najvyššia priorita je úroveň 0 a najnižšia úroveň 7. Úrovne protokolu sú nasledovné:
0: emergency 1: alert 2: critical 3: error 4: warning 5: notice 6: info 7: debugPoužite možnosť
-pna zobrazenie protokolov určitej úrovne plus tých, ktoré sú nad ňou prioritne. V tomto príklade prejdeme na úroveň 3, čo je každá položka označená ako chyba, kritická, výstraha alebo núdzová situácia.$ journalctl -p 3Ak chcete získať výstup vo formáte JSON, ktorý môže uľahčiť analýzu v určitých programoch, použite možnosť
-otakto:$ journalctl -o jsonALEBO
$ journalctl -o json-prettyAk chcete zobraziť všetky záznamy tak, ako sa vytvárajú, použite možnosť
-f. Funguje to presne ako voľba-fpre príkaztail.$ journalctl -fAk chcete zistiť, koľko miesta na disku zaberajú všetky vaše protokolové súbory:
$ journalctl --disk-usage
Záverečné myšlienky
V tomto návode sme sa dozvedeli všetko o príkaze journalctl v systéme Linux. Príkaz journalctl je nevyhnutný na zvládnutie pre používateľov a správcov, ktorí potrebujú odstraňovať systémové chyby alebo monitorovať anomálie v protokoloch. Ďalšie informácie nájdete v našom ďalšom návode na úvod do denníka Systemd.


