适用范围与前提
用于 Kubernetes 集群中由 Prometheus 计算规则、Alertmanager 路由通知的告警治理。开始前盘点现有规则、指标来源、服务负责人和通知渠道,并取得可回退的配置版本。本文提供待环境验证的实施流程;告警阈值、观察窗口和响应时限必须结合业务目标确定,不以某个固定 CPU 百分比代表所有服务的故障。
从响应动作定义分级
先为每条告警写出“谁应在多长时间内做什么”。影响核心请求且需要立即介入的信号进入紧急通道;容量趋势或存在明确处理期限的问题进入工作时段队列;仅用于观察的信号留在仪表盘。优先使用错误率、延迟和可用性等用户可感知症状,同时保留用于定位的基础设施指标。没有负责人、操作入口或处理动作的通知,应先补齐信息再加入呼叫渠道。
稳定标签与可用上下文
为集群、环境、服务、团队和级别建立一致的标签约定。标签用于识别与路由,避免把当前数值、时间戳或完整错误文本作为标签,以免同一问题产生不断变化的告警实例。把触发值、仪表盘链接、排查手册和业务影响说明放入注释,并检查链接可从值班入口直接访问。跨集群部署还应验证外部标签,防止同名服务混淆。
分组、抑制与维护静默
按值班人员实际处理的故障范围设计分组;先按集群和告警名称试验,再判断是否需要服务维度。分组等待时间应兼顾聚合效果和紧急响应需求。只有依赖关系可被证实时才设置抑制,例如同一服务的严重级别抑制其警告级别,并检查双方用于匹配的标签确实存在。缺失标签可能产生意外匹配。维护静默应记录负责人、原因、匹配范围和结束时间,并保留维护窗口内的指标与告警状态。
规则检查与小范围发布
在发布前检查语法,使用代表性历史时间段评估表达式,再覆盖持续故障、短暂抖动、数据缺失和恢复四类输入。以下文件名是占位符,命令仅执行本地配置校验,不验证通知是否送达。
promtool check rules RULES_FILE
amtool check-config ALERTMANAGER_CONFIG_FILE需要持续时间条件时,验证 for 与抓取、计算周期共同产生的通知延迟。先在测试接收器或单个服务范围验证路由与恢复通知,再逐步推广,避免一次修改全部规则后无法判断影响来源。
验收要同时看噪声与漏报
用同一业务范围、相近流量条件比较调整前后通知数、重复通知比例和有明确处理动作的比例,同时检查已知故障是否仍能触发并送达。通知减少本身不代表改进。安排一条可控测试信号验证规则、Alertmanager、接收渠道的整条路径;记录触发、首次送达、确认和恢复时间,不将测试结果描述为真实故障成绩。
停止与回退条件
出现关键告警未送达、错误团队收到通知、抑制范围超过预期或恢复状态无法确认时,停止推广并恢复上一版已知配置。回退后复核告警和路由状态,检查仍然生效的静默规则,因为配置回退不等于静默自动撤销。保留当次改动、触发样本与接收记录,用于修正标签和匹配边界后再次验证。