1)下载syslog-ng可执行文件 syslog-ng-3.2.5-linux-glibc2.3.6-amd64.run
2)安装syslog-ng:
chmod +x syslog-ng-3.2.5-linux-glibc2.3.6-amd64.run
./syslog-ng-3.2.5-linux-glibc2.3.6-amd64.run
选择默认配置即可
3)启动syslog-ng:
/etc/init.d/syslog-ng restart
4)重新加载配置:
/etc/init.d/syslog-ng reload
5)syslog-ng配置样例:
发送端:
source s_access { program("/usr/bin/tail -F /opt/data/logs/access.log 2>/dev/null"); };
destination d_access {tcp( 192.168.0.1 port(5140) so_keepalive(yes));};
log { source(s_access);destination(d_access);};
接送端:
source s_access{ tcp(ip(192.168.0.2), port(5140), so_keepalive(yes)); }; #绑定在本机ip外网地址
destination d_access { file("/data1/logs/access/$YEAR$MONTH$DAY/access_${YEAR}${MONTH}${DAY}_${HOUR}.log",perm(0777),template("$PROGRAM $MSG\n")); };
log{ source(s_access); destination(d_access);};
注意事项:
syslog-ng在使用默认日志格式时,会将日志信息中第一个域(空格分隔)作为日志产生程序名称,所以在使用syslog-ng接受网站日志时,如果不配置接收端的文件模板,syslog-ng会在输出日志中添加时间戳和主机名,并且日志信息中ip地址的后面会添加一个冒号(:)(syslog-ng在输出程序名称时,输出格式为PROGRAM:pid);如果接收端只输出MSG,syslog-ng会将ip地址过滤掉(ip地址被作为程序名称)
6)参考网址:
http://www.campin.net/syslog-ng/expanded-syslog-ng.conf