Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Journalctl — debugging a analýza logů

03. 09. 2022 Aktualizováno: 27. 03. 2026 2 min čtení intermediate
Tento článek byl publikován v roce 2022. Některé informace mohou být zastaralé.

Systemd journal zachytává logy ze služeb, kernelu i dalších zdrojů v binárním formátu s indexováním. Journalctl nabízí mocné filtrování, které je výrazně lepší než grep v /var/log, protože umožňuje kombinovat filtry podle služby, priority, času a dalších metadat v jednom dotazu. Strukturované logy navíc zachovávají kontext — víte přesně, který proces a PID zprávu vytvořil.

Základy

journalctl -u nginx                    # logy konkrétní služby
journalctl -fu nginx                   # follow mode — real-time sledování
journalctl -n 50 -u myapp              # posledních 50 řádků

Filtrování

journalctl --since '1 hour ago'        # logy za poslední hodinu
journalctl --since today               # od půlnoci
journalctl -b                          # aktuální boot
journalctl -p err                      # pouze chyby a horší
journalctl -k                          # kernel zprávy (dmesg alternativa)
journalctl _UID=1000                   # logy konkrétního uživatele
journalctl _TRANSPORT=audit            # audit logy

Filtry lze kombinovat — například journalctl -u nginx -p warning --since '2 hours ago' zobrazí varování a chyby z nginx za poslední dvě hodiny. Prioritní úrovně odpovídají syslogu: emerg, alert, crit, err, warning, notice, info, debug.

Formáty a grep

journalctl -u nginx -o json-pretty     # strukturovaný JSON výstup
journalctl -u nginx -o cat             # čistý text bez metadat
journalctl -u myapp --grep 'error'     # full-text hledání
journalctl -u myapp -o verbose         # všechna metadata

JSON výstup je užitečný pro strojové zpracování — lze ho posílat do jq pro analýzu nebo do externích log management systémů.

Správa

journalctl --disk-usage                # kolik místa logy zabírají
journalctl --vacuum-size=500M          # omezit na 500 MB
journalctl --vacuum-time=30d           # smazat starší než 30 dní

Pro trvalé nastavení upravte /etc/systemd/journald.conf — parametry SystemMaxUse a MaxRetentionSec řídí maximální velikost a stáří logů. Po změně restartujte systemd-journald.

Journal je váš přítel

Mocné filtrování logů přímo na serveru pokryje většinu diagnostických scénářů. Pro centralizované logování z více serverů zvažte Elasticsearch/OpenSearch s Fluentd nebo Grafana Loki s Promtail.

journalctlsystemdlogging
Sdílet:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.