我有一个带有路径和状态代码的请求直方图...如果过去一小时内的错误比前一小时增加了 20%,我如何发出警报?
一个指标样本:
{instance="someIp",instance_hostname="someHost",job="someAppName",le="+Inf",method="GET",path="somePath",status_code="500"}
Run Code Online (Sandbox Code Playgroud)
我应该依赖速率函数吗?就像是:
rate(http_request_duration_seconds{job="someProject", status_code="500"}[60m])
Run Code Online (Sandbox Code Playgroud)
取过去一小时的错误率与前一小时的错误率之比:
(
rate(http_request_duration_seconds_count{status_code="500"}[1h])
/
rate(http_request_duration_seconds_count{status_code="500"}[1h] offset 1h)
)
>
1.2
Run Code Online (Sandbox Code Playgroud)
这将检查错误绝对数量的增加。如果您想检查错误相对数量的增加(例如,过去一小时内 10% 的请求失败,而前一小时内 5% 的请求失败),那么您需要在比较之前将错误率除以总请求率1小时前同样的事情。
或者您可能想要将两者结合起来,如果相对错误数量增加了 X%,并且绝对数量超过某个噪声阈值,则发出警报(这样,如果您在过去一小时内收到 2 个请求并且其中之一失败了)。
| 归档时间: |
|
| 查看次数: |
2770 次 |
| 最近记录: |