micrometer-metrics / micrometer

An application observability facade for the most popular observability tools. Think SLF4J, but for observability.
https://micrometer.io
Apache License 2.0
4.47k stars 990 forks source link

Support push metrics to prometheus from prometheus remote write #2666

Closed liangyuanpeng closed 3 years ago

liangyuanpeng commented 3 years ago

Please describe the feature request.

Push metrics to prometheus. Just like push metrics to influxDB.

Rationale

We just want to use Prometheus instead of InfluxDB and Many systems support Prometheus Write,

Additional context

Prometheus has supported Remote since 2.25.

Thanks for your working and any reply!

shakuzen commented 3 years ago

Thank you for the request. I was trying to find some documentation on the feature you mentioned. As far as I can tell, it is the one that was implemented as https://github.com/prometheus/prometheus/issues/8307, which has a very brief mention in the Prometheus storage documentation. The issue linked to a design document that contains the following under the "Non-Goals" section:

Client libraries and users code should not push to this API; only agents that implement scraping (such as Prometheus) should write to this.

If I've found the same feature you meant, it sounds like it is intended for federation of Prometheus servers and receiving Prometheus data from an intermediary that does scraping. It doesn't sound like it would be appropriate for Micrometer to write to this endpoint, although perhaps it could work in theory.

Is the above the same feature in Prometheus you are referring to? Is there an example of something else using this remote write receiver?

liangyuanpeng commented 3 years ago

Sorry for my late.

Yes,That is what i want.Actually, i use victoriametrics ( like prometheus cluster) for prometheus remote write to store my IOT data.

I want to use the same storage for metrics (now, i push my metrics for influxdb).

Implementing prometheus remote write does not mean using prometheus, but it gives users more choices.

valyala commented 3 years ago

@liangyuanpeng , you can push data from micrometer to VictoriaMetrics via other supported protocols - InfluxDB line protocol, Graphite, OpenTSDB, etc.

liangyuanpeng commented 3 years ago

@valyala I'm useing prometheus remote write API for push data to VictoriaMetrics, thanks for your reply. And this issue is talk about push metrics to VictoriaMetrics (prometheus remote write ), I just implemented this part myself.