Especialistas em Haproxy,
Não consigo fazer com que a página de estatísticas haproxy funcione com o modo TCP para os back-ends.
global
log 127.0.0.1 local2
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000
user haproxy
group haproxy
daemon
stats socket /var/lib/haproxy/stats
defaults
mode tcp
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000
stats enable
stats hide-version
stats refresh 30s
stats show-node
stats auth admin:xxxxxxxxxxxxxxxxx
stats uri /haproxy?stats
frontend main
listen stats
bind *:5000
mode tcp
default_backend app
backend app
balance roundrobin
#backends
server server1 xxx.xxx.xxx.xxx:10222 check
server server2 xxx.xxx.xxx.xxx:34013 check
O HAproxy requer um ouvinte no modo HTTP para a página de estatísticas, ponto final. Se você deseja estatísticas, precisa ter ou criar uma.
Isso pode ser implementado com
listen
uma seção simples sem nenhum back-end real, se você não tiver nenhum back-end HTTP ou se desejar que a página de estatísticas não seja vinculada a nenhum ouvinte HTTP existente.Remova todas as linhas relacionadas a estatísticas dos padrões e crie uma
listen
seção individual apenas para as estatísticas, onde você coloca todas essas linhas:Remova também sua
listen stats
linha logo apósfrontend main
. O que ele faz atualmente é encerrar a seção "frontend"main
(que está vazia e possui apenas padrões), criar uma nova seção "listen"stats
e aplicar as seguintes linhas a ela. Tenho certeza que não é isso que você quer.