Wie richte ich Statistiken für HAProxy ein?

38

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

Das 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 über http: // mysite / haproxy? Stats eine Statistikseite verfügbar sein . Was vermisse ich?

EDIT: Ich kann mit socat auf die Statistiken zugreifen, aber nicht mit einem Webbrowser.

Jan Deinhard
quelle

Antworten:

64

Das ist nicht richtig. Es würde eine Statistikseite auf http://yoursite.com:1935/haproxy?stats geben

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

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

Gehen Sie dann zu http://yoursite.com:1936/ und melden Sie sich an.

Stellen Sie sicher, dass Ihre Firewall diese Anfrage nicht blockiert.

Chris
quelle
1
genau das, was ich brauchte. ein dickes Lob! :)
Yuval A
5

Das hat es für mich getan:

listen stats
    bind :9000

oder

listen stats
    bind 10.100.86.150:9000
Tadej
quelle
2

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

Zypro
quelle
0

Sie müssen ein Skript wie bind *:portzum Beispiel bind *: 80 hinzufügen oder Sie können das Sternsymbol durch Ihre öffentliche IP-Adresse ersetzen, oder die IP-Adresse von der Maschine ist installiert.

Vorschlag von mir, Sie können das Statistik-Skript auf ein Frontend verschieben oder ein Frontend hinzufügen, um privat auf die Statistiken zuzugreifen.

Raden Sanggrama Wijaya
quelle