天天看点

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

<b>问题:</b>

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

<b></b>

配置如下:

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),导致系统日志文件不停增长。

<b>解决办法:</b>

将最后一条规则修改:

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

修改为:

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

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

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

继续阅读