par*_*nza 1 alert prometheus anomaly-detection
我有以下表达:
(avg_over_time(my_metrics{service_name="aService"}[5m])) - (avg_over_time(my_metrics{service_name="aService"}[48h])) / (stddev_over_time(my_metrics{service_name="aService"}[48h]))
Run Code Online (Sandbox Code Playgroud)
每隔 48 小时检测一次异常情况。我正在努力理解如何编写在检测到异常时发出的警报。或者我完全错了,这已经可以使用了,因为当检测到异常时它会触发?
谢谢
尝试以下查询来获取警报:
abs(
avg_over_time(my_metrics{service_name="aService"}[5m])
-
avg_over_time(my_metrics{service_name="aService"}[48h])
)
/ stddev_over_time(my_metrics{service_name="aService"}[48h])
> 3
Run Code Online (Sandbox Code Playgroud)
当过去 5 分钟的平均系列值超过过去 48 小时的平均系列值超过过去 48 小时内标准差的 3 倍时,它将发出警报(例如,将返回非空值)。换句话说,如果它的z-score超过 3。在上面的查询末尾很容易调整阈值。它设置为 3,但您可以将其更改为任何所需的值。
| 归档时间: |
|
| 查看次数: |
2366 次 |
| 最近记录: |