Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Mar 8, 2023. It is now read-only.

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

License

NotificationsYou must be signed in to change notification settings

prometheus/haproxy_exporter

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

This exporter is retired

In all supported versions of HAProxy, the official source includes a Prometheus exporter module that can be built into your binary with a single flag during build time and offers a native Prometheus endpoint. For more information seedown below.

Please transition to using the built-in support as soon as possible.

Getting Started

To run it:

./haproxy_exporter [flags]

Help on flags:

./haproxy_exporter --help

For more information check thesource code documentation. All of thecore developers are accessible via the Prometheus Developersmailinglist.

Usage

HTTP stats URL

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

haproxy_exporter --haproxy.scrape-uri="http://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).

If your stats port is protected bybasic auth, add the credentials to thescrape URL:

haproxy_exporter  --haproxy.scrape-uri="http://user:pass@haproxy.example.com/haproxy?stats;csv"

Alternatively, provide the password through a file, so that it does not appear in the processtable or in the output of the/debug/pprof/cmdline profiling service:

echo'--haproxy.scrape-uri=http://user:pass@haproxy.example.com/haproxy?stats;csv'> argshaproxy_exporter @args

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

haproxy_exporter --no-haproxy.ssl-verify --haproxy.scrape-uri="https://haproxy.example.com/haproxy?stats;csv"

If scraping a remote HAProxy must be done via an HTTP proxy, you can enable reading of thestandard$http_proxy /$https_proxy /$no_proxy environment variables by using the--http.proxy-from-env flag (these variables will be ignored otherwise):

export HTTP_PROXY="http://proxy:3128"haproxy_exporter --http.proxy-from-env --haproxy.scrape-uri="http://haproxy.example.com/haproxy?stats;csv"

Unix Sockets

As alternative to localhost HTTP a stats socket can be used. Enable the statssocket 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

Docker Repository on QuayDocker Pulls

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

docker run -p 9101:9101 quay.io/prometheus/haproxy-exporter:latest --haproxy.scrape-uri="http://user:pass@haproxy.example.com/haproxy?stats;csv"

Development

Go Report CardCode Climate

Building

make build

Testing

CircleCI

maketest

TLS and basic authentication

The HAProxy Exporter supports TLS and basic authentication.

To use TLS and/or basic authentication, you need to pass a configuration fileusing the--web.config.file parameter. The format of the file is describedin the exporter-toolkit repository.

License

Apache License 2.0, seeLICENSE.

Alternatives

Official Prometheus exporter

As of 2.0.0, HAProxy includes a Prometheus exporter module that can be built into your binary during build time.For HAProxy 2.4 and higher, pass theUSE_PROMEX flag tomake:

make TARGET=linux-glibc USE_PROMEX=1

Pre-built versions, including theDocker image, typically have this enabled already.

Once built, you can enable and configure the Prometheus endpoint from yourhaproxy.cfg file as a typical frontend:

frontendstats    bind *:8404    http-request use-service prometheus-exporterif { path /metrics }    stats enable    stats uri /stats    stats refresh10s

For more information, seethis official blog post.

About

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

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors40


[8]ページ先頭

©2009-2025 Movatter.jp