我不知道如何设置 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 *:port
bind*:80,或者您可以将星号替换为您的公共 IP 或安装机器的 IP。
我的建议是,您可以将统计脚本移动到一个前端或添加一个前端来私下访问统计数据。