位置: IT常识 - 正文

syslogng配置(syslog ng)

编辑:rootadmin
绚丽也尘埃 » syslog-ng配置syslog-ng配置March 13th, 2012 绚丽也尘埃 Leave a comment Go to commentssyslog-ng的配置 syslog-ng配置March 13th, 2012 绚丽也尘埃 Leave a comment Go to comments

推荐整理分享syslogng配置(syslog ng),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:syslogd_options,syslogd,sysconfig配置,syslog配置文件详解,sysctl配置,syslog 配置,syslog 配置,syslog-ng配置,内容如对您有帮助,希望把文章链接给更多的朋友!

syslog-ng的配置非常简单直观,于是乎配置好看看怎么用它实时收集日志。有两台服务器,一台服务器盯着error_log文件,一旦发现其有新数据,立即将日志发到另一台收集服务器。

client服务器配置如下。

?123456789#将文件作为srcsource s_blender_error_log {file("/home/admin/kingso/logs/error_log_blender");};#收集到的日志发送给172.25.61.92destination d_blender_error_log { tcp("172.25.61.92" port(514)); };log { source(s_blender_error_log); destination(d_blender_error_log);};

server服务器配置如下。

?0102030405060708091011#监听514端口source s_kingso {tcp(ip(0.0.0.0) port(514));};#设置输入文件及其相关的属性destination d_kingso {file("/home/admin/error.log" owner(admin) group(admin) perm(0755));};log { source(s_kingso); destination(d_kingso); };

最后收集到的日志如下。

?1Mar 13 20:32:56 s061090.cm5 moximoximoximoximoxisyslogng配置(syslog ng)

syslog-ng有一个很有意思的功能,那就是在destination里面支持program,可以对符合条件的日志支持操作,比如报警等等。下面这个配置会将所有包含error的日志输出到一个指定的文件中。为了提高性能,建议这个程序从标准输入读入数据,如果没有数据就阻塞等待,不要轻易退出。

?123destination d_kingso {program("grep error >> /tmp/eerroorr.log");};

filter支持内容过滤,比如要把服务器上所有core信息都收集到一台服务器上,只要判断kern信息中是否有segfault就可以,配置如下。

?1234filter f_kingso_core {facility(kern) andmatch("segfault" value("MESSAGE"));}

如果要用syslog-ng收集大集群的日志,需要设置下max-connections这个参数,它的默认值是10,实在是太小了。如果不改这个配置,netstat会出现syslog-ng导致的大量TIME_WAIT。将其放大之后,可以算一下ESTABLISHED的链接数是不是和集群服务器数量相同。

syslog-ng服务器默认情况下收集到的日志是:”Apr 1 17:42:33 hostname blabla”。月份后面可能有一个空格(大于10号)也可能有两个空格(小于10号),这样对消息的切分就会有问题,这个时候必须通过template来规范消息的格式。syslog-ng支持定义一个template模版,以后的template都可以使用改模版,非常方便。下面这个配置就是program和file两个destination共用一个t_kingso模版。

?123456template t_kingso { template("$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC\t$FULLHOST\t$MSGHDR$MSG\n"); };destination d_kingso_blender {program("exec python -u /home/henshao/log_monitor/log_monitor.py -c /home/henshao/log_monitor/log_monitor.conf -m blender >> /tmp/log_monitor.log 2>&1" template(t_kingso) );file( "/home/admin/logs/blender.log.$S_YEAR-$S_MONTH-$S_DAY" create_dirs(yes) owner(admin) group(admin) perm(0755) template(t_kingso) );};

我发现RHEL5上默认安装了syslogd、syslog-ng和rsyslog。syslogd历史最为悠久,wikipedia上的资料上讲它当初是sendmail项目的一部分,因为非常有用,所以逐渐成为所有unix-like系统的标准组件。syslog-ng则是syslogd的升级版本,是一个公司开发的,除了开源免费版还有收费的高级版,有一篇不错的文章: 专访syslog-ng 2.0开发人员Balazs Scheidler。rsyslog则最为年轻,作者想做一个log系统和syslog-ng竞争。

推荐一些不错的资料。

1、Syslog-ng

2、syslog-ng v2.0 reference manual

本文链接地址:https://www.jiuchutong.com/zhishi/313343.html 转载请保留说明!

上一篇:Building a HTTP Proxy

下一篇:phpcms发送邮件失败怎么办(php发邮件系统源码)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络