Co jsou soubory protokolu systému Linux?
Soubory protokolu jsou jednoduše textové soubory, které obsahují sadu záznamů, událostí nebo zpráv o serveru, aplikacích a službách běžících na vašem operačním systému Linux. Používají je správci systému pro účely odstraňování problémů, kdykoli se objeví problém.
V Linuxu jsou soubory protokolu obecně rozděleny do následujících kategorií.
- Protokoly aplikací
- Protokoly událostí
- Protokoly služeb
- Systémové protokoly
V Linuxu je mnoho souborů protokolu a jsou umístěny v adresáři /var/log/. Sledovat všechny z nich je únavný úkol. Následující kritické soubory však musí být monitorovány.
- /var/log/syslog
- /var/log/messages
- /var/log/auth.log
- /var/log/secure
- /var/log/boot.log
- /var/log/dmesg
- /var/log/kern.log
- /var/log/faillog
- /var/log/cron
- /var/log/mail.log
- /var/log/apache2/error.log
- /var/log/mysql.log
V tomto článku prozkoumáme různé metody, které lze použít k zobrazení nebo sledování souborů protokolu v reálném čase. Provedli jsme všechny příkazy na Debianu 10.
Předpoklady
Pro tento tutoriál potřebujete následující,
- Uživatelský účet s oprávněními root
Zobrazení souborů protokolu
Použití příkazu ocas
Ocas je jedním z široce používaných příkazů pro prohlížení protokolu. Vytiskne několik posledních řádků souboru protokolu na konzole, ve výchozím nastavení 10 řádků.
Obecná syntaxe příkazu je následující.
tail
Například,
tail /var/log/syslog
Níže je ukázkový výstup zobrazující posledních 10 řádků souboru syslog.
Pokud však chcete zobrazit konkrétní řádky konce souboru protokolu, řekněme 5 řádků, můžete použít volbu -n následovně.
tail -n 5 /var/log/syslog
Níže je ukázkový výstup.
Pokud chcete sledovat soubor protokolu a chcete tisknout nové zprávy tak, jak jsou přihlášeny v reálném čase, můžete použít volbu -f spolu s výše uvedeným příkladem příkazů.
tail -f -n 5 /var/log/syslog
Jakmile je do souboru protokolu přidán nový řádek, vytiskne se spolu se svými 4 výše uvedenými řádky.
Pokud chcete terminál zavřít, stiskněte na klávesnici ctrl + c.
Použití příkazu multitail
Pomocí příkazu multitail můžete sledovat a prohlížet obsah více souborů protokolu v reálném čase na konzole v jediném okně. Příkaz multitail není součástí Debianu 10. Otevřete proto terminál a zadejte následující příkaz s právy root k jeho instalaci.
apt-get install multitail
Níže je ukázkový výstup.
Obecná syntaxe příkazu multitail je následující,
multitailový název souboru 1 název souboru 2
Předpokládejme, že máte dva soubory protokolu /var/log/syslog a /var/log/kern.log a chcete zobrazit jejich obsah na konzole pomocí multitailu, celý příkaz by měl vypadat takto.
multitail /var/log/syslog /var/log/kern.log
Níže je ukázkový výstup.
Pomocí tohoto příkazu můžete sledovat obsah více souborů protokolu v reálném čase. Například níže uvedený snímek obrazovky ukazuje obsah čtyř souborů protokolu /var/log/syslog, /var/log/kern.log, /var/log/daemon.log a var/log/messages.
Ve výchozím nastavení zobrazuje příkaz multitail obsah souborů protokolu vodorovně. Pokud chcete zobrazit soubory svisle ve sloupcích, můžete použít přepínače -s následovně.
Předpokládejme, že chcete zobrazit obsah souborů protokolu svisle ve dvou sloupcích, celý příkaz by měl vypadat následovně.
multitail -s 2 /var/log/syslog, /var/log/kern.log, /var/log/daemon.log and var/log/messages
Níže je ukázkový výstup.
Můžete také procházet soubory. Stiskněte „b“ na klávesnici a procházejte ji, abyste si vybrali požadovaný soubor protokolu. Můžete si prohlédnout posledních 100 řádků zvoleného souboru.
Níže jsou ukázkové výstupy.
Stiskněte Ctrl + g pro přerušení a návrat do okna více souborů protokolu.
Souborům protokolu můžete také přidělit různé barvy pomocí parametru ci, abyste je mohli snadno rozlišit. Následuje dobrý příklad,
multitail -ci green /var/log/syslog -ci blue /var/log/messages
Níže je ukázkový výstup.
Multitail command toho nabízí hodně. Když je příkaz spuštěn, stiskněte na klávesnici „h“ pro nápovědu.
Použití příkazu lnav
Příkaz lnav je podobný příkazu multitail a zobrazuje obsah více souborů protokolu v jednom okně. Chcete-li jej nainstalovat na Debian, otevřete terminál a zadejte následující příkaz s právy root.
apt-get update lnav
Po zobrazení výzvy stiskněte na klávesnici „y“. Počkejte na dokončení příkazu.
Na rozdíl od příkazů multitail nebo jiných příkazů sloučí příkaz lnav obsah souborů protokolu a zobrazí každý řádek podle data v jediném okně.
Níže je ukázkový soubor. Oknem můžete procházet pomocí kláves nahoru, dolů atd. na klávesnici.
Obecná syntaxe příkazu je následující,
lnav
Předpokládejme, že chcete zobrazit protokol syslog a daemon.log. Na terminálu proveďte následující příkaz.
lnav /var/log/syslog /var/log/messages
Níže je ukázkový výstup.
Pokud neurčíte soubor s příkazem, ve výchozím nastavení se otevře soubor syslog.
Proveďte následující příkaz.
lnav
Níže je ukázkový výstup.
Můžete také prohledávat protokol stisknutím / na klávesnici, když je spuštěn příkaz. Po stisknutí klávesy / zadejte požadovaný řetězec, který chcete hledat, a stiskněte klávesu Enter na klávesnici.
Předpokládejme, že hledám řetězec „DHCPACK“ a v okně je zvýrazněn.
Níže je ukázkový výstup.
Můžete také zobrazit komprimované soubory protokolu (zip, gzip, bzip) pomocí volby -r. Níže je úplná syntaxe.
lnav -r
Použití méně příkazu
Less je další příkaz, který se používá ke sledování výstupu souboru protokolu.
Níže je úplná syntaxe příkazu.
méně +F
Pokud například chcete monitorovat soubor syslog na cestě /var/log/syslog, měl by příkaz complete vypadat takto.
less +F /var/log/syslog
Níže je ukázkový výstup.