opendistro-build icon indicating copy to clipboard operation
opendistro-build copied to clipboard

Feature Request - Prometheus Integration

Open ryn9 opened this issue 3 years ago • 7 comments

Is your feature request related to a problem? Please describe. N/A

Describe the solution you'd like

Please reference https://discuss.opendistrocommunity.dev/t/feature-request-prometheus-integration/4073

A somewhat popular use-case for Elasticsearch, and other time-series data stores, is long term metric storage of metrics gathered by Prometheus.

See “Prometheus Integrations” for some examples: https://prometheus.io/docs/operating/integrations/

In particular, Elastic supports gathering Prometheus-gathered metrics via the remote_write feature in metricbeat: https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-metricset-prometheus-remote_write.html

That said - many of the aforementioned solution patterns do not support remote_read, nor do they have a way to continue to query the data using PromQL, the Prometheus querying language.

I would like to request three features to promote OpenDistro as a premiere datastore for Prometheus collected metrics.

Feature 1:

Add native support for PromQL and the querying api. This feature could likely be largely cloned from Prometheus source code - which is licensed under the Apache License 2.0 license. There would likely need to be adjustments to accommodate index schemas, security features, and obviously using Elasticsearch as the datastore instead of the normal Prometheus database.

Feature 2:

As part of the Feature 1, you would likely need to create a Prometheus remote_read adapter. It would be beneficial to the community if this adapter were made more generic, and separately available, thus allowing generic Prometheus to use OpenDistro via the remote_read adapter.

This should help better promote OpenDistro among the Prometheus community and should help drive adoption of OpenDistro as a long term metric store.

Feature 3:

While there are a number of ways data could get pipelined to OpenDistro from the Prometheus ecosystem (eg. the metricbeat method described above), to really push OpenDistro ahead, it should directly support ingestion of metrics via Prometheus’s remote_write mechanism.

Describe alternatives you've considered N/A

Additional context N/A

ryn9 avatar Oct 31 '20 18:10 ryn9

Thanks @ryn9 We are looking into this requirement and will get back to you once we have updates.

vrphanse avatar Nov 03 '20 19:11 vrphanse

Many thanks. I look forward to hearing from you.

ryn9 avatar Nov 03 '20 19:11 ryn9

@vrphanse is there any more details you would like to help provide clarity for this request?

ryn9 avatar Nov 10 '20 18:11 ryn9

sorry to ask again - @vrphanse is there any more details you would like to help provide clarity for this request?

ryn9 avatar Nov 30 '20 18:11 ryn9

Here is how bitnami handle it

https://github.com/bitnami/charts/tree/master/bitnami/elasticsearch

maxisam avatar Apr 13 '21 17:04 maxisam

Here is how bitnami handle it

https://github.com/bitnami/charts/tree/master/bitnami/elasticsearch

Forgive me - I do not see how what was shared here applies ...

ryn9 avatar Apr 13 '21 17:04 ryn9

they have metric part. You can just roll yours just like it. If Open distro works like elasticsearch, it should work. I am using eck and they don't have metric part either. And bitnami's exporter works perfectly with eck.

maxisam avatar Apr 14 '21 22:04 maxisam