← 返回文章列表
产品动态 3 分钟阅读 炬鲸团队

告警引擎与值班管理:从规则配置到降噪、静默、升级

拆解 OBSERVE 告警引擎:PromQL/阈值/日志三种规则写法,四层降噪策略、静默与维护窗口,以及值班轮转与多级升级的完整配置建议。

告警规则的三种写法

OBSERVE 的告警规则支持三种写法,覆盖不同团队的习惯:

  • PromQL:适合熟悉 Prometheus 的团队,现有规则原样可用,rate(http_requests_total{status="500"}[5m]) > 0.01 这种写法直接迁移;
  • 阈值表达式:给不写 PromQL 的同学准备的直白写法,选指标、选聚合方式、填阈值,界面上点两下就生成规则;
  • 日志告警:直接基于日志查询触发,比如「近 5 分钟 path=/api/paylevel=ERROR 的日志超过 100 条」,让日志也能当告警源,不用先转成指标。

三种规则统一收敛到同一套评估引擎,评估周期、持续时长(for)、标签匹配逻辑一致,避免多套规则系统各自为政。

降噪:别让值班人被噪音淹没

告警的价值取决于信噪比。OBSERVE 内置四层降噪:

  1. 分组折叠:同一规则、同一组标签的告警合并成一条,计数递增,而不是刷屏;
  2. 去重窗口:相同告警在窗口期内只通知一次;
  3. 恢复延迟:指标回到正常后默认延迟 3 分钟再发「已恢复」,避免抖动期间反复打扰;
  4. 抑制规则:节点宕机时,该节点上所有服务的告警自动被「节点不可达」这一条抑制,不产生几百条衍生告警。

这些规则都可在页面上配置,改完立即生效,不用重启。

静默窗口与维护窗口

发布窗口、计划内变更,需要提前压住告警。OBSERVE 区分两种:

  • 静默(Silence):按标签匹配临时屏蔽,比如 env=staging 全部静默到明天早上;
  • 维护窗口(Maintenance):绑定到具体服务或主机,窗口期内告警照常记录但不通知,窗口结束自动恢复,且维护期间的告警会打上标记,复盘时能区分真故障和计划内抖动。

两种都支持定时(比如每周四凌晨的例行发布),不用每次手动开关。

值班与升级

通知渠道覆盖企业微信、钉钉、飞书、邮件和 Webhook。值班表按周轮转,支持多层升级:

  • 告警先发到当前值班人;
  • 若 5 分钟内无人确认,自动升级到备用值班人,再升级到团队负责人;
  • 全程记录确认、转派、关闭的时间戳,形成可审计的值班轨迹。

权限上,告警规则、值班表、静默配置分别授权,值班人只能确认和关闭告警,不能改规则,避免「顺手把阈值调高」掩盖问题。

落地建议

告警系统最容易报警疲劳。建议先做减法:只给真正影响业务的指标配告警,P1 规则控制在一屏以内;上线第一周每天看误报率,把从来没人理的告警直接删掉或降级为报表。规则写好后在 staging 环境跑一周,确认没有漏报再上生产。