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

  1. Najzákladnejší spôsob použitia journalctl je 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.

    
    $ journalctl
    

    Pozrite si snímku obrazovky nižšie, aby ste videli všeobecný formát denníkov. Výstup bude automaticky presmerovaný na menej. Pomocou klávesu Enter sa posúvajte po riadkoch alebo pomocou klávesu Medzerník posúvajte stránku po stránke. Ak chcete ukončiť výstup denníka, stlačte q na klávesnici.

  2. 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-boots na zobrazenie zoznamu všetkých protokolov z predchádzajúcich spustení.

    
    $ journalctl --list-boots
    

    Snímka obrazovky nižšie ukazuje, že journalctl má 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.

  3. 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
    
  4. 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
    
  5. Možnosti --since a --until vá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 yesterday
    
  6. Možnosti môžete použiť aj vo vzájomnom spojení.

    
    $ journalctl --since yesterday --until "2 hours ago"
    
  7. 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:SS s týmito dvoma možnosťami.

    
    $ journalctl --since 2022-10-03 01:00:00 --until 2022-10-04 14:30:00
    

    Môž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.

  8. 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.service
    
  9. Ak 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 -n
    
  10. Ak chcete zobraziť posledných 100 záznamov, znova použite príznak -n, ale zadajte číslo za ním.

    
    $ journalctl -n 100
    

    Výstup môžete použiť aj na príkaz tail. Ak chcete zobraziť posledných 100 záznamov journalctl:

    
    $ 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

  1. Ak chcete zobraziť iba správy súvisiace s jadrom, použite možnosť -k.

    
    $ journalctl -k
    
  2. Keďž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: debug
    

    Použite možnosť -p na 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 3
    
  3. Ak 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ť -o takto:

    
    $ journalctl -o json
    

    ALEBO

    
    $ journalctl -o json-pretty
    
  4. Ak chcete zobraziť všetky záznamy tak, ako sa vytvárajú, použite možnosť -f. Funguje to presne ako voľba -f pre príkaz tail.

    
    $ journalctl -f
    
  5. Ak 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.

Súvisiace články: