HAProxy 模块

编辑

此模块从 HAProxy 收集统计信息。它支持从 TCP 套接字、UNIX 套接字或带有或不带有基本身份验证的 HTTP 进行收集。

Metricbeat 可以从 HAProxy 收集两个指标集:infostat。当使用统计信息页面时,info 不可用。

配置 HAProxy 以收集统计信息

编辑

在使用 Metricbeat 收集统计信息之前,您必须在 HAProxy 中启用统计信息模块。您可以通过以下几种方式执行此操作:配置 HAProxy 通过 TCP 或 UNIX 套接字报告统计信息,或启用统计信息页面。

TCP 套接字

编辑

要启用通过端口 14567 上任何本地 IP 报告统计信息,请将以下行添加到 HAProxy 配置的 globaldefault 部分

 stats socket 127.0.0.1:14567

您应该使用内部专用 IP,或使用防火墙规则保护此 IP,以便只有指定的主机才能访问此数据。

UNIX 套接字

编辑

要启用通过 UNIX 套接字报告统计信息,请将以下行添加到 HAProxy 配置的 globaldefault 部分

 stats socket /path/to/haproxy.sock mode 660 level admin

统计信息页面

编辑

要启用 HAProxy 统计信息页面,请将以下行添加到 HAProxy 配置中,然后重新启动 HAProxy。在此示例中,身份验证后,任何 IP 都可以在端口 14567 上访问统计信息页面。

 listen stats
   bind 0.0.0.0:14567
   stats enable
   stats uri /stats
   stats auth admin:admin

兼容性

编辑

HAProxy 指标集已通过 1.6 到 1.8 版本的 HAProxy 测试。

示例配置

HAProxy 模块支持 模块 中描述的标准配置选项。这是一个示例配置

metricbeat.modules:
- module: haproxy
  metricsets: ["info", "stat"]
  period: 10s
  # TCP socket, UNIX socket, or HTTP address where HAProxy stats are reported
  # TCP socket
  hosts: ["tcp://127.0.0.1:14567"]
  # UNIX socket
  #hosts: ["unix:///path/to/haproxy.sock"]
  # Stats page
  #hosts: ["http://127.0.0.1:14567"]
  username : "admin"
  password : "admin"
  enabled: true

当使用 SSL 中描述的 ssl 配置字段时,此模块支持 TLS 连接。它还支持 标准 HTTP 配置选项 中描述的选项。

指标集

可以使用以下指标集