告警管理指南

本指南涵盖灵王 OPS 中完整的告警管理工作流程:从查看和确认告警,到创建事件和设置静默规则。


1. 告警生命周期

每个告警都会经历一个定义好的生命周期,包含三种终态:

 FIRING  →  ACKNOWLEDGED  →  RESOLVED
 (活跃中)    (处理中)         (已修复/已关闭)
状态 描述
触发中 (Firing) 条件当前已满足。告警处于活跃状态,如果配置了 SLA 则计入 SLA。
已确认 (Acknowledged) 运维人员已看到告警并正在处理。MTTA 时钟停止(见第 4 节)。
已解决 (Resolved) 根本原因已处理完毕。告警已关闭。可以手动解决,也可以在条件清除时自动解决。

生命周期规则

  • 当告警表达式在配置的阈值下计算结果为 true 时,告警触发。
  • 如果定义了解决条件(例如 up == 1),告警会在条件清除时自动解决。
  • 手动解决的告警在相同触发事件下不会重新触发,除非新的评估周期产生了新的告警指纹。
  • 静默的告警(见第 8 节)在静默窗口期间根本不会触发。

2. 查看告警

告警列表是主要入口。通过左侧导航栏的 Alerts → All Alerts 访问。

筛选栏

筛选栏位于告警表格上方,支持以下维度:

筛选条件 使用方法 示例
严重级别 (Severity) 多选:criticalwarninginfo 仅显示 critical
状态 (Status) 切换:firingacknowledgedresolved firing
时间范围 (Time Range) 预设或自定义窗口 最近 6 小时
来源 (Source) 按数据源或集成筛选 prometheusalertmanagercloudwatch
标签匹配器 (Label Matchers) 自由形式的 key=valuekey!=value env=productionservice!=cache
团队/负责人 (Team/Owner) 分配的团队或运维人员 team=platform

示例:生产环境 CPU 告警

查找最近 4 小时内生产环境中所有严重级别为 critical、状态为 firing 的 CPU 告警:

  1. 设置 时间范围 (Time Range)最近 4 小时 (Last 4 hours)
  2. 设置 状态 (Status)firing
  3. 设置 严重级别 (Severity)critical
  4. 添加标签筛选:env=productionalertname=~CPU.*
  5. 来源 (Source):prometheus

排序和分页

  • 默认按 fire_time 降序排序(最新的在前)。
  • 点击任意列标题可重新排序。
  • 分页默认为每页 50 条。

3. 告警详情页面

点击任意告警行可打开其详情页面。这提供了调查和响应所需的完整上下文。

关键部分

标签 (Labels) — 标识触发告警内容的不可变键值对。

{service="checkout", env="production", severity="critical", instance="10.0.2.15:9100"}

注解 (Annotations) — 附加到告警的人类可读元数据。常用注解:

注解 内容
summary 简短的一行描述,例如 "CPU 使用率超过 90%"
description 包含运行手册链接的详细说明
runbook_url 指向事件响应程序的链接

相关事件 (Related Incidents) — 从该告警创建的任何事件(见第 7 节)。显示事件 ID、标题和状态。

时间线 (Timeline) — 告警的按时间顺序排列的事件日志:

2026-04-12 14:23:01  FIRING        告警触发 (value=0.94, threshold=0.90)
2026-04-12 14:23:31  ACKNOWLEDGED  @alice 已确认
2026-04-12 14:31:05  ANNOTATION    @bob 添加备注: "正在扩容副本,预计 5 分钟"
2026-04-12 14:38:47  RESOLVED      条件已清除 (value=0.71)

Grafana/Explore 链接 — 如果数据源支持,将提供直接链接到 Grafana Explore 中的原始指标以帮助诊断。


4. 确认告警

为什么确认对 MTTA 很重要

MTTA = 平均确认时间 (Mean Time To Acknowledge)

MTTA 是一个关键的 SLO/SLA 指标。当告警触发时,时钟开始计时:

  • 如果你的 SLA 规定"严重告警必须在 5 分钟内确认",那么当运维人员点击 确认 (Acknowledge) 的那一刻时钟就停止。
  • 已确认的告警在值班仪表板上显示为"进行中",减少重复升级。
  • 如果告警保持 触发中 且未确认超过 SLA 窗口,系统可能会自动升级(呼叫备班值班员、通知团队负责人等)。

