将指标数据推送到Prometheus

时间:2020-07-02 09:37:41

标签: spring-boot prometheus

我正在配置Prometheus以访问Spring引导指标数据。对于某些指标,Prometheus的拉动机制还可以,但对于某些自定义指标,我更喜欢基于推送的机制。

Prometheus允许推送指标数据吗?

2 个答案:

答案 0 :(得分:1)

不。 Prometheus很有主见,其设计决策之一就是不允许将推送作为一种机制引入Prometheus本身。

解决此问题的方法是推入中间存储区,并允许Prometheus从那里存储数据。这不好玩,并且需要考虑要多快地耗尽数据以及如何使用时间戳将数据传递到Prometheus中-为此,我不得不覆盖Prometheus客户端库。

https://github.com/prometheus/pushgateway

Prometheus提供了自己的收集器,在该收集器上看起来就像您想要的那样,但是当推送的指标过期时,它具有怪异的语义(它从不这样做,只会用新的数据点覆盖它们的值)相同的标签)。

他们明确表示非常,不希望将其用于推送指标。

总而言之,您可以将某些东西混在一起,以获得与推送事件接近的东西。 但是,与拉力模型相比,接受拉力模型要好得多。

答案 1 :(得分:-1)

是的

我们可以通过API查询Prometheus数据。以查询名为“ CPU”的指标的数据为例,可以使用以下API;

http://prom_server:9090/api/v1/query?query=cpu

或者如果您需要过去1个小时的数据,请添加[1h]或[1m]等过滤器。

http://prom_server:9090/api/v1/query?query=cpu[1h]

您可以查看Prometheus json metrics