bom-d-van / haproxy_exporter

Simple server that scrapes HAProxy stats and exports them via HTTP for Prometheus consumption

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Build Status

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"

About

Simple server that scrapes HAProxy stats and exports them via HTTP for Prometheus consumption

License:Apache License 2.0


Languages

Language:Go 94.6%Language:Makefile 5.4%