不要忽略触发中的告警。 即使你正在积极处理问题,确认它可以向系统和你队友表明情况正在被处理。

如何确认

单个告警: 点击告警行右侧的 ACK 按钮,或打开告警详情页面点击 确认 (Acknowledge)

多个告警: 见第 10 节(批量操作)。

确认后,告警状态变为 ACKNOWLEDGED,时间线记录谁在何时确认。


5. 手动解决告警

告警可以在两种场景下手动解决:

  1. 根本原因已修复但指标尚未恢复(例如,你手动重启了服务并确认它健康,但抓取尚未运行)。
  2. 告警是由测试或维护操作触发的 不会再次发生。

如何解决

从告警列表: 点击告警行的 ... 菜单 → 解决 (Resolve)

从告警详情页面: 点击右上角的 解决 (Resolve) 按钮。

自动解决发生在底层条件清除时(例如 up == 1 再次为真)。手动解决会跳过此检查。

示例

HighMemoryUsage 告警在 payment-service 上于 03:00 触发。你通过 SSH 登录,重启了服务,并在 03:04 确认它健康。下一次抓取要等到 03:15。你在 03:05 手动解决告警以关闭事件,即使指标尚未被重新评估。


6. 告警注解(添加备注)

注解允许运维人员在告警上留下结构化备注,用于交接、调查历史或合规。

添加注解

  1. 打开告警详情页面。
  2. 滚动到 时间线 (Timeline) 部分。
  3. 点击 + 添加备注 (+ Add note)
  4. 输入你的备注并点击 保存 (Save)

备注会立即对所有有权限访问该告警的用户可见。

注解示例

@alice: 已重启 checkout-service pods。监控 10 分钟。
@bob: 根本原因已确定为 payment-worker 中的 OOM。PR #4123 已提交。
@carol: 事件已创建。升级至 @platform-team。

注解 vs. 描述

字段 用途 填写人
description(注解) 在告警创建时预填充,通常由规则作者填写 规则作者
note(运行时添加的注解) 调查期间的动态更新 响应运维人员

7. 从告警创建事件(一键创建)

对于重要的告警,你可以直接从告警页面创建专用事件。这会给你一个独立的事件时间线、作战室协作和一个复盘报告。

如何创建事件

  1. 打开告警详情页面。
  2. 点击右上角的 创建事件 (Create Incident)
  3. 出现预填充的事件表单:
  4. 标题:从告警名称和标签派生
  5. 严重级别:从告警严重级别推断(可调整)
  6. 描述:告警的 summarydescription 注解
  7. 关联告警:原始告警自动关联
  8. 点击 创建 (Create)。你将进入新事件页面。

示例

alertname=PaymentServiceDownseverity=critical → 创建标题为 "PaymentServiceDown @ production-checkout-01" 的事件,严重级别为 SEV-1

事件也可以直接从 事件 (Incidents) 部分创建,无需告警。


8. 告警抑制 / 静默(Alert Suppression / Silencing)

静默可以防止告警在定义的窗口期间触发——适用于计划维护、部署冻结或已知的误报模式。

如何创建静默规则

  1. 在左侧导航栏进入 Alerts → Silences
  2. 点击 新建静默 (New Silence)
  3. 填写表单:
字段 描述 示例
匹配条件 (Match Criteria) 要匹配的告警标签 service=checkoutenv=staging
开始时间 (Start Time) 静默开始时间(立即或定时) 2026-04-12 22:00:00
结束时间 (End Time) 静默过期时间 2026-04-13 02:00:00
创建者 (Creator) 你的用户名(自动填充) @alice
原因 (Reason) 需要此静默的原因 "计划中的数据库维护窗口"
  1. 点击 创建 (Create)

按告警名称匹配

静默所有特定类型的告警,跨所有实例:

alertname=HighCPU

按实例匹配

在维护窗口期间静默特定主机的告警:

instance=prod-api-03, alertname=~.*

按多个标签匹配(AND)

service=payment, env=production, severity=critical

提示: 保存前使用 预览匹配的告警 (Preview Matching Alerts) 按钮来验证哪些告警将受到影响。

