This module collects stats from HAProxy. It supports collection from using TCP sockets or HTTP with or without basic authentication.
To configure HAProxy to collect stats, you must enable the stats module, it can be done by enabling a TCP socket, or by adding an HTTP stats frontend.
Metricbeat can collect two metric sets from HAproxy,
is not available when using HTTP stats frontend.
For example, to enable stats reporting via any local IP on port 14567, place
this statement under the
default section of the haproxy config:
stats socket 127.0.0.1:14567
You should use an internal private IP, or secure this with a firewall rule, so that only designated hosts can access this data.
To configure the HTTP stats frontend, a frontend with stats enabled has to be added. For example, to open this frontend to any IP on port 14567 with required authentication add this to the haproxy config:
listen stats bind 0.0.0.0:14567 stats enable stats uri /stats stats auth admin:admin
The HAProxy metricsets were tested with HAProxy 1.6 and are expected to work with all 1.6 versions.
The HAProxy module supports the standard configuration options that are described in Specify which modules to run. Here is an example configuration:
metricbeat.modules: - module: haproxy metricsets: ["info", "stat"] period: 10s hosts: ["tcp://127.0.0.1:14567"]
The following metricsets are available: