将指标数据推送到 Prometheus

Man*_*oid 7 spring-boot prometheus

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

Prometheus 是否允许推送指标数据?

Sau*_*rya 8

不。Prometheus 非常固执己见,它的设计决策之一是不允许将推送作为 Prometheus 本身的一种机制。

解决这个问题的方法是推送到中间存储并允许 Prometheus 从那里抓取数据。这并不有趣,并且需要考虑您想要以多快的速度耗尽数据以及如何使用时间戳将数据传递到 Prometheus - 为此我必须覆盖 Prometheus 客户端库。

https://github.com/prometheus/pushgateway

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

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

总而言之,您可以将一些东西组合在一起以获得接近推送事件的东西。但拥抱拉动模型比对抗它要好得多。

  • 随着无服务器和功能即服务现在变得越来越流行,这是令人悲伤的。对于 Prometheus 来说,从 lambda 推送自定义指标是一件痛苦的事情。 (3认同)