我只想保存后端请求日志以及在haproxy中重启haproxy服务, 这是我的haproxy的配置。
[appadmin@sltxh5gvt4c rsyslog.d]$ cat /etc/rsyslog.conf
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Save haproxy log
local3.* /var/log/haproxylog/haproxy.log
# Save keepalived log
local2.* /var/log/keepalived/keepalived.log
++++++++++这是haproxy.cfg
defaults
option forwardfor
log global
option httplog
log 127.0.0.1 local3
frontend case3
bind :80
mode http
log global
option httpclose
timeout client 5000
acl sabrix path_beg -i /sabrix
acl geolink path_beg -i /axis2
use_backend sabrix_servers if sabrix
use_backend us_geolink if geolink
capture request header Host len 64
capture request header User-Agent len 128
capture request header X-Forwarded-For len 100
capture request header Referer len 200
capture response header Server len 40
capture response header Server-ID len 40
log-format %ci:%cp\ %si:%sp\ %ST\ %r\ %b\ %f\ %bi\
++++++++++++++++++++++++++ haproxy.log
2020-06-14T23:33:36+08:00 localhost haproxy[27891]: 10.12.12.12:42164 -:- 400 <BADREQ> case3 case3 -
2020-06-14T23:33:42+08:00 localhost haproxy[27891]: 10.12.12.12:42204 -:- 400 <BADREQ> case3 case3 -
2020-06-14T23:33:48+08:00 localhost haproxy[27891]: 10.12.12.12:42244 -:- 400 <BADREQ> case3 case3 -
我不想在haproxy.log中保存此类日志,如何更改我的配置文件?
谢谢
答案 0 :(得分:0)
您不能在haproxy中执行此操作,丢弃此日志行的最佳方法是使用rsyslog。
:msg, contains, "BADREQ" ~
此文档中有有关丢弃不需要的消息的更多信息。
https://www.rsyslog.com/discarding-unwanted-messages/
这看起来类似于这个问题。
rsyslog filtering and forwarding
答案 1 :(得分:0)
我试图编辑/etc/rsyslog.conf
# ignore BADREQ in haproxy.log
:msg, contains, "BADREQ" /var/log/haproxylog/haproxy.log
或
# ignore BADREQ in haproxy.log
:msg, contains, "BADREQ" stop
两者都不起作用。
我检查了haproxy.cfg,我得到了答案,我们只需要添加
选项dontlognull
到haproxy.cfg