【问题标题】:Prometheus : How to collect metrics for memory consumption of temporary processes?Prometheus:如何收集临时进程的内存消耗指标?
【发布时间】:2019-05-12 06:23:11
【问题描述】:

我有一个异步生成不同进程的应用程序。当进程完成时,响应包含进程的详细信息,如消耗的内存等。我想根据输出为每个进程消耗的内存创建指标。 (注意:这意味着我只能在流程完成后更新指标)

Prometheus official document 我发现当值任意上下波动时,Gauge 是此类测量的正确指标。但是使用 Gauge 的问题是度量值永远保留在那里。我只想跟踪该进程在该时刻使用的值。

当我绘制 Grafana 图表时,我看到一条稳定的线,而我只想要一瞬间的激增。任何可以最好地解决这个问题的建议。谢谢!

【问题讨论】:

    标签: java grafana prometheus


    【解决方案1】:

    对于使用 Prometheus 无法正常抓取的短期作业,Prometheus 提供了push gateway,允许您推送指标。

    在您的情况下,您的短期流程会将报告的指标推送到推送网关,而 Prometheus 将处理其余的。

    【讨论】:

    • 感谢@yamenk 的回答。但我知道这个解决方案解决了推送指标的问题。对我来说,发布指标不是问题。问题是指标应该有一个短暂的值并且应该自行重置。因为它代表了一个短暂的实体的价值。
    【解决方案2】:

    到目前为止,这是我的解决方法:

    我创建了一个 Counter 类型的指标,并且我不断将指标值增加一个绝对数(实际消耗的内存)。

    在 Grafana 中,我每 1 分钟显示一次 increase()。

    如果有人有更正确的解决方案,请告诉。

    【讨论】:

      猜你喜欢
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 2018-11-28
      • 2022-06-14
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-01-13
      相关资源
      最近更新 更多