Files
zhuyongxin 3956426c97 docs(knowledge): 添加测试知识库文档
新增 6 个知识库文档,用于测试 L0+L1 混合检索功能:

API 类:
- payment-errors.md - 支付网关错误码定义

领域知识类:
- spring-ai-tool-best-practices.md - Spring AI 工具定义最佳实践

基础设施类:
- redis-config.md - Redis 缓存配置指南
- mysql-connection-pool.md - MySQL 连接池配置
- flyway-best-practices.md - Flyway 数据库迁移最佳实践

故障排查类:
- fault-diagnosis-process.md - 故障诊断流程规范

所有文档均包含:
- 标准 frontmatter 元数据 (title, keywords, summary, category)
- 实用配置示例和代码片段
- 支持 L0 精确匹配的关键词
2026-06-24 16:19:10 +08:00

3.0 KiB
Raw Permalink Blame History

title, keywords, summary, category
title keywords summary category
故障诊断流程规范
故障诊断
排查
根因分析
RCA
应急响应
生产环境故障的标准诊断流程、根因分析方法和文档规范 troubleshooting

故障诊断流程规范

应急响应流程

1. 初步评估(5 分钟内)

关键问题:

  • 影响范围:多少用户受影响?
  • 严重程度:P0(全站挂)/ P1(核心功能)/ P2(次要功能)
  • 开始时间:什么时候开始的?

立即行动:

  • 通知相关人员
  • 开启故障战室
  • 记录时间线

2. 快速止血(15-30 分钟)

优先级:恢复服务 > 找根因

常见止血手段:

  • 回滚最近部署
  • 重启服务
  • 流量切换
  • 降级非核心功能

验证止血:

  • 检查监控指标恢复
  • 抽样验证用户功能
  • 确认错误日志减少

3. 根因分析

信息收集:

  • 错误日志(ELK/Kibana)
  • 监控指标(Grafana)
  • 慢查询日志
  • 堆栈信息
  • 最近变更记录

分析方法:

  • 5-Why 分析法
  • 时间线对比(问题前后变化)
  • 相关性分析(哪些指标同时异常)

5-Why 分析法

示例:API 超时故障

  1. 为什么 API 超时?

    • 数据库查询慢
  2. 为什么数据库查询慢?

    • 索引失效
  3. 为什么索引失效?

    • 表数据量暴增,执行计划变更
  4. 为什么表数据量暴增?

    • 定时清理任务失败
  5. 为什么清理任务失败?

    • 磁盘空间不足,任务异常退出

根因:磁盘空间监控未配置告警

故障报告模板

1. 故障概要

  • 发生时间:
  • 影响时长:
  • 影响范围:
  • 严重程度:

2. 故障现象

  • 用户反馈:
  • 错误日志:
  • 监控截图:

3. 根本原因

  • 直接原因:
  • 根本原因:(5-Why 分析)
  • 相关变更:

4. 解决方案

  • 临时方案:
  • 长期方案:
  • 预防措施:

5. 时间线

10:00 - 用户反馈 API 超时
10:05 - 确认影响范围,通知团队
10:10 - 发现数据库慢查询
10:15 - 执行索引优化,服务恢复
10:30 - 根因分析完成

6. 改进措施

  • 技术改进:
  • 流程改进:
  • 监控增强:

常见故障分类

性能类

  • 慢查询
  • 内存溢出
  • CPU 飙高
  • 线程池耗尽

可用性类

  • 服务宕机
  • 网络故障
  • 依赖服务挂
  • 数据库连接池满

数据类

  • 数据不一致
  • 数据丢失
  • 重复数据

安全类

  • 认证失败
  • 权限绕过
  • SQL 注入
  • DDoS 攻击

最佳实践

日志规范

// 关键操作记录请求 ID
log.info("[{}] 开始处理支付请求: userId={}, amount={}", 
    requestId, userId, amount);

// 异常必须记录完整堆栈
log.error("[{}] 支付失败", requestId, e);

监控指标

  • Golden Signals:延迟、流量、错误率、饱和度
  • 业务指标:订单量、支付成功率
  • 资源指标:CPU、内存、磁盘、网络

告警阈值

  • 错误率 > 1%
  • P99 延迟 > 2s
  • 数据库连接池使用率 > 80%
  • 内存使用率 > 85%