Naplózás

A Unix/Linux szerverek üzemeltetése wikiből
(Változatok közti eltérés)
(v0.01)
(v0.02)
76. sor: 76. sor:
 
* (klogd)
 
* (klogd)
 
** /proc/kmsg
 
** /proc/kmsg
  +
  +
Példa syslog.confra:
  +
  +
<pre>
  +
# /etc/syslog.conf Configuration file for syslogd.
  +
#
  +
# For more information see syslog.conf(5)
  +
# manpage.
  +
  +
#
  +
# First some standard logfiles. Log by facility.
  +
#
  +
  +
auth,authpriv.* /var/log/auth.log
  +
*.*;auth,authpriv.none -/var/log/syslog
  +
#cron.* /var/log/cron.log
  +
daemon.* -/var/log/daemon.log
  +
kern.* -/var/log/kern.log
  +
lpr.* -/var/log/lpr.log
  +
mail.* -/var/log/mail.log
  +
user.* -/var/log/user.log
  +
uucp.* /var/log/uucp.log
  +
  +
#
  +
# Logging for the mail system. Split it up so that
  +
# it is easy to write scripts to parse these files.
  +
#
  +
mail.info -/var/log/mail.info
  +
mail.warn -/var/log/mail.warn
  +
mail.err /var/log/mail.err
  +
  +
# Logging for INN news system
  +
#
  +
news.crit /var/log/news/news.crit
  +
news.err /var/log/news/news.err
  +
news.notice -/var/log/news/news.notice
  +
  +
#
  +
# Some `catch-all' logfiles.
  +
#
  +
*.=debug;\
  +
auth,authpriv.none;\
  +
news.none;mail.none -/var/log/debug
  +
*.=info;*.=notice;*.=warn;\
  +
auth,authpriv.none;\
  +
cron,daemon.none;\
  +
mail,news.none -/var/log/messages
  +
  +
#
  +
# Emergencies are sent to everybody logged in.
  +
#
  +
*.emerg *
  +
  +
#
  +
# I like to have messages displayed on the console, but only on a virtual
  +
# console I usually leave idle.
  +
#
  +
#daemon,mail.*;\
  +
# news.=crit;news.=err;news.=notice;\
  +
# *.=debug;*.=info;\
  +
# *.=notice;*.=warn /dev/tty8
  +
  +
# The named pipe /dev/xconsole is for the `xconsole' utility. To use it,
  +
# you must invoke `xconsole' with the `-file' option:
  +
#
  +
# $ xconsole -file /dev/xconsole [...]
  +
#
  +
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
  +
# busy site..
  +
#
  +
daemon.*;mail.*;\
  +
news.crit;news.err;news.notice;\
  +
*.=debug;*.=info;\
  +
*.=notice;*.=warn |/dev/xconsole
  +
</pre>
   
 
to be continued...
 
to be continued...

A lap 2006. október 20., 09:41-kori változata

