A
szerveren
Azért javaslom a magyar fejlesztésű syslog-ng csomagot,
mert sokoldalúbban konfigurálható, mint a gyárilag a
disztribúcióban lévő sysklogd és klogd csomagok.
Ezek a csomagok ütköznek a felrakni kívánt csomaggal, ezért
ezeket le kell takarítanunk. Ehhez a következő parancsokat kell
kiadnunk:
# apt-get install syslog-ng # dpkg --purge sysklogd klogd # cd /var/log && mkdir GEPEK && chmod 710 GEPEK && chown 0:logcheck GEPEK # /etc/init.d/syslog-ng stop
Mielőtt elindítanánk a syslog-ng-t, a
/etc/syslog-ng könyvtárba másoljuk be az alábbi
konfigurációs állományt.
options { sync(0); time_reopen(10); log_fifo_size(1000);
long_hostnames(off); use_dns(no); use_fqdn(no);
create_dirs(yes); dir_perm(0710); dir_group(logcheck);
keep_hostname(yes); stats_freq(0);
};
source src { unix-stream("/dev/log" max_connections(200));
internal();
tcp(ip(192.168.10.249) port(514) max-connections(10));
file("/proc/kmsg");
};
filter y_postfix { match("postfix"); };
destination syslog { file("/var/log/GEPEK/$SOURCEIP/syslog" perm(0640) group("logcheck") ); };
destination postfix { file("/var/log/GEPEK/$SOURCEIP/postfix" perm(0600) ); };
log { source(src); destination(syslog); };
log { source(src); filter(y_postfix); destination(postfix); };
Lássuk, mi történik a logjainkkal ennek hatására. A
/var/log/GEPEK/$SOURCEIP könyvtárban lévő syslog
fájlba minden log bekerül. A $SOURCEIP változót a
syslog-ng képes kifejteni és a logot küldő gép IP címét
behelyettesíteni. Ezáltal a logokat gyűjtő szerveren minden
gépnek saját könyvtárba kerülnek a logjai, ezzel is követhetőbbé
válik a logolás. A filter y_postfix kezdetű sorban
látható postfix egyezés (match) által meghatározott logok
kerülnek a /var/log/GEPEK/$SOURCEIP könyvtárban lévő
postfix fájlba (de ezek is bekerülnek a
/var/log/GEPEK/$SOURCEIP/syslog fájlba!). A perm
opció azért felel, hogy a létrejövő állomány jogosultságai
0640-ra legyenek beállítva. A group opcióval a létrejövő
állomány csoporttulajdonosát állíthatjuk be. Gyakorlatilag
szétszedhetjük a logokat tetszőleges elvek szerint, a fenti csak
egy példa. Azért javaslom a TCP használatát UDP helyett, mert az
UDP nem megbízható kapcsolat, ezért előfordulhat, hogy elvesznek
logok.
Kosa Attila
2009-03-23