Ako zobraziť a analyzovať protokoly v systéme Linux pomocou journalctl
Chcete sledovať akcie a úlohy používateľov, ktoré sa dejú na vašom počítači so systémom Linux? Tu je návod, ako používať pomôcku journalctl.
Správy denníka sú dôležité pre auditovanie a udržiavanie zdravého systému Linux. Každý počítač so systémom Linux ukladá správy denníka pre rôzne služby alebo úlohy. V tejto príručke sa dozviete, ako čítať a analyzovať správy denníka pomocou journalctl, nástroja príkazového riadka na čítanie správ denníka napísaných journald.
Čo je denník?
Journald je systémová protokolovacia služba, ktorá agreguje protokolové správy do žurnálu. Je súčasťou démona systemd, ktorý je zodpovedný za protokolovanie udalostí v systéme Linux. Žurnál je jednoducho binárny súbor, ktorý sa používa na ukladanie správ protokolu generovaných žurnálom.
Správy denníka nie sú trvalé, pretože sú uložené v RAM, čo je nestála forma úložiska. V predvolenom nastavení sa denníky denníka stratia alebo vymažú vždy, keď sa počítač reštartuje alebo stratí napájanie. Linux prideľuje pevné množstvo pamäte RAM žurnálovaným protokolom, aby sa zabránilo upchávaniu pamäte vášho systému.
Ako používať príkaz journalctl
Journalctl môžete použiť na dopytovanie žurnálu systemd alebo denníkov journald. Systém indexuje všetky žurnálované protokoly, aby zvýšil efektivitu pri čítaní protokolových správ z žurnálu.
Poznámka: Táto príručka používa sudo na spúšťanie príkazov so zvýšenými oprávneniami, pretože príkaz journalctl neuvedie všetky správy denníka, keď ho spustíte ako bežný používateľ systému Linux.
Zobraziť všetky správy denníka
Ak chcete zobraziť všetky protokoly journald, jednoducho spustite príkaz journalctl bez akýchkoľvek argumentov:
sudo journalctlPríkaz journalctl zobrazí zoznam všetkých protokolov žurnálu vo vašom systéme v chronologickom poradí. Príkaz používa menej na pozadí, čo vám poskytuje rovnakú navigačnú schopnosť, akú by ste vo všeobecnosti mali s príkazom less. V protokoloch môžete napríklad prechádzať pomocou kláves F a B na klávesnici.
Ak chcete zmeniť poradie, v ktorom systém vypisuje protokoly, t. j. najskôr zobraziť najnovší, môžete s príkazom použiť príznak -r. Príznak -r znamená Reverse.
sudo journalctl -rZobraziť denníky jadra
Protokoly jadra sú v Linuxe veľmi dôležité, pretože obsahujú informácie týkajúce sa vášho systému od jeho spustenia. Ak chcete zobraziť iba protokoly jadra, zadajte príznak -k pomocou príkazu journalctl:
sudo journalctl -kVo výstupe budú uvedené aj niektoré informácie o jadre, ako napríklad verzia jadra a jeho názov.
Filtrujte žurnálované protokoly podľa špecifického programu
Môžete tiež zobraziť protokoly súvisiace s konkrétnym programom alebo službou pomocou journalctl. Ak chcete napríklad zobraziť denníky súvisiace so službou cron, spustite príkaz nižšie:
sudo journalctl -u cronZobrazenie správ denníka v reálnom čase
Niekedy možno budete chcieť zobraziť denníky v reálnom čase, keď sa zaznamenávajú. Za týmto účelom zadajte nasledujúci príkaz:
sudo journalctl -f
Ak chcete ukončiť zobrazenie v reálnom čase, použite klávesovú skratku Ctrl + C.
Získajte správy denníka podľa dátumu
Journalctl môžete použiť na filtrovanie a analýzu protokolov pomocou časovej pečiatky. Ak chcete napríklad zobraziť denníky od včerajšieho dňa až doteraz:
sudo journalctl --since=yesterdayMôžete byť konkrétnejší použitím podrobnej časovej pečiatky „od“ a „do“ takto:
sudo journalctl --since="2021-07-17 12:00:00" --until="2021-07-17 15:00:00"Journalctl zobrazí správy denníka iba za zadané obdobie.
Zobrazenie správ denníka podľa UID alebo PID
Žurnálové protokoly môžete filtrovať aj pomocou ID užívateľa (UID) alebo ID procesu (PID). Základná syntax je:
sudo journalctl _UID=0...kde 0 je UID pre účet root. Môžete tiež nahradiť UID vo vyššie uvedenom príkaze buď PID alebo GID (ID skupiny).
Formátovanie výstupu journalctl
Ak chcete zobraziť denníky journalctl pomocou špecifického výstupného formátu, mali by ste použiť príkaz journalctl -o, za ktorým nasleduje váš preferovaný formát. Ak chcete napríklad zobraziť protokoly v peknom formáte JSON, spustite príkaz nižšie:
sudo journalctl -o json-prettyVýkon :
Konfigurácia journald v systéme Linux
Táto príručka vám ukázala, ako zobraziť a analyzovať správy denníka žurnálu v systéme Linux pomocou príkazu journalctl. V adresári /var/log/journal sú uložené všetky žurnálované protokoly. Všimnite si, že nie všetky distribúcie Linuxu majú predvolene povolené žurnálovanie.
Súbor /etc/systemd/journald.conf môžete použiť na konfiguráciu alebo vykonanie zmien konfigurácie journald na vašom PC. Okrem efektívnej služby protokolovania existuje niekoľko ďalších nástrojov, ktoré sú nevyhnutné, ak to myslíte s bezpečnosťou svojich serverov Linux vážne.


