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