Pokud trávíte hodně času v prostředí Linuxu, je nezbytné, abyste věděli, kde jsou umístěny soubory protokolu a co je obsaženo v každém jednotlivém souboru protokolu.
Když vaše systémy běží hladce, věnujte nějaký čas tomu, abyste se naučili a porozuměli obsahu různých souborů protokolu, což vám pomůže, když dojde k krizi a budete muset procházet soubory protokolu, abyste zjistili problém.
/etc/rsyslog.conf řídí, co se nachází v některých souborech protokolu. Například následující záznam v rsyslog.conf pro /var/log/messages.
$ grep "/var/log/messages" /etc/rsyslog.conf *.info;mail.none;authpriv.none;cron.none /var/log/messages
Ve výše uvedeném výstupu
- *.info znamená, že budou protokolovány všechny protokoly typu INFO.
- mail.none,authpriv.none,cron.none znamená, že tyto chybové zprávy by neměly být zaznamenávány do souboru /var/log/messages.
- Můžete také zadat *.none, což znamená, že žádná ze zpráv protokolu nebude protokolována.
Následuje 20 různých souborů protokolu, které jsou umístěny v adresáři /var/log/. Některé z těchto souborů protokolu jsou specifické pro distribuci. Například na systémech založených na Debianu (například na Ubuntu) uvidíte dpkg.log.
- /var/log/messages – Obsahuje globální systémové zprávy, včetně zpráv, které jsou protokolovány během spouštění systému. Ve /var/log/messages je přihlášeno několik věcí, včetně pošty, cronu, démona, kernu, auth atd.
- /var/log/dmesg – Obsahuje informace o vyrovnávací paměti jádra. Když se systém spustí, vytiskne na obrazovku počet zpráv, které zobrazují informace o hardwarových zařízeních, která jádro detekuje během procesu spouštění. Tyto zprávy jsou dostupné ve vyrovnávací paměti jádra a kdykoli přijde nová zpráva, stará zpráva se přepíše. Obsah tohoto souboru můžete také zobrazit pomocí příkazu dmesg.
- /var/log/auth.log – Obsahuje informace o autorizaci systému, včetně přihlašovacích údajů uživatelů a ověřovacího mechanismu, který byl použit.
- /var/log/boot.log – Obsahuje informace, které jsou protokolovány při spouštění systému
- /var/log/daemon.log – Obsahuje informace zaznamenané různými démony na pozadí, které běží v systému
- /var/log/dpkg.log – Obsahuje informace, které jsou protokolovány při instalaci nebo odebrání balíčku pomocí příkazu dpkg
- /var/log/kern.log – Obsahuje informace zaznamenané jádrem. Užitečné pro odstraňování problémů s vlastním jádrem.
- /var/log/lastlog – Zobrazí poslední přihlašovací údaje pro všechny uživatele. Toto není soubor ASCII. Pro zobrazení obsahu tohoto souboru byste měli použít příkaz lastlog.
- /var/log/maillog /var/log/mail.log – Obsahuje informace protokolu z poštovního serveru, který je spuštěn v systému. Sendmail například zaznamenává informace o všech odeslaných položkách do tohoto souboru
- /var/log/user.log – Obsahuje informace o všech protokolech uživatelské úrovně
- /var/log/Xorg.x.log – Protokolovat zprávy z X
- /var/log/alternatives.log – Do tohoto souboru protokolu se zaznamenávají informace od alternativ aktualizace. Na Ubuntu update-alternatives udržuje symbolické odkazy určující výchozí příkazy.
- /var/log/btmp – Tento soubor obsahuje informace o neúspěšných pokusech o přihlášení. Pomocí posledního příkazu zobrazíte soubor btmp. Například „last -f /var/log/btmp | více“
- /var/log/cups – Všechny zprávy protokolu související s tiskárnou a tiskem
- /var/log/anaconda.log – Při instalaci systému Linux jsou všechny zprávy související s instalací uloženy v tomto souboru protokolu
- /var/log/yum.log – Obsahuje informace, které jsou protokolovány při instalaci balíčku pomocí yum
- /var/log/cron – Kdykoli démon cron (nebo anacron) spustí úlohu cron, zaprotokoluje informace o úloze cron do tohoto souboru
- /var/log/secure – Obsahuje informace související s autentizačními a autorizačními právy. Například sshd zde zaznamenává všechny zprávy, včetně neúspěšného přihlášení.
- /var/log/wtmp nebo /var/log/utmp – Obsahuje přihlašovací záznamy. Pomocí wtmp můžete zjistit, kdo je přihlášen do systému. Příkaz who používá tento soubor k zobrazení informací.
- /var/log/faillog – Obsahuje neúspěšné pokusy o přihlášení uživatele. Pro zobrazení obsahu tohoto souboru použijte příkaz faillog.
Kromě výše uvedených souborů protokolu může adresář /var/log obsahovat také následující podadresáře v závislosti na aplikaci, která je spuštěna na vašem systému.
- /var/log/httpd/ (nebo) /var/log/apache2 – Obsahuje webový server Apache access_log a error_log
- /var/log/lighttpd/ – Obsahuje light HTTPD access_log a error_log
- /var/log/conman/ – Soubory protokolu pro klienta ConMan. conman připojuje vzdálené konzole spravované démonem příkazu.
- /var/log/mail/ – Tento podadresář obsahuje další protokoly z vašeho poštovního serveru. Sendmail například ukládá shromážděné statistiky pošty do souboru /var/log/mail/statistics
- /var/log/prelink/ – program prelink upravuje sdílené knihovny a propojené binární soubory pro urychlení procesu spouštění. /var/log/prelink/prelink.log obsahuje informace o souboru .so, který byl upraven prelinkem.
- /var/log/audit/ – Obsahuje informace protokolů uložené démonem auditu systému Linux (auditd).
- /var/log/setroubleshoot/ – SELinux používá setroubleshootd (SE Trouble Shoot Daemon) k upozornění na problémy v kontextu zabezpečení souborů a zaznamenává tyto informace do tohoto souboru protokolu.
- /var/log/samba/ – Obsahuje informace protokolu uložené sambou, které se používají k připojení Windows k Linuxu.
- /var/log/sa/ – Obsahuje denní soubory sar, které shromažďuje balíček sysstat.
- /var/log/sssd/ – Používá se démonem služeb zabezpečení systému, který řídí přístup ke vzdáleným adresářům a mechanismy ověřování.
Namísto ručního pokusu o archivaci souborů protokolů, jejich vyčištěním po x počtu dní nebo odstraněním protokolů poté, co dosáhnou určité velikosti, to můžete provést automaticky pomocí logrotate, jak jsme probrali dříve.
Chcete-li zobrazit soubory protokolu, použijte některou z následujících metod. Ale, prosím, nedělej ‚kočku | více“.
- vi – Pokud jste spokojeni s příkazy vi, použijte editor vi pro rychlé procházení souborů protokolu.
- ocas – Chcete-li zobrazit obsah souborů protokolu v reálném čase, když do něj aplikace zapisuje, použijte „tail -f“. Můžete také zobrazit více souborů protokolu současně (pomocí „tail -f“).
- grep – Pokud přesně víte, co v souboru protokolu hledáte, můžete rychle použít příkaz grep pro grep vzor. 15 praktických příkladů grep odstraní všechny vaše výmluvy, proč nepoužíváte grep.
- méně – Příkaz Less je velmi výkonný pro procházení souborů protokolu. Použijte těchto 10 tipů pro méně příkazů, abyste zvládli méně příkazů.