47 votes

Comment configurer les statistiques pour HAProxy?

Je n'arrive pas à comprendre comment configurer les statistiques pour HAProxy.

Voici ma configuration :

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

D'après ce que je comprends du manuel, il devrait y avoir une page de statistiques disponible via http://mysite/haproxy?stats. Qu'est-ce que je rate ?

EDIT : Je peux accéder aux statistiques avec socat mais pas avec un navigateur web.

72voto

Andrea Raimondi Points 339

Ce n'est pas correct. Il y aurait une page de statistiques sur http://yoursite.com:1935/haproxy?stats

Pour résoudre ce problème, ajoutez un autre écouteur -

listen stats
    bind :1936
    mode http
    stats enable
    stats hide-version
    stats realm Haproxy\ Statistics
    stats uri /
    stats auth Nom d'utilisateur:Mot de passe

Ensuite, rendez-vous sur http://yoursite.com:1936/ et connectez-vous.

Assurez-vous que votre pare-feu ne bloque pas cette demande sur le port 1936 (vous pouvez le changer comme bon vous semble)

Conformément aux suggestions des utilisateurs, pour les nouvelles versions de HAProxy, j'ai déplacé le bind dans le bloc listen stats

1 votes

Exactement ce dont j'avais besoin. Bravo! :)

0 votes

Actuellement, le port listen stats :1936 ne fonctionne pas et vous devriez utiliser une ligne de liaison séparée bind :1936 pour spécifier le port

7voto

Tadej Points 361

Cela l'a fait pour moi :

listen stats
    bind :9000

ou

listen stats
    bind 10.100.86.150:9000

6voto

zypro Points 153

Dans les nouvelles versions de haproxy (>1.6) vous devez définir le mode à http au lieu de tcp (par défaut) pour config : 'stats' déclaration ignorée pour le frontend 'http-in' car cela nécessite le mode HTTP.

0voto

Vous devez ajouter un script comme bind *:port par exemple bind *:80 ou vous pouvez remplacer le symbole étoile par votre adresse IP publique ou l'adresse IP de la machine sur laquelle il est installé.

ma suggestion, vous pouvez déplacer le script de statistiques vers un frontend unique ou ajouter un frontend pour accéder aux statistiques en privé.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X