历史告警
夜莺 v9 历史告警:所有产生过的告警事件(含已恢复的),用于事后回溯、合规审计、统计分析。
概述
历史告警 = 所有产生过的告警事件(包括已恢复的)的完整记录。
侧栏路径:告警 → 告警事件 → 历史告警 Tab,URL /alert-his-events。
和 活跃告警 的区别:
| 维度 | 活跃告警 | 历史告警 |
|---|---|---|
| 内容 | 当前仍在告警中的事件 | 历史上所有事件(含已恢复) |
| 视角 | 处置 + 协作 | 回溯 + 统计 |
| 适用 | 值班排障 | 复盘、合规、分析 |
| 权限 | 业务组成员可见 | 通常 Admin 可见全部(角色控制) |
适用场景:
- 故障复盘:找出某段时间内发生的所有告警;
- 合规审计:留存所有告警记录用于审计;
- 调优分析:看哪些规则触发最频繁,调整阈值;
- 跨班次交接:白班结束时把发生过的事件清单发给夜班。
事件级别可视化
列表中每一行最左侧有色块:
| 颜色 | 含义 |
|---|---|
| 🟢 绿色 | 恢复事件(Recovered) |
| 🟡 黄色 | S3 - Info |
| 🟠 橙色 | S2 - Warning |
| 🔴 红色 | S1 - Critical(颜色越深级别越高) |
一眼就能看出某个时段哪条规则的告警最严重 / 是否已恢复。
筛选条件
顶部过滤栏支持的过滤:
| 控件 | 说明 |
|---|---|
| 自动刷新 | Off / 5s / 15s / 30s / 1min / 5min |
| 时间范围 | 默认最近 6 小时,最长不限 |
| 监控类型 | Metric / Host / Log 等告警 prod |
| 数据源 | 多选支持搜索 |
| 业务组 | 限定具体业务组 |
| 告警级别 | S1 / S2 / S3 多选 |
| 事件类别 | 触发事件 / 恢复事件 |
| 关键字搜索 | 在规则名 + 标签里模糊搜,多关键词空格分隔 |
列表字段
| 列 | 含义 |
|---|---|
| 事件 | 数据源类型 logo + 数据源名 + 规则名(点击打开详情)+ 标签集合 |
| 首次触发时间 | 告警事件第一次进入触发状态的时间 |
| 检测时间 | 最近一次评估时该条件仍然满足的时间(每次评估周期更新) |
首次触发 vs 检测时间 的区别:一条告警如果断断续续触发 5 次(每次告警 → 恢复 → 又告警),「首次触发时间」是 5 次中第一次的时间;「检测时间」是最近一次确认的时间。
详情页:完整事件元素
点击事件标题打开详情,包含:
- 趋势图(指标在触发前后一段时间的曲线,红色虚线 = 触发时刻);
- 规则标题(链接到告警规则编辑页)+ Hash 指纹;
- 业务组 / 规则备注 / 数据源 / 告警级别 / 事件状态(Triggered / Recovered);
- 事件标签 / 触发时值 / 首次触发时间 / 本次检测时间;
- PromQL / 执行频率 / 持续时长;
- 通知规则 / 通知记录(看实际发到了哪些媒介、是否成功);
- 屏蔽 / 删除 / 认领 / 分享按钮(详见 活跃告警)。
导出 CSV
页面右上「导出」按钮 → 当前筛选条件下的所有事件导出 CSV。常用于:
- 给老板提交故障复盘报告的事件清单;
- 倒入 Excel / pandas 做次数统计 / 时段分布分析;
- 离线归档冷备(数据库里的历史告警有保留期)。
导出受当前筛选条件影响 — 没设条件会导出所有,注意数据量。建议每次导出前先设时间范围(如最近 7 天 / 30 天)。
数据保留
历史告警长期保留在数据库(不参与默认清理)。数据量大时建议:
常见问题
Q1:同一条告警规则触发了 10 次,历史告警里看到 10 条记录还是 1 条?
A:10 条。每次触发都会生成新事件记录。如果想看"这条规则总共触发过几次",用关键字搜索规则名 + 设时间范围 + 数计数;或直接用 API 统计。
Q2:历史告警和活跃告警是同一份数据吗?
A:是同一张表 alert_cur_event 的两个视图。事件触发时在活跃告警里出现,事件恢复时从活跃移出但保留在历史。详情字段两边完全一致。
Q3:能不能在历史告警里手工"补"一条事件?
A:不能。历史告警是告警引擎的输出,UI 上只允许查看 / 删除,不允许手工新增。需要补造数据用 API。
Q4:导出 CSV 在 Excel 里中文乱码?
A:导出的是 UTF-8 编码(带 BOM),Excel 中文版默认按 GBK 解析。解决:
- 用记事本打开 → 另存为 GBK;
- 或用 WPS / Numbers 等能识别 UTF-8 BOM 的工具;
- 推荐:直接用 Python / pandas 读,不要走 Excel。