本文通过AI Agent技术实现数据库异常的自动发现、智能分析和快速修复,将故障处理时间从数小时缩短到分钟级,异常误报率降低60-80%。
背景:三大核心痛点
随着业务规模快速增长,OPPO的数据库规模已达到数十万实例、千万级库表,涵盖MySQL、PostgreSQL、MongoDB、ClickHouse、Redis、Milvus等多种数据库类型。常见故障点:

图1:数据库常见故障点
分析发现:
·80%的故障时间花在问题分析与根因定位
·平均故障处理时长195分钟,70%为性能调优问题
传统的人工诊断模式面临三大核心痛点:

02 AI智能诊断:三大核心优势
基于AI Agent构建的智能诊断系统,相比传统诊断具有三大核心优势
2.1 多模态融合诊断
传统方式:孤立指标检查 + 人工经验关联
AI方式:同时处理数百个指标,自动发现隐式关联,融合5种数据模态:
1. 指标时序数据(Prometheus/Grafana)
2. 文本日志(错误日志、慢查询日志)
3. 配置信息(my.cnf等)
4. SQL文本(查询语句、执行计划)
5. 拓扑结构(主从关系、分片信息)
案例:

价值:排查时间从数小时缩短到分钟级
2.2 动态自适应诊断
传统方式:阈值固定,无法区分“正常的高负载”与“异常的高负载”
AI方式:
1. 自动识别业务流量变化:工作日 vs 周末、业务高峰期 vs 低峰期
2. 异常评分:使用综合评分规则给出异常程度
3. 迁移学习:将A库的诊断经验迁移到B库(同架构、不同业务)
案例:

价值:异常误报率降低60-80%
2.3 预测性诊断
传统流程:问题发生 → 用户投诉 → DBA介入 → 分析 → 解决(已造成影响)
AI能力:
1. 时序预测:预测未来1-24小时性能趋势
2. 故障预测:磁盘空间、容量预警
3. 性能退化预警:提前发现索引效率下降
案例:

价值:从“救火”到“防火”,故障从“已发生”提前到“即将发生”
03 技术架构:ODC+知识库+AI Agent
3.1 整体架构
·多数据库类型:OLTP、文档型、分析型、键值型、AI新业态型数据库
·多模数据管理平台:OneMeta:各数据库类型在系统变成“可理解、可治理、可查询”统一数据资产;OneOps:提供DBaaS(数据库即服务)的体验,所有运维相关操作的控制平台
·AI驱动:构建数据库知识库,融合专家经验+AI Agent
·AI应用:多种场景如开发提效、智能诊断、智能运维自治

图2:AI智能诊断系统整体架构
多模数据管理平台ODC(Open Database Develop Center)已经完成并投入使用,不做过多说明。本文主要介绍智能诊断模块的实现,开发提效和智能运维模块后续再做详细介绍。
3.2 智能诊断核心组件
OneMetrics:统一监控指标输入与异常监测
·运行日志:慢日志、错误日志、审计日志
·性能指标:CPU、内存、IO、连接数等
·操作日志:扩缩容、主从切换、参数修改
诊断自治服务:专家经验 + AI Agent
·异常识别:自动识别CPU飙高、慢日志激增等
·异常分析:AAS分析 + AI Agent智能诊断
·异常定位:基于RAG的检索增强生成

图3:诊断自治服务流程图
04 核心技术:专家经验+RAG增强型AI
4.1 诊断演进路径

4.2 诊断流程:识别→分析→定位

图4:智能诊断方案
4.2.1 异常识别
依赖数据采集时的监测,自动识别异常场景:
·CPU飙高
·内存异常
·慢日志激增
·错误日志
·主从切换
·整库整表删除
·其他异常场景
4.2.2 异常分析
专家经验部分:
以AAS(平均活跃会话数)作为切入点:
·AAS数量变化趋势反映数据库实例负载变化
·优先处理AAS数量较多的会话状态
·快速初步定位根因
AI Agent部分:
将以下信息作为输入,以Prompt形式发送给AI Agent:
·异常信息
·审计日志
·慢日志
·错误日志
·AAS数据
·操作日志
·监控指标
·特殊指标
AI Agent进行预设的分析流程进行智能诊断分析,输出诊断结果。
4.2.3 异常定位
技术方案:基于RAG(Retrieval-Augmented Generation,检索增强生成)

图5:基于RAG的异常定位技术架构
RAG的优势:
* 结合通用知识库和人工标注结果
* 融入企业私有业务知识
* 显著提升准确性,减少AI幻觉
* 调用OneMeta API,增强诊断准确性
反馈闭环:
用户对诊断结果评价后:
·将Prompt和用户标注结果输入嵌入式模型
·更新知识库
·持续优化诊断效果
4.3 结果评估:双重保障
AI评估
使用AI小模型对DB Agent输出进行评估:

人工评估
·用户评估:对诊断结果准确性和采纳与否进行评估
·专家评估:专家对结果的准确性、相关性、安全性再次评估
·知识库更新:剔除badcase,存入优质案例,持续优化
重要性:虽然评估成本较大,但这是提高DB Agent准确率的"良方",尤其在数据库这种基础高风险组件中尤为重要。
05 实战案例:CPU飙高诊断
5.1 异常监测
进入性能诊断界面,发现CPU使用率在21:03:00-21:13:00突然飙高至85%,触发智能诊断。

图6:CPU使用率异常监测界面
5.2 根因分析与定位
通过AAS(平均活跃会话数)分析发现:
·数据库Sending_data负载最大
·AAS数量变化趋势与CPU飙高时间段完全吻合
·业务Send数据量和MySQL的TPS增多,相互佐证

图7:AAS分析图
推断:CPU飙高由数据库查询时Sending_data数据过多引起。通过SQL关联分析,定位到导致CPU飙高的SQL指纹。
5.3 优化建议
AI提供索引建议和SQL改写建议,一键跳转ODC数据变更界面。

图8:SQL优化建议界面
06 核心价值与展望
1. 核心成果
·异常发现及时性:从被动响应到主动预测
·根因诊断高效性:从数小时缩短到分钟级
·异常告警准确性:异常误报降低60-80%
2. 技术亮点
·多模态融合:融合指标、日志、配置、SQL、拓扑等多源数据
·RAG增强生成:结合知识库和专家经验,提升诊断准确性
·双轨制保障:专家经验+AI,保证稳定性
·反馈闭环:用户和专家评估,持续优化
3. 未来方向
·持续优化AI模型,提升诊断准确率
·扩展更多数据库类型支持
·增强预测性诊断能力
·完善自动化修复能力
07 总结
数据库智能诊断实现了资源监控与SQL智能关联,精准锁定异常根因,提供优化方案,形成异常发现-诊断-修复闭环。
AI的诊断结果并非完全准确,部分重要场景仍需要人为干预和引导。DB Agent的建设是一条持续且漫长的道路,需要我们不断优化与改进。
免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。