
首先,得了解告警和恢复的原理,参考官方文档: https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v6/faq/alerting-logic/
对于某个告警规则(假设其归属业务组 A),其 promql 为 cpu_usage_idle < 5 告警,夜莺的告警引擎就会拿着这个 promql 去查时序库,比如查到 10 台机器的 cpu_usage_idle 数据都小于 5 ,于是,时序库返回 10 条数据,进而产生 10 条告警。
时序库并不知道这 10 台机器是归属在哪个业务组的,比如时序库用的是 Prometheus,机器和业务组的关联关系是在夜莺里,是两个不同的系统。所以,时序库只是返回所有符合 cpu_usage_idle < 5 的 time series 指标数据。
如果勾选了仅在当前业务组生效,就本例而言,就是说,只有业务组 A 下面的机器触发了 < 5 这个规则,才产生告警事件,其他业务组的机器即便触发了也不产生告警规则。这是怎么做到的呢?
夜莺看到时序库返回了 10 条记录,然后就从这 10 条数据里取 ident 标签的值当做机器,然后看这个机器是否属于 “告警规则所属的业务组”,如果属

最低0.47元/天 解锁文章
1158

被折叠的 条评论
为什么被折叠?



