HAProxy Exporter for Prometheus
This is a simple server that periodically scrapes HAProxy stats and exports them via HTTP/JSON for Prometheus
consumption.
To run it:
go run haproxy_exporter [flags]
Help on flags:
go run haproxy_exporter --help
Getting Started
Testing
Custom HAProxy 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://user:pass@localhost:5000/baz?stats;csv"
Or to scrape a remote host
haproxy_exporter -haproxy.scrape-uri="http://haproxy.example.com/haproxy?stats;csv"
Note that the ;csv
is mandatory (and needs to be quoted).
Basic Auth
If your stats port is protected by basic auth, add the credentials to the scrape URL:
haproxy_exporter -haproxy.scrape-uri="http://user:pass@haproxy.example.com/haproxy?stats;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
To run the haproxy exporter as a Docker container, run:
$ docker run -p 9101:9101 prom/haproxy-exporter -haproxy.scrape-uri="http://user:pass@haproxy.example.com/haproxy?stats;csv"