RSYSLOG 参数配置错误导致磁盘爆满

问题:

   在将应用程序日志通过rsyslog服务推送到远程日志服务器上时,在几小时之后发现磁盘大量消耗,并发现/var/log/messages 文件超过10G。会什么会这样呢?


配置如下:


RSYSLOG 参数配置错误导致磁盘爆满

注意最后两行的发送规则:

programname == '${APP_NAME}' then @@XXX:PORT;logline_${APP_NAME}

if \$programname == '${APP_NAME}' then stop


实验发现if \$programname == '${APP_NAME}' then stop 他会不停的将access_log.log文件内容写入到/var/log/messages(centos),导致系统日志文件不停增长。


解决办法:

将最后一条规则修改:

将if \$programname == '${APP_NAME}' then stop

修改为:

if \$programname == '${APP_NAME}' then ~  (注意“~”中文字符)


在rsyslog中"~" 表示将匹配到的项目字符丢弃,不会被再次记录到系统日志文件中。


配置修改后需重启rsyslog服务。

上一篇:最简单也最难——如何获取到Android控件的高度


下一篇:MySQL怎样实现可重复读写?