ElasticSearch Prometheus Exporter plugin

1,183 views
Skip to first unread message

vin...@compuscene.org

unread,
Dec 4, 2017, 7:25:49 AM12/4/17
to Prometheus Developers
Hi all,

Since many monthes, I personally develop and maintain an ElasticSearch exporter. Unlike other exporters, it's a ES plugin, so metrics are directly provided without third party.

https://github.com/vvanholl/elasticsearch-prometheus-exporter

Instead of :
ES => Exporter => Prometheus

You have :
ES(With plugin) => Prometheus


Reported metrics are all you can fetch with the regular ES URLs :

GET /_cluster/stats
GET /_nodes/stats

Note that since metrics are node specific, you need to install plugin on all ES nodes.

I also designed a Grafana dashboard : https://grafana.com/dashboards/266

Everyday my plugin gains more an more popularity, and people help me improving the code bringing more stability and reliability.

Today I ask the Prometheus team, if it could possible to refer it in the exporters pages of the documentation : https://prometheus.io/docs/instrumenting/exporters/

Thank you in advance

Vincent Van Hollebeke

Brian Brazil

unread,
Dec 4, 2017, 8:17:01 AM12/4/17
to vin...@compuscene.org, Prometheus Developers
Thanks for sharing. A plugin for metrics would be handy for ES.

We try to avoid duplicates in that list, so to replace the existing one you'd need to follow the exporter guidelines at least as well, and should also have a superset of features and a bigger community. This is as we try to rally the community around one project, which makes it easier for both users and developers.

From a quick look at the code cluster, node and nodeid labels are being added to all metrics. These are target labels and should be handled by Prometheus, not come from an exporter. 
You also appear to be using Gauge rather than GaugeMetricFamily.  indices_get_exists_count should not have the _count suffix, as it is a gauge rather than part of a summary. indices_get_exists_time_seconds sounds like a counter rather than a gauge. (Can those be combined into a summary?)
You can remove the jvm metrics, use the default exports that come with the java client for that. Similarly drop the machine-level metrics, the node exporter covers those.

Brian
 


Thank you in advance

Vincent Van Hollebeke

--
You received this message because you are subscribed to the Google Groups "Prometheus Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to prometheus-developers+unsub...@googlegroups.com.
To post to this group, send email to prometheus-developers@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/prometheus-developers/067e3575-45c8-4802-950f-2c8278b75182%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Reply all
Reply to author
Forward
0 new messages