U7.04.3Single-point breaches and sustained breaches deserve different responses设计
单点越界与持续越界应触发不同的响应
别名: 持续越界 · 告警分级
概念解释
指标越线一次与连续越线是两种不同性质的事件:单点越界可能是毛刺(网络抖动、一次批处理尖峰),持续越界才指向真实的状态变化(服务退化、需求坍塌)。两者的响应应当分级——单点记录待观察,持续越界才升级为告警;一视同仁的告警策略会同时制造漏报(真实问题被毛刺告警淹没)与疲劳(用户对频繁的毛刺告警脱敏)。
机制
分级的依据是信号的信噪结构:瞬时值包含大量噪声,持续时间是天然的降噪滤波器——"连续 N 个周期越线"的条件过滤掉了大部分随机毛刺,同时保留了真实退化(真退化通常持续)。工程实现是持续窗口的设计:核心参数是窗口长度与采样粒度,两者决定告警的灵敏度与滞后——窗口越长误报越少但发现越晚,这个权衡必须按指标的"可容忍响应时间"来定(支付链路的窗口以秒计,日报指标的窗口以小时计)。分级响应的另一面是恢复分级:越界解除也不能立刻翻绿,需要对称的恢复窗口,否则状态在边界上抖动。
边界
分级不是越保守越好:对"永远不该发生的硬错误"(核心服务不可达),单点即告警是正确的——这类指标的噪声假设本身不成立,套用降噪窗口反而引入不必要的发现延迟。持续窗口的参数也要随业务节奏复核:流量形态变了(大促、新渠道),原来的窗口长度可能不再匹配噪声结构。分级告警必须显式呈现分级状态——"观察中(5 个周期里的第 1 个)"要让用户看到,否则单点越界静默通过,用户失去了毛刺的可见性,也就失去了判断"毛刺是否变密"的机会。
怎么落地
- 为每条告警规则配置持续条件(连续 N 个周期越线才告警),N 按响应容忍度设定。
- 告警面板区分"观察中"与"已告警"两级状态,观察级可见但不推送。
- 验证:回放一周历史数据,统计分级前后的告警条数与真实问题命中率;告警量显著下降且命中率不降即为调参成功。