GNU/Linux >> Znalost Linux >  >> Linux

CentOS / RedHat:Průvodce pro začátečníky správou souborů protokolu

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

Pochopení akcí rsyslog

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
mail 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
Pochopení možností filtru rsyslog

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.– Může být konfigurován na hodinové nebo noční bázi pro jakoukoli podezřelou aktivitu. Ve výchozím nastavení se v systému RHEL spouští každou noc a zpráva se posílá e-mailem uživateli root.

Pochopení šablon rsyslog


Linux
  1. Linux – Jak nakonfigurovat soubor Syslog.conf, protokolovat zprávy Iptables do samostatného souboru?

  2. CentOS / RHEL 7:Průvodce firewallem pro začátečníky

  3. Průvodce pro začátečníky ke správě swapového prostoru v Linuxu

  1. Průvodce pro začátečníky k automatickému připojení souborových systémů v CentOS / RHEL

  2. Průvodce pro začátečníky NFS v CentOS / RHEL

  3. Protokol auditu a soubor zpráv se na CentOS/RHEL neotáčejí

  1. Co jsou zprávy „segfault“ v souboru /var/log/messages

  2. CentOS / RHEL:Průvodce cronem pro začátečníky

  3. logrotate nekomprimuje /var/log/messages