我有两个HAProxy实例.两个实例都启用了统计信息并且工作正常.
我试图将两个实例的统计数据合并为一个,以便我可以使用单个HAProxy来查看前/后端统计信息.我试图在两个haproxy实例的同一端口上使用stats监听器,但这不起作用.我已尝试使用套接字接口,但这仅报告其中一个接口.
有任何想法吗?
我的一个haproxy配置文件如下所示:
global
daemon
maxconn 256
log 127.0.0.1 local0 debug
log-tag haproxy
stats socket /tmp/haproxy
defaults
log global
mode http
timeout connect 5000ms
timeout client 50000ms
timeout server 50000ms
frontend http-in
bind *:8000
default_backend servers
log global
option httplog clf
backend servers
balance roundrobin
server ws8001 localhost:8001
server ws8002 localhost:8002
log global
listen admin
bind *:7000
stats enable
stats uri /
Run Code Online (Sandbox Code Playgroud)
除了前/后端服务器IP不同之外,其他haproxy配置是相同的.
虽然也许不是这个具体问题的确切答案,但我已经看到了这样的问题,我认为值得回答.
当运行nbproc大于1时,Stack Exchange人员有一个独特的解决方案.他们有一个listen接收SSL流量然后使用send-proxy的部分127.0.0.1:80.然后他们有一个127.0.0.1:80像这样绑定的前端:bind 127.0.0.1:80 accept-proxy.然后在那个前端内部绑定该前端,例如bind-process 1在全局部分中执行以下操作:
global
stats socket /var/run/haproxy-t1.stat level admin
stats bind-process 1
Run Code Online (Sandbox Code Playgroud)
这样做的好处是,它们可以获得多个用于SSL卸载的核心,然后是一个专用于负载平衡流量的核心.所有流量最终都流经这个前端,因此他们可以准确地测量该前端的统计数据.
这是行不通的。Haproxy 将每个进程中的统计数据分开。它没有能力组合多个进程的统计数据。
也就是说,您当然可以自由使用外部监控工具,例如(munin、Graphite 甚至 nagios),它们可以聚合来自多个统计套接字的 CSV 数据并将其显示在统一的图表中。然而,这些工具超出了核心 haproxy 的范围。
| 归档时间: |
|
| 查看次数: |
9087 次 |
| 最近记录: |