在haproxy中禁用非后端请求和非haproxy重新启动日志

时间:2020-06-14 15:46:49

标签: haproxy

我只想保存后端请求日志以及在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中保存此类日志,如何更改我的配置文件?

谢谢

2 个答案:

答案 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

相关问题