pmdahaproxy is a Performance Metrics Domain Agent (PMDA) which extracts live performance data from HAProxy statistics socket or URL.
By default the HAProxy stats socket is used to retrieve the metric but if the optional URL option is set (see below), then the HAProxy URL is used instead.
See the HAProxy documentation for detailed description of each metric.
pmdahaproxy reads an optional ini-style configuration file
This file can contain in its [pmda] section overriding values for the following PMDA options:
By default, root and /var/lib/haproxy/stats, are used as values for these options, respectively.
The section can also contain the following parameters:
When the url option is defined, URL connection to HAProxy is used. pmdahaproxy expects CSV data from the HAProxy URL; an example of a compatible URL is http://127.0.0.1:9000/?stats;csv.
Note that the HAProxy statistics socket and/or URL need to be separately enabled in the HAProxy configuration file; please refer to the HAProxy configuration documentation for details. Depending on system and HAProxy configuration, using non-root user may also be possible, especially with URL based connections.
Once the needed setup is ready, you can test the connection and install the PMDA to enable access to the names and values for the HAProxy performance metrics. To install, do the following as root:
# cd $PCP_PMDAS_DIR/haproxy # ./connect # ./Install
To uninstall, do the following as root:
# cd $PCP_PMDAS_DIR/haproxy # ./Remove
pmdahaproxy is launched by pmcd(1) and should never be executed directly. The Install and Remove scripts notify pmcd(1) when the agent is installed or removed.
configuration file for the pmdahaproxy agent
connection test helper using the pmdahaproxy agent configuration
installation script for the pmdahaproxy agent
undo installation script for the pmdahaproxy agent
default log file for messages from the pmdahaproxy agent
Environment variables with the prefix PCP_ are used to parameterize the file and directory names used by PCP. On each installation, the file /etc/pcp.conf contains the local values for these variables. The $PCP_CONF variable may be used to specify an alternative configuration file, as described in pcp.conf(5).
PCPIntro(1), haproxy(1) and pmcd(1).