Haproxy статистика для нескольких друзей - PullRequest
0 голосов
/ 14 сентября 2018

Я настроил haproxy с тремя интерфейсами: http7001, http7002 и http7003, используя один и тот же бэкэнд в конфиге статистика включена как:

listen stats *:9001
mode http
stats enable
stats realm Haproxy\ Statistics
stats uri /haproxy_stats
stats auth admin:admin

каждый раз, когда я захожу на страницу haproxy_stats через браузер (для обычного html) или curl (для csv), я получаю статистику внешнего интерфейса только для одного из настроенных внешних интерфейсов (случайным образом http7001 или http7002 или http7003) Например:

откос # 1

http7001, FRONTEND ,,, 0,18,2000,162045,858272517,3395311531,0,0,307 ,,,,, ОТКРЫТЫЙ ,,,,,,,,, 1,1,0 ,,,, 0, 1,0,101 ,,,, 0,150399,5097,990,5742,18,, 1,101,162246 ,,, 0,0,0,0 ,,,,,, ,,

Ответ # 2

http7003, FRONTEND ,,, 0,38,2000,213336,1306426186,3217983292,0,0,315 ,,,,, ОТКРЫТЫЙ ,,,,,,,,, 3,3,0 ,,,, 0, 0,0,103 ,,,, 0,200323,6419,863,5839,48,, 0,103,213492 ,,, 0,0,0,0 ,,,,,,,,

Пытался поискать в Интернете, как получить статистику для всех настроенных веб-интерфейсов сразу или указать, для какого веб-интерфейса нужно получать статистику в отправляемом запросе, но не нашел буквально ничего, что могло бы быть показателем того, что я ' Я делаю что-то в корне неправильно ... хотя три интерфейса, указывающие на одну и ту же конфигурацию сервера, не выглядят для меня слишком экзотично и работают на отлично.

1 Ответ

0 голосов
/ 15 сентября 2018

Обнаружено в Объединить статистику HAProxy? , что "Haproxy хранит статистику отдельно в каждом процессе. У него нет возможности объединять статистику нескольких процессов" И это был именно мой случай.Каждый интерфейс имеет свой собственный настроенный процесс

frontend http7001
bind-process 1

frontend http7002
bind-process 2

frontend http7003
bind-process 3

Так что в качестве решения я настроил три конечные точки для доступа к соответствующей статистике интерфейса

listen stats1 *:9001
mode http
bind-process 1
stats enable
... 

listen stats2 *:9002
mode http
bind-process 2
stats enable
...

listen stats3 *:9003
mode http
bind-process 3
stats enable
...

Теперь я могу получить доступ к статистике каждого интерфейса отдельно

...