Syslog je obecný standard pro protokolování systémových a programových zpráv v prostředí Linuxu. Tato služba představuje démona systémového logu, kde každý program může provádět své protokolování (ladění, zabezpečení, normální provoz) prostřednictvím zpráv linuxového jádra.
V zásadě jsou protokoly zpracovávané syslogem dostupné v adresáři /var/log/ v systému Linux:
# ls /var/log boot.log cloud-init-output.log firewalld maillog rhsm tallylog anaconda btmp cron gdm maillog-20151219 samba tuned audit btmp-20151219 cron-20151219 grubby messages secure wpa_supplicant.log auth.log choose_repo.log dmesg grubby_prune_debug messages-20151219 secure-20151219 wtmp yum.log chrony dmesg.old lastlog pm-powersave.log spooler xrdp.log
kde jsou některé protokoly uloženy v podadresáři jako cups, samba, httpd. Mezi protokoly pod /var/log /var/log/messages je 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.
Protokoly se střídají každý týden (přejmenování existujícího protokolu na název_souboru.číslo pořadí):
# 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
týdenní rotovaný soubor protokolu je odstraněn po uplynutí 4 týdnů (celkové protokoly zabírají dobu 5 týdnů). Tento rotační mechanismus zajišťuje crond a logrotate.
Existuje také rsyslogd poskytovaný balíčkem rsyslog, což je spolehlivější a rozšířená verze syslogd. Pro více informací si nainstalujte balíček rsyslog a zkontrolujte manuálovou stránku rsyslogd.
Řízení služeb
Chcete-li spustit službu syslog, použijte některý z níže uvedených příkazů:
# service syslog start # /etc/init.d/syslog start
Chcete-li zastavit službu syslog, použijte některý z níže uvedených příkazů:
# service syslog stop # /etc/init.d/syslog stop
Chcete-li zobrazit úroveň běhu a dostupnost služby, spusťte:
# chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Pokud je služba zakázána, můžete ji povolit pomocí:
# chkconfig --list syslog syslog 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig syslog on # chkconfig --list syslog syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Konfigurace
Konfigurační soubor pro službu syslogd je /etc/sysconfig/syslog . Výchozí soubor je následující:
# Options to syslogd # -m 0 disables 'MARK' messages. # -r enables logging from remote machines # -x disables DNS lookups on messages recieved with -r # See syslogd(8) for more details SYSLOGD_OPTIONS="-m 0" # Options to klogd # -2 prints all kernel oops messages twice; once for klogd to decode, and # once for processing with 'ksymoops' # -x disables all klogd processing of oops messages entirely # See klogd(8) for more details KLOGD_OPTIONS="-x" # SYSLOG_UMASK=077 # set this to a umask value to use for all log files as in umask(1). # By default, all permissions are removed for "group" and "other".
Zde vidíte dvě různé skupiny možností pro:
klogd – Kernel Log Daemon :Toto je démon, který zachycuje zprávy z linuxového jádra a zapisuje je do souborů.
syslogd – Démon systémových protokolů :Jiné zachycení a protokolování zpráv.
Výchozí konfigurační soubor uvádí některé možnosti, které můžeme dále popsat:
syslogd options:
- interval -m :Každý minutový interval vložte řádek s „MARK“. „-m 0“ zcela zakáže „MARK“
- -r :Používá se k povolení zařízení přijímat zprávy ze sítě pomocí soketu internetové domény se službou syslog.
- -x :Při příchodu protokolů ze sítě (přes volbu -r) budou ve vytvořených protokolech uvedeny zdrojové adresy. Adresy je třeba vyhledat v DNS. Pokud dochází k příliš častému vzdálenému protokolování (a obecně tomu tak je, když je problém na vzdáleném místě), není preferováno trávit čas vyhledáváním DNS. Tuto možnost lze použít k zakázání vyhledávání DNS.
- -S :podrobné protokolování
- -d :režim ladění pro syslogd
možnosti klogd:
- -2 :Vytiskněte řádky jednou s nezpracovaným textem a ještě jednou s adresami převedenými na symboly. To by bylo potřeba, aby ksymoops prováděl zpracování původních dat.
- -x :Neprovádějte překlad EIP (pro OOPS), abyste nepřečetli soubor System.map (zvýšená rychlost výpisu)
- -d :režim ladění pro klogd
- -c n :Výchozí úroveň protokolu zpráv konzoly
umask :SYSLOG_UMASK řídí výchozí přístupová oprávnění / oprávnění pro generované soubory protokolu.