HAProxy只会记录启动消息

时间:2017-03-31 19:00:01

标签: logging tcp haproxy rsyslog

我试图让HAProxy记录tcp流量我一直没做成功。这是我的confs:

/etc/haproxy/haproxy.cfg

global
    log /var/lib/haproxy/dev/log local0 debug
    chroot /var/lib/haproxy
    maxconn 2000
    user haproxy
    group haproxy

defaults
    log /var/lib/haproxy/dev/log local4 debug
    mode tcp
    option tcplog
    option dontlognull
    retries 3
    option redispatch
    timeout connect 5000
    timeout client 10000
    timeout server 10000

listen sco 0.0.0.0:80
    log /var/lib/haproxy/dev/log local4 debug
    mode tcp
    stats enable
    stats uri /haproxy?stats
    balance roundrobin

cookie SERVERID insert indirect nocache
    server test11 172.21.0.3:8888 check cookie test11
    server test12 172.21.0.2:8888 check cookie test12

/etc/rsyslog.d/49-haproxy.conf

$ModLoad imudp
$UDPServerAddress 127.0.0.1
$UDPServerRun 514

local0.* -/var/log/haproxy/haproxy_0.log
local4.* -/var/log/haproxy/haproxy_4.log
if ($programname == 'haproxy') then -/var/log/haproxy/haproxy.log
& ~

我得到的输出只是代理启动线。

/var/log/haproxy/haproxy.log

Mar 31 18:23:19 74f09d6f9f70 haproxy[27]: Proxy sco started.

/var/log/haproxy/haproxy_4.log

Mar 31 18:23:19 74f09d6f9f70 haproxy[27]: Proxy sco started.

我产生了一些流量。 HAProxy正确地重定向它但不记录任何内容。我想知道发生了什么。

2 个答案:

答案 0 :(得分:0)

您只能登录系统日志服务器而不能登录文件。

查看文档:{​​{3}}

答案 1 :(得分:0)

自从有了

$ModLoad imudp
$UDPServerAddress 127.0.0.1
$UDPServerRun 514

这意味着rsyslog正在127.0.0.1:514上侦听日志消息(否则它将仅读取unix套接字/var/lib/haproxy/dev/log),因此您可以将配置更改为

global
    log 127.0.0.1 local0 debug
    chroot /var/lib/haproxy
    maxconn 2000
    user haproxy
    group haproxy

defaults
    log 127.0.0.1 local4 debug

,它应该可以工作。需要注意的是,使用127.0.0.1的速度要慢于unix套接字dev / log。我还无法回答如何使其与dev / log一起使用,但是我希望这可以弄清楚发生了什么。