告警管理指南
本指南涵盖灵王 OPS 中完整的告警管理工作流程:从查看和确认告警,到创建事件和设置静默规则。
1. 告警生命周期
每个告警都会经历一个定义好的生命周期,包含三种终态:
FIRING → ACKNOWLEDGED → RESOLVED
(活跃中) (处理中) (已修复/已关闭)
| 状态 | 描述 |
|---|---|
| 触发中 (Firing) | 条件当前已满足。告警处于活跃状态,如果配置了 SLA 则计入 SLA。 |
| 已确认 (Acknowledged) | 运维人员已看到告警并正在处理。MTTA 时钟停止(见第 4 节)。 |
| 已解决 (Resolved) | 根本原因已处理完毕。告警已关闭。可以手动解决,也可以在条件清除时自动解决。 |
生命周期规则
- 当告警表达式在配置的阈值下计算结果为
true时,告警触发。 - 如果定义了解决条件(例如
up == 1),告警会在条件清除时自动解决。 - 手动解决的告警在相同触发事件下不会重新触发,除非新的评估周期产生了新的告警指纹。
- 被静默的告警(见第 8 节)在静默窗口期间根本不会触发。
2. 查看告警
告警列表是主要入口。通过左侧导航栏的 Alerts → All Alerts 访问。
筛选栏
筛选栏位于告警表格上方,支持以下维度:
| 筛选条件 | 使用方法 | 示例 |
|---|---|---|
| 严重级别 (Severity) | 多选:critical、warning、info |
仅显示 critical |
| 状态 (Status) | 切换:firing、acknowledged、resolved |
仅 firing |
| 时间范围 (Time Range) | 预设或自定义窗口 | 最近 6 小时 |
| 来源 (Source) | 按数据源或集成筛选 | prometheus、alertmanager、cloudwatch |
| 标签匹配器 (Label Matchers) | 自由形式的 key=value 或 key!=value |
env=production、service!=cache |
| 团队/负责人 (Team/Owner) | 分配的团队或运维人员 | team=platform |
示例:生产环境 CPU 告警
查找最近 4 小时内生产环境中所有严重级别为 critical、状态为 firing 的 CPU 告警:
- 设置 时间范围 (Time Range) →
最近 4 小时 (Last 4 hours) - 设置 状态 (Status) →
firing - 设置 严重级别 (Severity) →
critical - 添加标签筛选:
env=production、alertname=~CPU.* - 来源 (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. 手动解决告警
告警可以在两种场景下手动解决:
- 根本原因已修复但指标尚未恢复(例如,你手动重启了服务并确认它健康,但抓取尚未运行)。
- 告警是由测试或维护操作触发的 不会再次发生。
如何解决
从告警列表: 点击告警行的 ... 菜单 → 解决 (Resolve)。
从告警详情页面: 点击右上角的 解决 (Resolve) 按钮。
自动解决发生在底层条件清除时(例如
up == 1再次为真)。手动解决会跳过此检查。
示例
HighMemoryUsage 告警在 payment-service 上于 03:00 触发。你通过 SSH 登录,重启了服务,并在 03:04 确认它健康。下一次抓取要等到 03:15。你在 03:05 手动解决告警以关闭事件,即使指标尚未被重新评估。
6. 告警注解(添加备注)
注解允许运维人员在告警上留下结构化备注,用于交接、调查历史或合规。
添加注解
- 打开告警详情页面。
- 滚动到 时间线 (Timeline) 部分。
- 点击 + 添加备注 (+ Add note)。
- 输入你的备注并点击 保存 (Save)。
备注会立即对所有有权限访问该告警的用户可见。
注解示例
@alice: 已重启 checkout-service pods。监控 10 分钟。
@bob: 根本原因已确定为 payment-worker 中的 OOM。PR #4123 已提交。
@carol: 事件已创建。升级至 @platform-team。
注解 vs. 描述
| 字段 | 用途 | 填写人 |
|---|---|---|
description(注解) |
在告警创建时预填充,通常由规则作者填写 | 规则作者 |
note(运行时添加的注解) |
调查期间的动态更新 | 响应运维人员 |
7. 从告警创建事件(一键创建)
对于重要的告警,你可以直接从告警页面创建专用事件。这会给你一个独立的事件时间线、作战室协作和一个复盘报告。
如何创建事件
- 打开告警详情页面。
- 点击右上角的 创建事件 (Create Incident)。
- 出现预填充的事件表单:
- 标题:从告警名称和标签派生
- 严重级别:从告警严重级别推断(可调整)
- 描述:告警的
summary和description注解 - 关联告警:原始告警自动关联
- 点击 创建 (Create)。你将进入新事件页面。
示例
alertname=PaymentServiceDown、severity=critical → 创建标题为 "PaymentServiceDown @ production-checkout-01" 的事件,严重级别为 SEV-1。
事件也可以直接从 事件 (Incidents) 部分创建,无需告警。
8. 告警抑制 / 静默(Alert Suppression / Silencing)
静默可以防止告警在定义的窗口期间触发——适用于计划维护、部署冻结或已知的误报模式。
如何创建静默规则
- 在左侧导航栏进入 Alerts → Silences。
- 点击 新建静默 (New Silence)。
- 填写表单:
| 字段 | 描述 | 示例 |
|---|---|---|
| 匹配条件 (Match Criteria) | 要匹配的告警标签 | service=checkout、env=staging |
| 开始时间 (Start Time) | 静默开始时间(立即或定时) | 2026-04-12 22:00:00 |
| 结束时间 (End Time) | 静默过期时间 | 2026-04-13 02:00:00 |
| 创建者 (Creator) | 你的用户名(自动填充) | @alice |
| 原因 (Reason) | 需要此静默的原因 | "计划中的数据库维护窗口" |
- 点击 创建 (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 条告警(关于滚动期间延迟飙升的警告)。运维人员:
- 筛选
status=firing、severity=warning、time=last_1h。 - 通过检查告警列表确认这些都是部署相关的。
- 选择全部 23 条告警。
- 点击 确认 (Acknowledge) — 所有告警现在显示
ACKNOWLEDGED。 - 监控 15 分钟;无需进一步操作。
- 再次选择全部并点击 解决 (Resolve) 关闭它们。
整个操作耗时不到 2 分钟,而不是逐个点击每个告警。
快速参考
| 任务 | 路径 |
|---|---|
| 查看所有告警 | Alerts → All Alerts |
| 筛选和搜索 | 使用告警列表上的筛选栏 |
| 告警详情 | 点击任意告警行 |
| 确认 | 点击 ACK 按钮或选择 + 批量确认 |
| 解决 | ... 菜单 → Resolve |
| 添加备注 | 打开告警详情 → 时间线 → + 添加备注 |
| 创建事件 | 打开告警详情 → 创建事件 |
| 静默告警 | Alerts → Silences → 新建静默 |
| 查看统计 | Alerts → Statistics |
| 批量操作 | 选择告警 → 底部操作栏 |
有关设置告警路由规则和通知策略的信息,请参阅通知配置。