夜莺告警数值和使用时序指标排查的值不匹配导致误报警

Viewed 63

1、配置和告警规则如下:
histogram_quantile(0.99, sum(irate(http_server_requests_seconds_bucket{application="mixc-center-member-service"}[2m])) by (le))>3

2、告警触发数值如下:
QTv2eTzBSt.jpg

3、使用时序指标查询结果如下:
image.png
img_v2_5ce4c1ce-903c-4dd6-9517-e146f00a5cfp.jpg

告警规则导致应用监控误报警,有以下几个问题:
1、什么情况下会出现这种情况,监控平台检查无异常
2、如何解决类似误告警的问题

3 Answers

问题大致已经定位,是由于CPU使用率过高,响应数据有延迟,导致时序数据库出现了相同时间戳的数据,数据出现乱序现象,而PromQL的rate/irate有bug,在处理相同时间戳的问题时,会出现异常数据。

image.png

有debug日志吗,可以找一下日志确认下,例如这个 eval

暂时未开启dubug日志,INFO日志如图所示
image.png

方便分享一下你的告警规则不,导出json,从日志上看确实触发值确实是30,会是数据有延迟吗

告警规则在上面提问的第一条就是PromQL告警规则

告警时夜莺监控的后端VMCPU飙升到了96%,响应数据是有延迟,但为什么数据延迟会造成计算出来的值比原来大了100多倍。