【发布时间】:2020-07-02 09:37:41
【问题描述】:
我正在配置 Prometheus 以访问 Spring 启动指标数据。对于某些指标,Prometheus 的 pull 机制还可以,但对于一些自定义指标,我更喜欢基于 push 的机制。
Prometheus 是否允许推送指标数据?
【问题讨论】:
我正在配置 Prometheus 以访问 Spring 启动指标数据。对于某些指标,Prometheus 的 pull 机制还可以,但对于一些自定义指标,我更喜欢基于 push 的机制。
Prometheus 是否允许推送指标数据?
【问题讨论】:
没有。 Prometheus 非常固执己见,它的设计决策之一是禁止将推送作为一种机制进入 Prometheus 本身。
解决此问题的方法是推入中间存储并允许 Prometheus 从那里抓取数据。这并不有趣,并且需要考虑您希望以多快的速度耗尽数据以及如何使用时间戳将数据传递到 Prometheus ——为此我不得不重写 Prometheus 客户端库。
https://github.com/prometheus/pushgateway
Prometheus 提供了自己的收集器,看起来就像你想要的那样,但是它在推送指标到期时有奇怪的语义(它永远不会这样做,只会用相同的标签)。
他们非常明确表示不希望将其用于推送的指标。
总而言之,您可以将一些东西组合在一起以获得接近推送事件的东西。 但是你最好接受拉动模型而不是对抗它。
【讨论】: