【问题标题】:How to graph individual Summary metric instances in Prometheus?如何在 Prometheus 中绘制单个汇总指标实例?
【发布时间】:2017-12-19 21:07:29
【问题描述】:

我正在使用 Prometheus 的 Summary 指标来收集 API 调用的延迟。我没有进行实际的 API 调用,而是简单地调用 Thread.sleep(1000) 来模拟 1 秒的 api 调用延迟值——这使得 Summary 保持 0.01 的值(1 秒的延迟)。但是,例如,如果我在同一分钟内调用 Thread.sleep(1000) 两次,则 Summary 指标的值最终为 0.02(延迟 2 秒),而不是刚刚发生的两个单独的 0.01 延迟实例在同一分钟内发生。我的问题是普罗米修斯查询。我目前使用的 Prometheus 查询是:rate(my_custom_summary_sum[1m])

我的 Prometheus 查询应该是什么,这样我才能看到每个 Thread.sleep(1000) 调用的延迟。截至目前,Summary 指标收集并显示每分钟的总延迟总和。如何显示对Thread.sleep(1000) 的每个个人 调用(即API 请求)的延迟?

private static final Summary mySummary = Summary.build()
                                        .name("my_custom_summary")
                                        .help("This is a custom summary that keeps track of latency")
                                        .register();

Summary.Timer requestTimer = mySummary.startTimer(); //starting timer for mySummary 'Summary' metric
        Thread.sleep(1000); //sleep for one second
        requestTimer.observeDuration(); //record the time elapsed

这是由此查询产生的图表: Prometheus graph

【问题讨论】:

    标签: monitoring latency summary prometheus


    【解决方案1】:

    Prometheus 是一个基于指标的监控系统,它关注整体性能和行为,而不是单个请求。

    您正在寻找的是基于日志的系统,例如 Graylog 或 ELK 堆栈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-03
      • 2019-12-11
      • 1970-01-01
      • 2021-03-16
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多