管理活动静默

  • 活动静默列在 Alerts → Silences
  • 你可以 编辑 (Edit)(延长结束时间)、取消静默 (Unsilence)(提前移除)或 克隆 (Clone)(重复用于周期性窗口)。
  • 当静默过期时,正常告警会自动恢复。

周期性静默

对于计划维护(例如,每个周日 02:00–04:00),使用 重复 (Repeat) 字段:

  • 永不 (Never) — 一次性窗口
  • 每天 (Daily)每周 (Weekly)每月 (Monthly) — 按相同时间重复

9. 告警统计仪表板

统计仪表板提供你的基础设施告警健康状况的高级概览。

通过 Alerts → Statistics 访问。

关键指标

指标 描述
告警总数 (24h) (Total Alerts (24h)) 过去 24 小时内触发的所有告警计数
当前触发 (Firing Now) 当前活跃(未解决)的告警
MTTA 平均确认时间 — 从触发到确认的平均时间
MTTR 平均解决时间 — 从触发到解决的平均时间
触发次数最多的告警 (Top Firing Alerts) 触发频率最高的告警排名列表
按严重级别分布的告警 (Alerts by Severity) 饼图:critical / warning / info 分布
按团队分布的告警 (Alerts by Team) 按所属团队的告警量柱状图
告警消耗率 (Alert Burn Rate) 错误预算消耗的速度(用于 SLO 跟踪的告警)

示例:每周告警报告

平台团队查看他们的每周统计时可能会看到:

  • 过去一周共 847 条告警
  • 12 条仍处于触发中(5 条 critical,7 条 warning)
  • MTTA:4 分 32 秒(在 5 分钟 SLA 内)
  • MTTR:23 分 15 秒
  • 最常触发:prod-cache-* 实例上的 DiskSpaceLow — 触发 94 次,表明存在容量规划问题

这类洞察推动运营改进和容量规划。


10. 批量操作(Bulk Operations)

当多个告警需要相同操作时(例如,确认失败部署后的所有告警,或在回滚后解决告警),批量操作可以节省大量时间。

选择多个告警

  • Shift+点击 选择一个范围。
  • Ctrl/Cmd+点击 选择/取消选择单个告警。
  • 使用标题中的复选框选择当前页面上所有可见的告警。
  • 要选择跨页的所有告警,点击表格上方选择全部 N 条告警 (Select all N alerts)

可用的批量操作

选择一个或多个告警后,屏幕底部会出现一个操作栏:

操作 效果
确认 (Acknowledge) 将所有选定的告警标记为已确认。停止每个告警的 MTTA 时钟。
解决 (Resolve) 手动解决所有选定的告警。在确认根本原因已修复后使用。
添加注解 (Add Annotation) 向所有选定的告警添加相同的备注(例如,"在部署 v2.4.1 中修复")。
创建事件 (Create Incident) 创建一个关联到所有选定告警的事件。用于将大量相关告警分组。
静默 (Silence) 打开静默表单,预填充选定告警的标签。

示例:部署后批量确认

18:00 的一次部署触发了 23 条告警(关于滚动期间延迟飙升的警告)。运维人员:

  1. 筛选 status=firingseverity=warningtime=last_1h
  2. 通过检查告警列表确认这些都是部署相关的。
  3. 选择全部 23 条告警。
  4. 点击 确认 (Acknowledge) — 所有告警现在显示 ACKNOWLEDGED
  5. 监控 15 分钟;无需进一步操作。
  6. 再次选择全部并点击 解决 (Resolve) 关闭它们。

整个操作耗时不到 2 分钟,而不是逐个点击每个告警。


快速参考

任务 路径
查看所有告警 Alerts → All Alerts
筛选和搜索 使用告警列表上的筛选栏
告警详情 点击任意告警行
确认 点击 ACK 按钮或选择 + 批量确认
解决 ... 菜单 → Resolve
添加备注 打开告警详情 → 时间线 → + 添加备注
创建事件 打开告警详情 → 创建事件
静默告警 Alerts → Silences → 新建静默
查看统计 Alerts → Statistics
批量操作 选择告警 → 底部操作栏

有关设置告警路由规则和通知策略的信息,请参阅通知配置