Rendszernaplók

Az operációs rendszerek naplózási feladataiknak ellátását saját naplózó rendszereikkel végzik. Linuxokon ez a syslog. Több megvalósítása is van: syslog, rsyslog, syslog-ng.

A logger paranccsal írhatunk a logfájlokba:

logger "Hello"

A log üzenet megjelenik a logfájlban.

Apr 25 14:49:11 columbo root: Hello

Súlyosság:

0:

Emergency

1:

Critical

2:

Error

3:

Warning

4:

Notice

5:

Informational

6:

Debug

Facility:

0:

Kern

1:

User

2:

Mail

16:

local0

23:

local7

Alkalmazása:

logger -p local0.notice "Hello"

A log rendszer működését a /etc/rsyslog.d/50-default.conf fájlban tanulmányozhatod. Saját konfig fájl létrehozásához ne a meglevő fájlokat módosítsd, hanem egy újat hozz létre pl. így: /etc/rsyslog.d/50-custom.conf

mail.info -/var/log/custom-mail.log
kern.*    -/var/log/custom-kernel.log

A módosítás után újra kell indítani az rsyslog daemont:

systemctl restart rsyslog

További példák:

kern.*    -/var/log/custom-kernel.log
*.*       /dev/tty12
local7.*  /var/log/my-app.log

# Logolás másik gépre
mail.*    @192.168.10.254:514
*. *      @logserver.ekke.hu:514
# Log üzenetek fogadása más szerverről
$AllowedSender TCP, 127.0.0.1, 192.168.5.0/24

Logrotate

A logfájlokat rendszeres időközönként célszerű rotálni, hogy elkerüljük a diszkek betelését. Erre kész program van, a logrotate. A /etc/logrotate.d/my-app fájl tartalma:

/var/log/my-app.log {
  su syslog adm
  rotate 12
  daily
  compress
  missingok
  notifempty
  create 644 syslog adm
  postrotate
    echo "OK" >/tmp/logr.txt
  endscript
}

Ellenőrzése:

logrotate --force my-app