如何设置 HAProxy 的统计数据?

如何设置 HAProxy 的统计数据?

我不知道如何设置 HAProxy 的统计数据。

这是我的配置:

global
    log 127.0.0.1 local0
    log 127.0.0.1 local1 notice
    daemon
    #debug
    user haproxy
    group haproxy
    maxconn 4096

    stats socket /tmp/haproxy

defaults
    log global
    mode tcp
    option tcplog
    option dontlognull
    option redispatch
    option clitcpka
    option srvtcpka
    option tcpka
    retries 3
    maxconn 2000
    contimeout 10000
    clitimeout 50000
    srvtimeout 50000

    stats enable
    stats hide-version
    stats scope .
    stats realm Haproxy\ Statistics
    stats uri /haproxy?stats
    stats auth xxxxx:xxxxx

    option contstats

listen rtmp :1935
    mode tcp
    balance roundrobin

    server s1 xxx.xxx.xxx.xxx:1935 check
    server s2 xxx.xxx.xxx.xxx:1935 check

据我了解,手册中应该有一个统计页面,可通过http://mysite/haproxy?统计。我遗漏了什么?

编辑:我可以使用 socat 访问统计数据,但是不是使用网络浏览器。

答案1

那是不对的。应该有一个统计页面http://yoursite.com:1935/haproxy?stats

为了克服这个问题,添加另一个听众-

listen stats
    bind :1936
    mode http
    stats enable
    stats hide-version
    stats realm Haproxy\ Statistics
    stats uri /
    stats auth Username:Password

然后转到http://yoursite.com:1936/并登录。

确保您的防火墙没有在端口 1936 上阻止此请求(您可以将其更改为任何您喜欢的值)

根据用户建议,对于较新版本的 HAProxy,我已将绑定移至listen stats块中

答案2

这对我来说是这样的:

listen stats
    bind :9000

或者

listen stats
    bind 10.100.86.150:9000

答案3

在新版本的 haproxy(>1.6)中,您必须将模式设置为,http而不是tcp(默认)config : 'stats' statement ignored for frontend 'http-in' as it requires HTTP mode.

答案4

您需要添加脚本,例如bind *:portbind*:80,或者您可以将星号替换为您的公共 IP 或安装机器的 IP。

我的建议是,您可以将统计脚本移动到一个前端或添加一个前端来私下访问统计数据。

相关内容