我正在配置Prometheus以访问Spring引导指标数据。对于某些指标,Prometheus的拉动机制还可以,但对于某些自定义指标,我更喜欢基于推送的机制。
Prometheus允许推送指标数据吗?
答案 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]