HAProxy日志重复记录messages和错误输出到终端的优化

发表时间:2020-05-12 0:34 | 分类:Linux | 浏览:163 次

前一篇文章介绍了haproxy日志配置的方法,但是使用过程碰到两个问题。第一个日志会重复记录到/var/log/messages和/var/log/haproxy.log两个文件,第二个haproxy打开check检查,后端服务器关闭后会有错误日志输出到终端。

例如:

“Message from syslogd@zhangn.com at Jul 9 14:39:18 ... haproxy[4403]: backend server1 has no server available!”。

一开始博主一直在haproxy中找相关文档的配置,但其实这两个问题都是rsyslog错误配置引起的。

日志重复记录

打开/var/log/messages日志,发现大量haproxy的info级别日志被重复记录。打开rsyslog的配置文件 /etc/rsyslog.conf,发现类似如下行:

*.info;mail.none;authpriv.none;cron.none        /var/log/messages

*.info:表示所有设备的info级别日志都会记录到messages,所以就难怪会重复记录haproxy日志了。那么可以通过修改这条规则来排除haproxy设备的记录。

*.info;mail.none;authpriv.none;cron.none;local3.!info        /var/log/messages

假设haproxy日志设备名是local3,那么local3.!info就会把haproxy的日志排除。重复记录的问题解决。

错误日志输出到终端

这个问题其实很影响使用体验,你可能好好的在终端输入命令,突然跳出一句“Message from syslogd@zhangn.com at Jul 9 14:39:18 ... haproxy[4403]: backend server1 has no server available!”,只能ctrl+c了。那么应该如何关闭haproxy错误日志输出到console终端呢?其实还是rsyslog的配置。

依然打开 /etc/rsyslog.conf,找到

# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*

omusrmsg会通知紧急消息给所有用户,参考:https://www.rsyslog.com/doc/v8-stable/configuration/modules/omusrmsg.html,所以当haproxy后端server无法访问的时候,就会通过emerg紧急级别通知到终端用户。

如果你和我一样不想这样被打开,那么可以把错误日志写入到messages中,例如:

# Everybody gets emergency messages
#*.emerg                                                 :omusrmsg:*
*.emerg                                                 /var/log/messages

最后,修改完两处配置后,重启rsyslog服务后即可生效。

haproxy日志开启配置:https://zhangnq.com/3256.html

本文标签:

本文链接:https://zhangnq.com/3258.html

欢迎您在本博客中留下评论,如需转载原创文章请注明出处,谢谢!

下一篇:这篇已经是最新的文章!
上一篇:
一键脚本 博客历程 留言联系 文章归档 网站地图 谷歌地图 浙ICP备13025236号-4
托管于阿里云&七牛云 浙公网安备 33021202001057号
Copyright © 2010-2020 章郎虫博客 All Rights Reserved.