Syslog
A HupWiki-ből...
Tartalomjegyzék |
Rendszernaplózó (démon)
- Unix alapú rendszerek naplózásért felelős mechanizmusa. Feladata a rendszerben történő események feljegyzése. Hogy ez pontosan hogy történjen, részletesen be lehet állítani a syslog.conf ( /etc/syslog.conf ) fájlban.
- Alapesetben a /var/log könyvtárba történik a naplózás. Így egy helyen megtalálhatók a naplók, ami sokkal átláthatóbbá teheti a rendszert.
- Az egyes programoknak nem kell kötelezően a központi rendszernaplózót használnia, fenntarthatnak külön fájlokat (az átláthatóság rovására, esetleg speciális igények végett ). A syslogd alapból a /dev/log socketen várja az üzeneteket, de képes más gépek üzeneteit is naplózni az UDP 514-es portról ( ehhez -r kapcsolóval kell indítani ). A kernel viszont nem írja az üzeneteit a /dev/log-ra, ezért van egy külön kernel naplózó ( klogd ), ami a syslog-nak küldi a kernelüzeneteket.
- Minden üzenet tartalmaz információt az üzenet típusáról és prioritásáról. A rendszernaplózó ezek alapján tudja később eldönteni, hogy hova kerüljön az üzenet.
Syslog.conf:
- Minden sor tartalmaz egy filtert (típus/prioritás) és egy célt ahova küldi a kiválasztott üzeneteket. Minden üzenet minden sorral össze lesz vetve.
- Pl.
mail.*/var/log/mail.log
- A mail típusú, tetszőleges prioritású üzeneteket a /var/log/mail.log fájlba írja.
- A syslogd egyik nagy hátránya, hogy csak az előredefiniált típusokat/prioritásokat tudja kezelni.
Típusok
- auth, auth-priv, daemon, kern, mark, user, local0, local1, …, local7, none, *
===Prioritások=== (növekvő sorrendben):
- debug, info, notice, warning, err, crit, alert, emerg
- Ha egy filterben egy prioritás van megadva, akkor az a megadott prioritásra és a nagyobbakra is vonatkozik:
mail.warning mail tipusú warning, err, crit, alert, emerg prioritású üzenetek
- A filterekben megadhatunk helyetesitő kifejezéseket is:
auth.=notice auth típusú, és notice prioritású üzenetek auth.!=notice auth típusú, és nem notice prioritású üzenetek auth.* minden auth típusú üzenet ( == auth.notice ) *.err bármilyen típus err prioritás *.* minden üzenet
Célok:
- A naplót általában fájlba írjuk, azonban az üzeneteket tovább küldhetjük egy másik gépen futó naplózónak is, vagy akár egy csőbe ( named pipe ) is írhatjuk.
auth.notice /var/log/messages a /var/log/messages fájlhoz füzi az üzenetet. auth.notice @10.0.0.1 a 10.0.0.1 es gépre küldi az üzenetet. auth.notice |/tmp/pipe a /tmp/pipe csőbe küldi az üzenetet.
- Nagy forgalomnál zavaró a lehet hogy minden üzenetet egyenként írunk fájlba
auth.notice -/var/log/messages a – hatására blokkonként lesz kiírva.
- Lehetőség van egyetlen sorba több filtert is irni:
auth,user.=notice;kern.* /var/log/messages
- az auth és user típusú, és notice prioritású üzeneteket, valamint minden kernel üzenetet a /var/log/messages fájlba ír.
Debug:
- Ha nem várt viselkedést tapasztalunk, szegiséget nyújthat a logger parancs:
- logger -p típus.prioritás üzenet