Promotheus-查询以获取事件百分比

时间:2019-06-18 16:06:28

标签: prometheus

我有一个带有路径和状态码的请求直方图...如何在过去一小时内与前一小时相比错误率增加了20%?

一个指标样本:

{instance="someIp",instance_hostname="someHost",job="someAppName",le="+Inf",method="GET",path="somePath",status_code="500"} 

我应该依靠费率功能吗?像这样:

rate(http_request_duration_seconds{job="someProject", status_code="500"}[60m])

1 个答案:

答案 0 :(得分:1)

取过去一小时的错误率与前一小时的错误率之比:

(
  rate(http_request_duration_seconds_count{status_code="500"}[1h])
    /
  rate(http_request_duration_seconds_count{status_code="500"}[1h] offset 1h)
)
  >
1.2

这将检查错误绝对数量是否增加。如果您要检查错误的相对数量是否有所增加(例如,过去一个小时内失败的请求数量为10%,前一个小时失败率为5%),那么在比较之前,您需要将错误率除以总请求率还是1小时前的事情。

或者您可能想将两者结合起来,并在错误的相对数量增加了X%且绝对数量超过某个噪声阈值时发出警报(因此,如果您收到2个以上的请求,则不会触发该阈值)过去一个小时,其中一个失败了。