【问题标题】:Prometheus ratio with division not working普罗米修斯比率与除法不起作用
【发布时间】:2021-12-28 16:26:43
【问题描述】:

我正在尝试计算一段时间内请求错误的百分比。 如果我没记错的话,这应该给我 1:

sum(sum_over_time(http_client_requests{env=~"env"}))/sum(sum_over_time(http_client_requests{env=~"env"}))

但是我得到了一个超过 200 的随机数。我想我得到了所有 1 的总和,我应该使用平均值还是我做错了什么?

【问题讨论】:

  • 您能否提供一些http_client_requests 的示例值?

标签: prometheus grafana promql


【解决方案1】:

是的,你得到的是所有的总和,如果你将“sum”替换为“avg”(就像你建议的那样),你会得到“1”作为结果。

注意:您的 promql 表达式不正确,“sum_over_time”函数中缺少范围向量选择器(例如:[5h]、[1d] 等)。

【讨论】:

  • 我通常在 grafana 中选择一个时间范围,所以我不必手动设置它
  • 当我将[$__range] 添加到sum_over_time 时,我认为它开始工作了
  • “开始工作”是什么意思?您是在说 Grafana 中选择的时间范围吗?是的,您需要将 [$__range] 添加到表达式中。还是您在谈论原始问题(为什么要“获得超过 200 的随机数”)。
  • 对不起,我错了,它也不起作用。最后我不得不使用一些转换来计算失败请求的全局平均值
猜你喜欢
  • 1970-01-01
  • 2022-01-22
  • 2020-01-03
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 2022-10-17
  • 2022-12-02
  • 2022-12-17
相关资源
最近更新 更多