Általában naplózni akarunk minden, a rendszer szempontjából fontos eseményt. A naplózással kapcsolatban a következő - részben filozófiai - kérdéseket kell feltennünk magunknak:

  1. Mit akarunk naplózni?
    • Az "esemény" tetszőlegesen szűken vagy tágan értelmezhető; lehet "kicsi" vagy "nagy"; tartozhat hozzá sok vagy kevés információ:
      • "Elmozdult az egér"
      • "A 42-es PID-jú folyamat TERM signal hatására kilépett"
      • "Új ARP-bejegyzést helyeztünk el az ARP-táblában"
      • "A gonosz crackerek betörtek és az összes adatot ellopták"
      • "Minden rendben van"
      • "Megint eltelt 10 perc"
      • "Belépett valaki ssh-val"
      • "Józsi belépett ssh-val"
      • "Józsi ma este 8-kor belépett ssh-val az 1.2.3.4-ről"
      • "Józsi ma este 8-kor belépett ssh-val az 1.2.3.4-ről, de általában a 2.3.4.5-ről szokott belépni"
      • "Józsi ma este 8-kor belépett ssh-val az 1.2.3.4-ről, de általában csak munkaidőben lép be (99%), a 2.3.4.5-ről (95%)"
      • stb.
  2. Mi a célunk a naplózással? (Ez befolyásolja, mi lesz az "esemény".)
    • Biztonsági audit
      • Pl.: ssh log, filesystem audit trail
    • Teljesítmény-finomhangolás előkészítése
      • Pl.: vmstat
    • A rendszer állapotváltozásainak nyomon követése későbbi reprodukálhatóság vagy visszacsinálhatóság érdekében
      • Pl.: dpkg.log
    • Értesülés a rendszer működését veszélyeztető eseményekről, folyamatokról
      • Pl.: kernellog, smartmontools logjai
    • Üzleti döntések támogatása
      • Pl.: apache accesslog
    • Utólagos diagnosztika megkönnyítése
      • Pl.: ppp log, cron log, maillog, udev log, általában a "debug" típusú logok, ...
    • Szolgáltatások használati profiljának feltérképezése
      • Pl.: dnscache query log
    • Accounting
      • Pl.: CUPS page log
    • Személyes
      • irclog, IM log
    • Csak úgy, majd csak jó lesz valamire
      • Pl.: mp3lejátszó által lejátszott számok naplója
  3. Mihez fogunk kezdeni a naplóval?
    • Csak legyen, egyszer majd talán belenézünk
    • Adatokat bányászunk belőle (pl. accesslogból)
      • "Mely országokból jöttek azok a felhasználók, akik az X és az Y terméket is megnézték, de utána a Z-t vették meg?"
      • "Azok közül, akik a promócióban terjesztett URL-re ellátogatnak, hányan vásárolnak később a webshopban?"
      • "Vásárlóink hány százalékát teszik ki a Linux-felhasználók?"
      • "A múlt havi promóció melyik országban volt a legsikeresebb?"
      • "Hányan jöttek vissza az oldalunkra a promóciót követő három hónapon belül kettőnél többször?"
      • "Melyik user melyik napszakban honnan szokott be-ssh-zni? Volt-e bárkinél számottevő eltérés ettől a profiltól? (Mi a számottevő?)"
      • "Milyen folyamatok futottak akkor, amikor a 300-as load-tüskét mértük?"
      • Stb.
    • Policy-konformanciát ellenőrzünk (ha nem tudjuk vagy akarjuk eleve kikényszeríteni)
      • "Tényleg nem játszott éjfél után a gyerek?" :)
      • "Igaz-e, hogy csak a munkával összefüggő weboldalakat nézegetnek az alkalmazottak?"
      • "Igaz-e, hogy Gipsz Jakab csak az ebédszünetben foglalkozott magánlevelezéssel?"
      • "Igaz-e, hogy Gáz Géza autóbuszvezető csak a kijelölt útvonalon közlekedik a gondjaira bízott Ikarus-szal, vagy taxizgat is vele?"
      • "Tényleg nem futtatott senki p2p filecserélőt a Schönherzben?"
    • Gyanús mintákat keresünk benne
    • Tároljuk, mert muszáj (törvényi előírás)
    • Átadjuk az ügyfélnek
      • Aki majd mit csinál vele?
      • Erős lehet a kísértés a kozmetikázásra
        • Sose fizessünk marketingcéget a visszatérő userek száma alapján...
    • Időnként szabad szemmel beleolvasunk
    • Célzottan keresünk benne
      • "Kik voltak belépve múlt kedden este 6 és 8 között?"
    • Stb.

Naplózóprogramok

Sok van.

Rendszernaplóra legelterjedtebb:

  • syslog
  • syslog-ng
  • socklog+svlogd
  • (klogd)
    • /proc/kmsg

Példa syslog.confra:

#  /etc/syslog.conf  Configuration file for syslogd.
#
#       For more information see syslog.conf(5)
#       manpage.

#
# First some standard logfiles.  Log by facility.
#

auth,authpriv.*      /var/log/auth.log
*.*;auth,authpriv.none  -/var/log/syslog
#cron.*         /var/log/cron.log
daemon.*        -/var/log/daemon.log
kern.*         -/var/log/kern.log
lpr.*          -/var/log/lpr.log
mail.*         -/var/log/mail.log
user.*         -/var/log/user.log
uucp.*         /var/log/uucp.log

#
# Logging for the mail system.  Split it up so that
# it is easy to write scripts to parse these files.
#
mail.info       -/var/log/mail.info
mail.warn       -/var/log/mail.warn
mail.err        /var/log/mail.err

# Logging for INN news system
#
news.crit       /var/log/news/news.crit
news.err        /var/log/news/news.err
news.notice     -/var/log/news/news.notice

#
# Some `catch-all' logfiles.
#
*.=debug;\
  auth,authpriv.none;\
  news.none;mail.none -/var/log/debug
*.=info;*.=notice;*.=warn;\
  auth,authpriv.none;\
  cron,daemon.none;\
  mail,news.none     -/var/log/messages

#
# Emergencies are sent to everybody logged in.
#
*.emerg         *

#
# I like to have messages displayed on the console, but only on a virtual
# console I usually leave idle.
#
#daemon,mail.*;\
# news.=crit;news.=err;news.=notice;\
# *.=debug;*.=info;\
# *.=notice;*.=warn  /dev/tty8

# The named pipe /dev/xconsole is for the `xconsole' utility.  To use it,
# you must invoke `xconsole' with the `-file' option:
# 
#    $ xconsole -file /dev/xconsole [...]
#
# NOTE: adjust the list below, or you'll go crazy if you have a reasonably
#      busy site..
#
daemon.*;mail.*;\
  news.crit;news.err;news.notice;\
  *.=debug;*.=info;\
  *.=notice;*.=warn  |/dev/xconsole

to be continued...

Személyes eszközök