
我不知道如何設定 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?stats。我缺什麼?
編輯:我可以使用 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。
我的建議是,您可以將統計腳本移至一個前端或添加一個前端以私下存取統計資料。