Como configurar estatísticas para HAProxy?

Como configurar estatísticas para HAProxy?

Não consigo descobrir como configurar estatísticas para o HAProxy.

Esta é a minha configuração:

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

Pelo que entendi do manual, deve haver uma página de estatísticas disponível viahttp://meusite/haproxy?stats. o que estou perdendo?

EDITAR:Posso acessar as estatísticas com socat, masnãocom um navegador da web.

Responder1

Isso não está correto. Haveria uma página de estatísticas emhttp://seusite.com:1935/haproxy?stats

Para superar isso, adicione outro ouvinte-

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

Então vá parahttp://seusite.com:1936/e faça login.

Certifique-se de que seu firewall não esteja bloqueando esta solicitação na porta 1936 (você pode alterar para o que quiser)

De acordo com as sugestões do usuário, para versões mais recentes do HAProxy movi o vínculo para o listen statsbloco

Responder2

Isso fez isso por mim:

listen stats
    bind :9000

ou

listen stats
    bind 10.100.86.150:9000

Responder3

Nas novas versões do haproxy (>1.6), você deve definir o modo em httpvez de tcp(padrão) paraconfig : 'stats' statement ignored for frontend 'http-in' as it requires HTTP mode.

Responder4

você precisa adicionar um script como, bind *:portpor exemplo, bind*:80 ou pode substituir o símbolo de estrela pelo seu ip público ou ip da máquina instalada.

sugestão minha, você pode mover o script de estatísticas para um frontend ou adicionar um frontend para acessar estatísticas de forma privada.

informação relacionada