
Я не могу понять, как настроить статистику для 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 с установленной машины.
Мое предложение: вы можете переместить скрипт статистики в один интерфейс или добавить один интерфейс для конфиденциального доступа к статистике.