--> syslog-ng的主页:
http://www.balabit.com/network-security/syslog-ng/
需要的软件包:
eventlog-0.2.7-1.el5.x86_64.rpm
syslog-ng-2.1.3-2.el5.x86_64.rpm
你可以到http://rpm.pbone.net/下载与系统对应的rpm包
安装:
rpm -ivh eventlog-0.2.7-1.el5.x86_64.rpm
rpm -ivh syslog-ng-2.1.3-2.el5.x86_64.rpm
server:192.168.11.2
client:192.168.11.1
client上的应用程序将日志发送给本机的syslog,client上的syslog-ng将日志记入本地文件/var/log/inotify.log同时发送一份给server,server将日志保存为var/log/inotify.1.log
syslog-ng的配置文件为:
/etc/syslog-ng/syslog-ng.conf
server端的配置
创建一个源,监听tcp的514端口,最大连接数10
#for network listening
source s_tcp { tcp(ip(192.168.11.2) port(514) max-connections(10)); };
创建一个目的端
destination d_inotify_1 { file("/var/log/inotify/inotify.1.log");};
创建一个过滤器
filter f_inotify_1 { facility(local2) and (host("host1") or host("host1.supersun.biz") or host("192.168.11.1")); };
记入日志
log { source(s_tcp); filter(f_inotify_1);destination(d_inotify_1); };
为了在日志中显示远程主机的IP地址,而不是主机名,可以
options段
keep_hostname (no);
注意不要被下面的配置给覆盖了。
client端的配置:
创建两个目的端,一个日志主机,一个本地文件。
destination d_remote { tcp("192.168.11.2" port(514)); };
destination d_inotify { file("/var/log/inotify.log"); };
创建一个过滤器,过滤local2的日志
filter f_inotify { facility(local2); };
将local2的日志写到本地和日志主机
log { source(s_sys); filter(f_inotify); destination(d_inotify); };
log { source(s_sys); filter(f_inotify); destination(d_remote); };
此处的传日志给日志主机是基于tcp,因此,需要更改/etc/services
syslog 514/tcp
将tcp的514端口改为syslog
启动syslog-ng
service syslog-ng restart
将syslog-ng添加到开机启动中
chkconfig syslog-ng on
chkconfig syslog off
在client端运行以下命令测试一下:
logger -p local2.debug "this is a test"
其他配置示例:
http://www.campin.net/syslog-ng.conf
此处的示例是在信任网络,如果觉得这样不安全,可能使用stunnel进行加密传输,可参考这篇文章:
使用Stunnel保护syslog-ng服务器
http://server.it168.com/server/2007-11-15/200711140845734.shtml
syslog-ng介绍
相关文章

发表评论