【问题标题】:Pushing metrics data to Prometheus将指标数据推送到 Prometheus
【发布时间】:2020-07-02 09:37:41
【问题描述】:

我正在配置 Prometheus 以访问 Spring 启动指标数据。对于某些指标,Prometheus 的 pull 机制还可以,但对于一些自定义指标,我更喜欢基于 push 的机制。

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

【问题讨论】:

    标签: spring-boot prometheus


    【解决方案1】:

    没有。 Prometheus 非常固执己见,它的设计决策之一是禁止将推送作为一种机制进入 Prometheus 本身。

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

    https://github.com/prometheus/pushgateway

    Prometheus 提供了自己的收集器,看起来就像你想要的那样,但是它在推送指标到期时有奇怪的语义(它永远不会这样做,只会用相同的标签)。

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

    总而言之,您可以将一些东西组合在一起以获得接近推送事件的东西。 但是你最好接受拉动模型而不是对抗它。

    【讨论】:

    • 这很可悲,因为无服务器和功能即服务现在变得越来越流行。从 lambdas 推送自定义指标对于 Prometheus 来说是一件很痛苦的事情。
    • 真正的目标是将自定义指标推送到缓存以保持拉取模型。我将来能看到的最佳解决方案是使用自动连接到 prometheus 的时间序列数据存储。 AWS 似乎想通过 TimeStream 和 Prometheus(他们的托管服务)来做到这一点。 zdnet.com/article/…
    猜你喜欢
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 2015-05-26
    相关资源
    最近更新 更多