Wie richte ich Statistiken für HAProxy ein?

Wie richte ich Statistiken für HAProxy ein?

Ich kann nicht herausfinden, wie ich Statistiken für HAProxy einrichte.

Dies ist meine Konfiguration:

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

Soweit ich das Handbuch verstehe, sollte es eine Statistikseite geben überhttp://mysite/haproxy?stats. Was vermisse ich?

BEARBEITEN:Ich kann die Statistiken mit socat abrufen, abernichtmit einem Webbrowser.

Antwort1

Das ist nicht richtig. Es gäbe eine Statistikseite aufhttp://yoursite.com:1935/haproxy?stats

Um dies zu umgehen, fügen Sie einen weiteren Listener hinzu.

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

Dann geh zuhttp://yoursite.com:1936/und melden Sie sich an.

Stellen Sie sicher, dass Ihre Firewall diese Anfrage auf Port 1936 nicht blockiert (Sie können dies beliebig ändern).

Gemäß den Benutzervorschlägen habe ich für neuere Versionen von HAProxy die Bindung in den listen statsBlock verschoben

Antwort2

Das hat bei mir geholfen:

listen stats
    bind :9000

oder

listen stats
    bind 10.100.86.150:9000

Antwort3

In neuen Versionen von haproxy (>1.6) müssen Sie den Modus auf httpstatt tcp(Standard) auf setzen.config : 'stats' statement ignored for frontend 'http-in' as it requires HTTP mode.

Antwort4

Sie müssen ein Skript wie bind *:portbeispielsweise bind*:80 hinzufügen oder das Sternsymbol durch Ihre öffentliche IP oder die IP des installierten Computers ersetzen.

Vorschlag von mir: Sie können das Statistikskript auf ein Frontend verschieben oder ein Frontend hinzufügen, um privat auf Statistiken zuzugreifen.

verwandte Informationen