一次线上告警,我们把事故排查从 30 分钟降到了 2 分钟

0 阅读2分钟
# 一次线上告警,我们把事故排查从 30 分钟降到了 2 分钟

想问大家一个问题:

你们线上事故排查一般要多久?

我们以前的流程基本是这样:

告警 → 打开 Grafana → 查 Loki 日志 → 找异常 → 整理问题 → 写事故记录

如果日志比较多,一次排查通常要 **20~40 分钟**。

尤其是那种情况:

- ERROR 日志很多
- 不确定哪个是真正的异常
- 日志分散在不同时间段

排查起来其实挺费时间。

---

## 一个真实的例子

某次线上系统突然出现异常告警。

Loki 里有大量日志,大致是这样的:

ERROR GlobalExceptionHandler error message: com.example.oa.dto.exception.BusinessException: BusinessException -> code : 300, desc : 该业务功能已绑定流程


如果按传统方式排查,一般流程是:

1. 找到 ERROR 日志
2. 查看异常堆栈
3. 判断是否业务异常
4. 总结原因
5. 写事故记录

---

## 后来做了个小工具

因为这个过程太重复了,我写了一个小工具做三件事:

1️⃣ 告警触发后自动抓取相关日志  
2️⃣ 自动整理异常信息  
3️⃣ 生成结构化事故报告  

流程变成:

Loki告警 ↓ 自动抓取异常日志 ↓ 自动分析 ↓ 生成事故报告 ↓ 推送企业微信


生成的报告大概是这样的:

事故摘要 服务:oa-server 环境:prod 严重等级:P3

已确认异常 BusinessException -> code 300

可能原因 业务功能已绑定流程

建议处理 检查流程配置


同时会附带:

- 异常时间线
- 关键日志
- 错误趋势

---

## 实际体验

最大的变化其实不是 AI,而是:

**不用自己翻日志整理信息了。**

以前流程:

告警 ↓ 查日志 ↓ 整理异常 ↓ 写事故记录


现在基本是:

告警 ↓ 看报告


排查时间从 **20~30 分钟**降到了 **1~2 分钟**。

---

## 想问问大家

你们团队现在的事故排查流程是怎样的?

是:

- Grafana + Loki 手动查日志?
- 有自动化工具?
- 还是直接写脚本处理?

挺好奇不同团队是怎么做事故复盘的。