GNU/Linux >> Znalost Linux >  >> Linux

Jak používat journalctl k prohlížení a manipulaci s protokoly Systemd

Snad jednou z nejužitečnějších věcí v linuxu jsou systémy protokolů, které nám poskytují spoustu užitečných informací, které můžeme použít k odstraňování problémů, konfiguraci atd.

Jedním z nejpoužívanějších nástrojů, když mluvíme o protokolech, je použití journalctl které lze nalézt téměř v každé distribuci GNU/Linuxu. Tento výkonný nástroj nám umožňuje získat informace o stavu systému, démonů, jednotek nebo dokonce jádra, a jak jsme již zmínili, všechny tyto informace nám mohou pomoci zkontrolovat, zda něco v systému nefunguje podle očekávání.

Základní kontrola protokolů pomocí journalctl.

journalctl lze využít mnoha zajímavými způsoby, ale jedním z nejpoužívanějších je kontrola logů celého systému. K tomu stačí jednoduše vydat “journalctl” příkaz v terminálu. protože obvykle získáváme spoustu informací, můžeme se v konzoli pohybovat pomocí kláves Shift + pageup nebo shift + pagedown .

Výstup, který získáme, jsou protokoly všech démonů, služeb, jednotek atd., které máme v našem systému, jak je znázorněno na obrázku níže.

Může to být spousta informací, které ve skutečnosti nepotřebujeme, takže jednodušší způsob, jak zobrazit protokoly, které skutečně potřebujeme, je použít nějaké filtry.

Filtry v journalctl.

Můžeme použít filtry, abychom získali jasnější a přesnější informace, které můžeme později použít k vyřešení některých problémů, se kterými se můžeme na našich serverech potýkat, protože se můžeme rozhodnout použít pouze jeden filtr k získání informací o jedné službě/démonovi, nebo využít výhod skutečnost, že můžeme použít více filtrů, abychom získali podrobnější a možná užitečnější informace, například abychom získali informace o konkrétní jednotce v určitém časovém rámci, je filtrování pomocí journalctl dobrým způsobem, jak nám pomoci spravovat naše zařízení.

Jedním z nejpoužívanějších filtrů je filtrování podle data. Pomocí filtrů –od a –dokud můžeme filtrovat informace v protokolech na našem serveru podle data.

Příklad:

journalctl --since yesterday

Předchozí příkaz by zobrazil protokoly, které byly vygenerovány na našem serveru předchozího dne.

Můžeme také filtrovat protokoly podle konkrétního data, například formát, ve kterém potřebujeme vydat datum, je RRRR-MM-DD HH:MM:SS.

journalctl --since "2022-02-28  18:00:00"

Výstup bude vypadat následovně:

Můžeme také použít dvě data například k filtrování ve stylu rozsahu.

journalctl --since "2022-02-28 00:00:00" --until "2022-02-28 23:00:00"

Výstup bude vypadat následovně:

Pomocí předchozího příkazu jsme mohli filtrovat protokoly, které systém zachytil mezi 00:00 a 28:00 28. února.

Můžeme také použít volbu -n k získání nejnovějších protokolů v systému, tento příkaz nám poskytne posledních 10 záznamů, které byly uloženy v systemd-journald službu.

Filtrování protokolů konkrétních jednotek/démonů/služeb.

Další běžnou věcí je filtrování na základě jednotky, o které potřebujeme informace, k tomu stačí jednoduše použít journalctl -u plus jednotku, o které potřebujeme informace

Například se službou cronie.

journalctl -u cronie.service

Výstup bude vypadat následovně:

Po zadání tohoto příkazu získáme výstup s logy dané konkrétní jednotky.

Můžeme to také zkombinovat s filtrováním podle data, abychom získali konkrétnější informace.

journalctl -u cronie.service --since yesterday

Výstup bude vypadat následovně:

Získávání protokolů jádra.

Někdy potřebujeme zkontrolovat, zda jádro funguje správně nebo zda se něco nepovedlo, získat informace, které nám pomohou problém vyřešit.

Získání protokolů jádra je velmi přímočaré, použili bychom journalctl plus volbu -k.

Výstup bude vypadat následovně:

Můžeme také použít volbu -b, abychom získali pouze informace o posledním startu jádra, nebo můžeme získat informace o předchozích startech pomocí:journalctl -b -1,-2,-3 atd.

Výstup bude vypadat následovně:

Poznámky:

Služba, která ukládá informace protokolu, je systemd-journal a pomocí možnosti využití disku můžeme vidět, kolik místa tyto informace zabírají.

Výstup bude vypadat následovně:

Závěry:

Jak vidíme, journalctl je příkaz, který musíte znát, který se může hodit k řešení problémů nebo jen k získání informací o systému, na kterém pracujeme.


Pomocí karty Zpětná vazba můžete přidat komentáře nebo položit otázky. Můžete s námi také zahájit konverzaci.


Linux
  1. Jak nainstalovat a používat Flatpak v Linuxu

  2. Jak nainstalovat a používat Traceroute v Linuxu

  3. Jak používat journalctl k analýze protokolů v Linuxu

  1. Jak vymazat Journalctl?

  2. Průvodce pro začátečníky „journalctl“ – Jak používat Journalctl k prohlížení a manipulaci s protokoly Systemd

  3. Jak mohu použít ioctl() k manipulaci s mým modulem jádra?

  1. Co je to chroot jail a jak jej používat?

  2. Jak nainstalovat a používat Helm v Kubernetes

  3. Jak zobrazit a filtrovat protokoly v Plesku