Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prometheus-exporter support #94

Closed
DENDarkness opened this issue Jun 24, 2019 · 3 comments

Comments

Projects
None yet
3 participants
@DENDarkness
Copy link

commented Jun 24, 2019

Add the "contrib/prometheus-exporter/service-prometheus.o" module to the dockerfile for the default build
https://www.haproxy.com/blog/haproxy-exposes-a-prometheus-metrics-endpoint/#comment-144482

@tianon

This comment has been minimized.

Copy link
Member

commented Jun 24, 2019

The fact that it lives under contrib/... is a little off-putting from an "upstream supports and recommends using this" perspective -- is there something more official than that blog post which recommends we enable this for official builds / production installations? Perhaps some bit of official documentation for HAproxy itself?

@DENDarkness

This comment has been minimized.

Copy link
Author

commented Jun 25, 2019

I saw this in a blog and I think it will simplify the monitoring of the product in kubernetes
https://github.com/prometheus/haproxy_exporter

@yosifkit

This comment has been minimized.

Copy link
Member

commented Jun 26, 2019

I think it makes sense to compile it in (since it doesn't look like it can be added later).

  • it was a blog post on haproxy.com by a Senior Systems Engineer
  • debian has enabled it
  • gentoo has a build flag for it
  • it has to be turned on via config anyway, so its existence shouldn't impact performance

contrib/prometheus-exporter/README:

This service has been developed as a third-party component because it could
become obsolete, depending on how much time Prometheus will remain heavily
used. This is said with no ulterior motive of course. Prometheus is a great
software and I hope all the well for it. But we involve in a environment moving
quickly and a solution may be obvious today could be deprecated the next
year. And because PROMEX is not integrated by default into the HAProxy codebase,
it will need some interest to be actively supported. All contribution of any
kind are welcome.

You must also be careful if you use with huge configurations. Unlike the stats
applet, all metrics are not grouped by service (proxy, listener or server). With
PROMEX, all lines for a given metric are provided as one single group. So
instead of collecting all metrics for a proxy before moving to the next one, we
must loop on all proxies for each metric. Same for the servers. Thus, it will
spend much more ressources to produce the Prometheus metrics than the CSV export
through the stats page. To give a comparison order, quick benchmarks shown that
a PROMEX dump is 5x slower and 20x more verbose than a CSV export.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.