2009年10月28日水曜日

syslog-ngによるログ監視

羽野さんがnmtcに接続したら、gmailにメールが送信されるようにしよう。

syslog-ngに関するインタビュー
インタビュー:syslog-ng 2.0の開発者Balázs Scheidler氏に聞く - SourceForge.JP Magazine
現行のUnixにおける標準的なシステムイベントのログ記録アプリケーションはsyslogdであるが、その代替ソフトの1つにsyslog-ngというシステムログ記録ツールが存在する。


1-1,eventlogとsyslog-ngのrpmをダウンロード
[root@marutama karino]# wget ftp://ftp.silfreed.net/repo/rhel/5/i386/silfreednet/RPMS/eventlog-0.2.7-2.el5.i386.rpm
[root@marutama karino]# wget ftp://ftp.silfreed.net/repo/rhel/5/i386/silfreednet/RPMS/eventlog-devel-0.2.7-2.el5.i386.rpm
[root@marutama karino]# wget ftp://ftp.silfreed.net/repo/rhel/5/i386/silfreednet/RPMS/syslog-ng-2.1.4-1.el5.i386.rpm
marutamaで実施。

1-2,ソースのダウンロード

Downloads | BalaBit IT Security


nmtcで実施。

2-1,rpmを使ったeventlogとsyslog-ngをインストール(eventlogが先)
[root@marutama karino]# rpm -ivh eventlog-0.2.7-2.el5.i386.rpm
[root@marutama karino]# rpm -ivh syslog-ng-2.1.4-1.el5.i386.rpm
marutamaで実施。

2-2,ソースからのeventlogとsyslog-ngのインストール
KAJUKAJU.net: syslog-ng

syslog-ngのインストール

Linux/syslog-ng - PukiWiki Plus!

nmtcで試してみたが、glib2のエラーでできなかった。(glib2はインストールされている)

3,起動時設定
syslogの停止、起動時syslog off、起動時syslog-ng on
[root@marutama etc]# /etc/init.d/syslog stop
[root@marutama etc]# chkconfig syslog off
[root@marutama etc]# chkconfig syslog-ng on
marutamaで実施。

4-1,syslog-ngクライアント設定
クライアントに1~3を実行
syslog-ngでsyslogメッセージを集中管理 - sous le grand arbre
[root@manager1 ~]# vi /etc/syslog-ng/syslog-ng.conf ... destination d_manager { udp("192.168.0.26"); }; ... log { source(s_sys); filter(f_auth); destination(d_manager); }; ... log { source(s_sys); filter(f_default); destination(d_manager); }; ...


4-2,syslogを使ったクライアント
FreeBSD/syslog-ng - PukiWiki Plus!
# vi /etc/syslog.conf *.* @loghost # vi /etc/hosts 172.16.8.114 syslog-server.itoh.co.jp loghost

nmtcで実施。

5-1,サーバの設定(ホスト名ごとにディレクトリを作成)。
ホストごとにlogが分かれるように、/etc/syslog-ng/syslog-ng.confのdestinationを以下のようにする。
destination d_auth { file("/var/log/$HOST/secure" create_dirs(yes)); };
destination d_mail { file("/var/log/$HOST/maillog" sync(10) create_dirs(yes)); };
マクロやテンプレでsyslog-ngを使い倒す(1/3) - @IT


5-2,サーバの設定(他のホストからのログを受け取るために)。
source s_remo {
 tcp(ip(0.0.0.0)port(514));
 udp(ip(0.0.0.0)port(514));
};
destination d_remo_mesg { file("/var/log/$HOST/messages" create_dirs(yes) ); };
destination d_remo_auth { file("/var/log/$HOST/secure" create_dirs(yes) ); };
destination d_remo_mail { file("/var/log/$HOST/maillog" create_dirs(yes) sync(10) ); };
destination d_remo_spol { file("/var/log/$HOST/spooler" create_dirs(yes) ); };
destination d_remo_boot { file("/var/log/$HOST/boot.log" create_dirs(yes) ); };
destination d_remo_cron { file("/var/log/$HOST/cron" create_dirs(yes) ); };
destination d_remo_kern { file("/var/log/$HOST/kern" create_dirs(yes) ); };
log { source(s_remo); filter(f_kernel); destination(d_remo_kern); };
log { source(s_remo); filter(f_default); destination(d_remo_mesg); };
log { source(s_remo); filter(f_auth); destination(d_remo_auth); };
log { source(s_remo); filter(f_mail); destination(d_remo_mail); };
log { source(s_remo); filter(f_news); destination(d_remo_spol); };
log { source(s_remo); filter(f_boot); destination(d_remo_boot); };
log { source(s_remo); filter(f_cron); destination(d_remo_cron); };
を追加。
[syslog-ng] 他ホストのログを受信する - nullpopopo


5-,構文チェックと再起動
#syslog-ng -s
#/etc/init.d/syslog-ng restart

追記
使用している内に、logrotateが働いていないことが判明。その原因としては、次のリンクがもろ。
シンゴのblog: logrotate が動かなくなる

0 件のコメント:

コメントを投稿