Simple server that scrapes HAProxy stats and exports them via HTTP for Prometheus consumption
Clone or download
simonpasquier and grobie promu: fix ldflags for Go modules (#138)
Signed-off-by: Simon Pasquier <>
Latest commit 6100744 Nov 29, 2018

HAProxy Exporter for Prometheus

This is a simple server that scrapes HAProxy stats and exports them via HTTP for Prometheus consumption.

Getting Started

To run it:

./haproxy_exporter [flags]

Help on flags:

./haproxy_exporter --help

For more information check the source code documentation. All of the core developers are accessible via the Prometheus Developers mailinglist.


HTTP stats URL

Specify custom URLs for the HAProxy stats port using the --haproxy.scrape-uri flag. For example, if you have set stats uri /baz,

haproxy_exporter --haproxy.scrape-uri="http://localhost:5000/baz?stats;csv"

Or to scrape a remote host:

haproxy_exporter --haproxy.scrape-uri=";csv"

Note that the ;csv is mandatory (and needs to be quoted).

If your stats port is protected by basic auth, add the credentials to the scrape URL:

haproxy_exporter  --haproxy.scrape-uri=";csv"

You can also scrape HTTPS URLs. Certificate validation is enabled by default, but you can disable it using the --haproxy.ssl-verify=false flag:

haproxy_exporter --no-haproxy.ssl-verify --haproxy.scrape-uri=";csv"

Unix Sockets

As alternative to localhost HTTP a stats socket can be used. Enable the stats socket in HAProxy with for example:

stats socket /run/haproxy/admin.sock mode 660 level admin

The scrape URL uses the 'unix:' scheme:

haproxy_exporter --haproxy.scrape-uri=unix:/run/haproxy/admin.sock


Docker Repository on Quay Docker Pulls

To run the haproxy exporter as a Docker container, run:

docker run -p 9101:9101 --haproxy.scrape-uri=";csv"


Go Report Card Code Climate


make build


Build Status CircleCI

make test


Apache License 2.0, see LICENSE.