Démon systémového protokolu je zodpovědný za protokolování systémových zpráv generovaných aplikacemi nebo jádrem. Démon systémového protokolu také podporuje vzdálené protokolování. Zprávy jsou rozlišeny podle zařízení a priority. V zásadě jsou protokoly zpracovávané syslogem dostupné v adresáři /var/log/ v systému Linux:
# ls /var/log acpid cron.1 maillog.3 rpmpkgs.3 spooler.3 anaconda.log cron.2 maillog.4 rpmpkgs.4 spooler.4 anaconda.syslog cron.3 messages sa squid anaconda.xlog cron.4 messages.1 samba tallylog audit cups messages.2 scrollkeeper.log vbox boot.log dmesg messages.3 secure wtmp boot.log.1 faillog messages.4 secure.1 Xorg.0.log boot.log.2 gdm oracle-validated secure.2 Xorg.0.log.old boot.log.3 httpd pm secure.3 YaST2 boot.log.4 lastlog ppp secure.4 yum.log btmp mail prelink setroubleshoot conman maillog rpmpkgs spooler conman.old maillog.1 rpmpkgs.1 spooler.1 cron maillog.2 rpmpkgs.2 spooler.2
kde jsou některé protokoly uloženy v podadresáři jako cups, samba, httpd. Mezi protokoly pod /var/log je /var/log/messages nejběžnější, protože tam jsou uloženy protokoly jádra / jádra systému. Moduly jádra se tam také obecně ukládají. Pro diagnostiku/monitorování problémů je tedy primární soubor protokolu k prozkoumání /var/log/messages.
Démon/služba systémového protokolu a jeho konfigurační soubor se liší v závislosti na použité verzi Linuxu, tj.:
RHEL 5: syslogd - /etc/syslog.conf RHEL 6: rsyslogd - /etc/rsyslog.conf
Rsyslog
Rsyslog je nový logovací démon spouštějící RHEL6, aby konkuroval starému syslog-ng démonu. Několik výhod, které démon rsyslog poskytuje oproti syslog-ng, je:
1. Spolehlivé sítě
– Rsyslog používá TCP místo UDP, což je spolehlivější. TCP využívá možnosti potvrzování a opětovného přenosu.
– s démonem Rsyslog můžete zadat více cílových hostitelů/souborů pro doručování zpráv, pokud rsyslogd není schopen doručit zprávu do příslušného cíle.
2. Přesnost
– je možné filtrovat zprávy podle kterékoli části zprávy protokolu spíše než podle priority zprávy a původního zařízení.
– podpora přesných časových razítek pro protokolování zpráv, které démon syslog.
3. Další funkce
– šifrování TLS
– možnost přihlášení k databázím SQL.
rsyslog.conf
Konfigurační soubor – /etc/rsyslog.conf neboť ke zpracování všech zpráv se používá démon rsyslogd. Konfigurační soubor v podstatě poskytuje příkazy pravidel, které zase poskytují 2 věci:
1. Selektory– jaké zprávy mají odpovídat.
– volič se skládá z funkce a priority oddělené tečkou (.) (např. mail.info)
2. akce
– co dělat se shodnými zprávami
– obvykle cíl pro protokolování zprávy (soubor na místním počítači nebo vzdáleném hostiteli)
Selektory a akce
Selektory se skládají ze 2 věcí, zařízení a priorit. Určují, které zprávy mají odpovídat. Pole akce určuje, jaká akce se má použít na odpovídající zprávu. Například:
kern.debug /var/log/kernlog
– Zprávy se zařízením kernel a priority debug se zaznamenávají do souboru /var/log/kernlog.
– Příkazy priority jsou hierarchické v selektorech. Rsyslog porovnává všechny zprávy se zadanou prioritou a vyšší. Proto jsou protokolovány všechny zprávy z jádra s prioritou ladění a vyšší. Ladění má nejnižší prioritu, všechny zprávy s jádrem zařízení se shodují.
– Dalším způsobem, jak toho dosáhnout, je použít hvězdičku (*). Například:
kern.* /var/log/kernlog
– více selektorů lze zadat na jednom řádku odděleném středníkem. To je užitečné, když je třeba použít stejnou akci na více zpráv.
– když je soubor uveden v poli akce, odpovídající zprávy se zapíší do souboru.
– Mohou existovat další zařízení, jako je FIFO , terminál atd., do kterého budou zprávy zapisovány.
– Pokud je v poli akce uvedeno uživatelské jméno, vytisknou se odpovídající zprávy uživatelům na všech terminálech, pokud jsou přihlášeni.
– (*) v pole akce určuje
Zařízení
Zařízení se používá k určení, který typ programu nebo aplikace generuje zprávu. Démonovi syslog tak umožníte pracovat s různými zdroji odlišně. Níže uvedená tabulka uvádí standardní vybavení a jejich popis:
Zařízení | Popis |
---|---|
auth/authpriv | bezpečnostní/autorizační zprávy (soukromé) |
cron | démon hodin (zprávy crond a atd) |
démon | zprávy od systémových démonů bez samostatného zařízení |
kern | zprávy jádra |
local0 – local7 | rezervováno pro místní použití |
lpr | subsystém řádkové tiskárny |
zprávy od poštovních démonů | |
novinky | Zpravodajský subsystém USENET |
syslog | zprávy generované interně démonem systémového protokolu |
uživatel | obecné zprávy na uživatelské úrovni |
uucp | Podsystém UUCP |
Priorita
Priorita zprávy znamená důležitost této zprávy. Tabulka níže uvádí standardní priority a jejich význam:
Priorita | Popis |
---|---|
emerg | systém je nepoužitelný |
upozornění | musí být okamžitě přijata opatření |
crit | kritické podmínky |
chyba | chybové stavy |
varování | podmínky varování |
upozornění | normální, ale významný význam |
informace | informační zprávy |
ladění | ladící zprávy |
Otočení protokolu
Soubory protokolů se v průběhu času pravidelně zvětšují, a proto je třeba je pravidelně ořezávat. Linux poskytuje nástroj pro poskytování této funkce bez zásahu uživatele. logrotát program lze použít k automatizaci rotace souboru protokolu. Základní konfigurace logrotate se provádí v konfiguračním souboru /etc/logrotate.conf . V konfiguračním souboru můžeme nastavit možnosti jako – jak často se mají protokoly střídat a kolik starých protokolů se má uchovávat.
# cat /etc/logrotate.conf weekly rotate 4 create include /etc/logrotate.d /var/log/wtmp { monthly minsize 1M create 0664 root utmp rotate 1 }
Podle výše uvedeného konfiguračního souboru logrotate se protokoly střídají každý týden (přejmenování stávajícího protokolu na název_souboru.číslo pořadí):
min. velikost 1M – logrotate spustí a ořízne soubory zpráv, pokud je velikost souboru rovna nebo větší než 1 MB.
rotate 4 – při otáčení ponechat poslední 4 soubory.
vytvořit – vytvořit nový soubor při otáčení se zadaným oprávněním a vlastnictvím.
zahrnout – zahrnout zde uvedené soubory pro nastavení rotace protokolů specifických pro démony.
# ls -l /var/log/messages* -rw------- 1 root root 1973 Jun 10 15:07 /var/log/messages -rw------- 1 root root 10866 Jun 6 04:02 /var/log/messages.1 -rw------- 1 root root 19931 May 30 04:02 /var/log/messages.2 -rw------- 1 root root 238772 May 23 04:02 /var/log/messages.3 -rw------- 1 root root 171450 May 14 18:29 /var/log/messages.4
– Démon logrotate čte především veškerou konfiguraci ze souboru /etc/logrotate.conf a poté zahrnuje konfigurační soubory specifické pro démona z /etc/logrotate.d/ adresář.
– Démon logrotate spolu s rotací a odstraňováním starých protokolů umožňuje kompresi souborů protokolu.
– Démon se denně spouští z /etc/cron.daily/logrotate.
Logwatch
– Systémy RHEL jsou také dodávány s balíčky logwatch.
– Logwatch se používá k analýze protokolů k identifikaci jakýchkoli zajímavých zpráv.
– Logwatch lze nakonfigurovat tak, aby analyzovaly soubory protokolů z oblíbených služeb a výsledky pro správce e-mailu.