用户实践:微众银行 AI智能体 运维落地实践

用户实践 · OpenOcta · 八爪鱼智能体 · AI智能体 · Agent · 落地案例

微众银行选用轻量化国产OpenOcta搭建数据库AI运维,沉淀96项运维技能,覆盖600+多引擎数据库实例。DBA由运维操作员转为审批者,故障排查效率最高提升144倍,上线一月零安全事故,大幅释放人力聚焦架构优化

供稿:微众银行
微众银行 DBA 团队基于国产开源智能体OpenOcta工具,把团队的运维经验固化成 96 个 AI 技能包——覆盖 600+ 实例、5 种数据库引擎。查慢查询、巡检磁盘、SQL 耗时分析……DBA 从操作员变成了审批者,上线 1 个月零安全事故。

凌晨 2:37

凌晨 2:37,值班手机震动。

"10.108.xx.xx 从库延迟持续超过 600s"——告警来了。

打开企业微信,@AI 运维助手,发了一句:"帮我看一下这个仓库怎么回事。"

12.5 秒后,AI 返回了诊断结果:3 个运行时间长的慢查询阻塞主库 binlog 同步,导致从库延迟。附带 Kill 建议。

DBA 回复"确认执行",2 分钟内延迟恢复正常。

整个过程,DBA 只做了一件事——在手机上确认。

"
这不是科幻片。这是微众银行 DBA 团队每天都在使用的工作方式。

600+ 数据库实例,1 个人

和大多数金融机构一样,微众银行的数据库环境极具挑战:

600+数据库实例 · 多引擎混合(TDSQL / TiDB / WeRedis / PostgreSQL / Milvus)· 1 人值班

传统做法:收到告警 → 开电脑 → 连 VPN → 登录跳板机 → 查监控 → 分析 SQL → 手动操作。一个慢查询诊断就是 15~20 分钟。夜间被叫醒到真正开始处理,至少 10 分钟。

更痛苦的是批量巡检:磁盘、连接数、慢查询趋势、主从延迟、大表增长……巡检项多,全靠人肉排查效率低。日复一日盯着同样的指标,告警疲劳下容易漏掉真正的异常。巡检和故障处理争抢时间,巡检永远排不上优先级。

"
"一个人,工作强度很大。"——这是团队最真实的感受。

从"操作员"到"指挥官"

AI 带来的最大变化不是速度,而是角色转变

传统流程

📱 告警 

 😴 被叫醒 💻 开电脑 

 🔒 连 VPN 🖥️ 登录跳板机 

 📊 查监控 🔍 分析 SQL 

 🛠️ 手动操作


⏱ 全流程:

15~20 分钟


👤 角色:

操作者——每个环节都要亲自做

AI 流程

📱 手机看诊断报告 ✅ 确认执行


⏱ 全流程:

~2 分钟


👤 角色:

审批者——AI 执行,DBA 决策

"
DBA 从"操作员"变成了"指挥官"——AI 完成侦查和作战方案,DBA 只需要说"确认执行"。

这个转变不是靠换人,而是靠换工具。


真实场景

🔍 场景 1:慢查询诊断

144x 提升

👤 DBA查一下 10.108.xx.xx 最近 1 小时的慢查询
🤖 AI 诊断已分析赤兔平台慢查询日志,发现 3 条慢查询:

TOP 1· 耗时 23.7s · 执行 47 次
SELECT * FROM trade_record WHERE create_time > ? AND status = ?
扫描行数 1,280 万,索引命中率仅 3.2%
建议:添加(create_time, status)联合索引,预计优化后耗时 < 0.1s

TOP 2· 耗时 8.4s · 执行 12 次
SELECT COUNT(*) FROM user_order WHERE merchant_id = ?
全表扫描,该表 560 万行
建议:添加(merchant_id)索引

TOP 3· 耗时 4.2s · 执行 3 次
已有索引命中,为批量报表查询,建议调整到业务低峰期执行。
接入前
DBA 逐台登录 → 手动分析 → ~20 分钟
接入后
AI 自动分析 → 结果返回 → 8.3 秒

✨ 效率提升 144 倍


🔄 场景 2:从库延迟告警

10x 提升

👤 告警自动触发⚠️ 10.108.xx.xx 从库延迟持续超过 600s,已自动启动诊断
🤖 AI 自动诊断诊断完成,延迟根因分析:

延迟原因:3 个长时间运行的慢查询阻塞主库 binlog 同步
影响范围:该从库服务 12 个业务读取,当前延迟 623s
操作建议:Kill 以下 3 个查询可恢复同步

Query ID 23451 · 运行 892s · SELECT ... FROM order_detail
Query ID 23487 · 运行 567s · SELECT ... FROM user_session WHERE ...
Query ID 23502 · 运行 423s · SELECT ... FROM trade_record
👤 DBA确认执行
🤖 AI✅ 已 Kill 3 个查询。从库延迟已开始回落:623s → 412s → 89s → 0s。恢复正常。
接入前
被叫醒 → 开电脑 → 登录诊断 → ~20 分钟
接入后
手机查看 → 确认执行 → 2 分钟恢复

✨ 效率提升 10 倍


📋 场景 3:600+ 实例健康状态检查

30x 提升

👤 DBA帮我检查所有实例的健康状态
🤖 AI 巡检报告已完成 600+ 实例全量巡检,耗时 10 分钟。结果汇总:

✅ 正常:~550 个实例
⚠️ 警告:~45 个实例需关注
🔴 异常:少量实例需立即处理

TOP 5 异常实例:
1. 10.108.xx.21 · 磁盘使用率 92.3%(日增 1.8%,预计 4 天写满)
2. 10.108.xx.35 · 连接数 287/300(连接池接近满载)
3. 10.108.xx.48 · 从库延迟 234s(持续增长中)
4. 10.107.xx.12 · 慢查询数较昨日增长 340%
5. 10.107.xx.67 · 内存使用率 89%(接近 OOM 阈值)

建议:优先处理 #1(磁盘)和 #3(从库延迟),其他建议今天内处理。
👤 DBA帮我梳理一下 #1 实例的大表情况,通知对应的子系统运维人员
🤖 AI已分析该实例 TOP 10 大表,并匹配 CMDB 子系统归属:

需清理:
1. audit_log 120GB · 归属:风控子系统 · 负责人:张三
2. trade_record 85GB · 归属:交易子系统 · 负责人:李四
3. user_behavior 43GB · 归属:用户子系统 · 负责人:王五

已向三位负责人发送企微通知,附大表详情和清理建议。预计清理后磁盘使用率从 92.3% 降至 61%。
接入前
手动登录少量核心实例 → 耗时半天
接入后
AI 批量检查全量实例 → 10 分钟

✨ 效率提升 30 倍


📊 场景 4:SQL 耗时突增识别

600+ 实例每天产生海量 SQL,其中绝大多数是正常的。但偶尔会有某条 SQL 的耗时从 5ms 悄悄跳到 50ms——慢查询阈值都够不上,却在高并发下拖垮整个联机链路。这种"隐形的性能杀手",人工根本找不出来。

👤 DBA帮我看一下 xx 实例最近有没有 SQL 耗时异常升高
🤖 AI 诊断发现 2 条 SQL 耗时突增:

1. SELECT ... FROM order_detail WHERE status=?
近 7 天平均 3.2ms → 近 24 小时飙升至 47ms(↑14.7 倍)
原因:数据量从 120 万增长到 380 万,索引命中率下降
建议:添加 (status, created_at) 联合索引

2. UPDATE user_session SET last_active=? WHERE user_id=?
近 7 天平均 1.8ms → 近 24 小时升至 23ms(↑12.8 倍)
原因:连接池泄漏导致锁等待
建议:检查应用连接池配置,当前活跃连接数 287/最大 300
核心价值:
以前 DBA 只能看到"慢查询"——超过阈值的才报警。但真正致命的往往是那些还没到慢查询阈值、却在持续恶化的 SQL。AI 通过趋势分析,在问题变成故障之前就把隐患揪出来。


🔍 场景 5:TDSQL 主备切换异常分析(多 Agent 协作)

15x 提升

TDSQL 主备异常切换是最让 DBA 头痛的故障之一——原因可能藏在 MySQL 错误日志、Agent 日志、Scheduler 日志、主机系统日志、ZooKeeper 日志的任意一个里。以前 DBA 要逐个登录、逐条翻日志,拼凑时间线,一次分析至少 30 分钟。

现在,多个 Agent 同时工作,各自负责不同日志源:

Agent 1

MySQL
Error Log

Agent 2

TDSQL
Agent Log

Agent 3

Scheduler
Log

Agent 4

主机
系统日志

Agent 5

ZooKeeper
Log

👤 DBAxx 实例昨天凌晨发生了主备异常切换,帮我查一下根因
🤖 AI 多 Agent 诊断报告5 个 Agent 并行分析完成,耗时 2 分钟。根因链路如下:

① 主机系统日志(Agent 4):02:14 磁盘 IO 抖动,iostat 显示 %util 从 12% 飙到 94%,持续 38 秒
② TDSQL Agent 日志(Agent 2):02:14:23 心跳写入失败(IO 超时),连续 3 次未上报
③ ZooKeeper 日志(Agent 5):02:14:41 节点心跳超时,触发 master 重新选举
④ Scheduler 日志(Agent 3):02:14:43 下发主备切换指令
⑤ MySQL Error Log(Agent 1):02:14:45 主库释放锁,备库提升为新主

根因结论:主机磁盘 IO 抖动 → Agent 心跳写不进去 → ZooKeeper 判定节点下线 → 触发主备切换。
建议:检查主机磁盘健康状态(smartctl -a),排查是否有其他进程抢占 IO。

接入前

逐台登录翻日志 → 手动拼时间线 → ~30 分钟

接入后

5 Agent 并行分析 → 自动拼链路 → 2 分钟出报告

关键突破:
多 Agent 协作让 AI 从"单线程分析"升级为"多线程并行"——每个 Agent 负责一个日志源,同时工作,最后自动拼接因果链路。DBA 只需要看结论。


📈 场景 6:智能巡检提前 6 天预警

👤 DBA分析一下 10.108.xx.21 磁盘趋势,看看还能撑多久
🤖 AI 容量分析已分析近 7 天磁盘使用趋势:

当前状态:磁盘使用率 78.5% · 剩余空间 43.2GB
日均增长:1.8GB/天(较上周增长 12%)
主要增长来源:
 · binlog 日均 0.8GB(保留期 14 天,可优化)
 · audit_log 日均 0.6GB(90 天前数据可归档)
 · 业务数据日均 0.4GB(正常增长)

⚠️ 预警:按当前增速,预计 6 天后达到 90% 告警阈值。

建议:
1. 立即:清理 audit_log 90 天前数据,释放 ~54GB
2. 本周:binlog 保留期从 14 天调整为 7 天,释放 ~12GB
3. 中期:申请扩容磁盘至 500GB
核心教训:
数据库故障很少"突发",大多是缓慢恶化到临界点后暴露。AI 的价值在于提前发现趋势,在故障发生前就介入。

ROI 量化总结

场景
接入前
接入后
提升
慢查询诊断
~20 分钟
8.3 秒
144x
从库延迟告警
~20 分钟
2 分钟
10x
实例健康状态检查
半天
10 分钟
30x
SQL 耗时突增识别
难以发现
自动识别
从 0 到 1
主备切换异常分析
~30 分钟
2 分钟
15x
智能巡检预警
事后发现
提前 6 天
从 0 到 1

上线 1 个月以来的运行数据:

832

总咨询量

692

工具调用

100%

服务可用性

0

安全事故

48

活跃用户

~49

日均调用

4.8

满意度评分

600+

日均覆盖实例

205

会话全量追溯


"
 上线 1 个月,832 次咨询,692 次工具调用,零安全事故——ROI 的核心不是技术指标,而是 DBA 从重复劳动中解放出来,去做更有价值的事。

为什么是 OpenOcta?

构建 AI 运维助手,第一个选择不是"怎么搭",而是"用什么搭"。2025 年底市面上的 AI Agent 框架已经不少,我们圈定了三个候选,花了两周做技术评估。

对比维度
✅ OPENOCTA
⚠️ DIFY
⚠️ OPENCLAW
开发语言
Go — 静态编译,单二进制
Python + TypeScript
TypeScript (Node.js)
部署效率
✅ 单 Go 二进制,scp 即运行
⚠️ Docker Compose,多组件
⚠️ npm install,需运行时
资源开销
✅ ~50MB 内存,4C8G 轻松承载
⚠️ 最低 4GB,推荐 8GB
⚠️ 中等内存开销
安全管控
✅ SkillsOnly + 全量审计
⚠️ 插件权限管理
⚠️ MCP + Skill 权限
企微协同
✅ 内置通道,零开发
✅ 官方 WeCom Bot 插件
✅ 官方企微插件
协议标准
✅ MCP 原生支持
✅ MCP 支持(v1.6.0+)
✅ MCP 原生支持
离线部署
✅ 原生支持,内网开箱即用
❌ 首次需拉取 Docker 镜像
⚠️ 首次需网络安装
审计追溯
✅ Session 级全量记录
⚠️ LLMOps 监控
⚠️ SQLite 会话持久化
二次开发
✅ Go,编译为单二进制
⚠️ Python + Docker
⚠️ TypeScript,npm

真实决策维度

圈定三个候选后,我们从四个维度做了评估:

先试了 Dify。 当时 Dify 最火(50k+ stars),社区活跃,可视化工作流编排很吸引人。但框架较重,上手难度大,团队从现有技术栈迁移过来成本高,后续运维负担也不轻。

再看 OpenClaw。 GitHub 上最火的数据库 AI Agent,功能丰富,社区活跃。但功能越多,暴露面越大——漏洞频发,安全补丁跟不上。我们是垂类场景,不需要大而全的平台,反而需要做减法:只保留数据库运维相关的能力,砍掉多余的功能模块。

最后试了 OpenOcta。 四个关键因素让我们最终定下来:

🇨🇳 关键因素 1:全栈国产化

Go 语言开发,国产化生态兼容性好,可编译为单二进制在银河麒麟等国产 OS 上运行。chroot 隔离 + SkillsOnly 白名单满足金融行业安全合规要求。

📦 关键因素 2:轻量化部署

单 Go 二进制 ~50MB,scp 传上去就能跑,零依赖。跳板机 4 核 8GB 轻松承载,内存占用仅 ~50MB。选 OpenOcta 最直接的原因:它真的能在我们的机器上跑起来。

👥 关键因素 3:团队可维护性

Go 单二进制架构,整个系统只有 1 个进程,DBA 团队独立完成部署、升级、回滚,不依赖其他团队。

⚠️ 关键因素 4:社区生态(需关注)

客观说,OpenOcta 的社区活跃度远低于 Dify(50k+ stars)和 OpenClaw。选择 OpenOcta 是在生态上做了取舍——换来了安全可控和轻量部署。更重要的是,我们在开源代码基础上进行了深度改造:新增了 SkillsOnly 白名单模式,只允许 AI 执行预注册的运维技能,从架构层面杜绝了越权操作。这也是我们 fork 独立维护的原因。

选型定下来后,我们基于 OpenOcta 的 Skills 机制把 DBA 团队的经验固化为运维技能包——慢查询诊断、磁盘巡检、SQL 耗时分析,这些占 DBA 日常 80% 的重复工作通过 Skills 固化下来,AI 自动执行。不是造一个庞大的管理平台,而是做减法——把团队的知识直接变成 AI 的能力。

"
选型没有最好的,只有最合适的。Dify 适合做通用对话,OpenClaw 适合做标准化的数据库管理平台,但我们要的不是另一个管理平台——我们要的是一个能在 4C8G 跳板机上跑起来、满足国产化要求、而且值班 DBA 就能维护的轻量框架。OpenOcta 在这三个维度上刚好满足。

96 个工具怎么搭

我们基于 OpenOcta 和自研 AI-数据库中间件,正式构建了数据库 AI 运维助手。整个架构分为 7 层:

7 层架构图

系统架构:7 层分层设计,从用户入口到数据层全链路覆盖

消息从用户发出到返回,经过完整的请求/响应闭环:

全链路数据流转:一条消息的请求/响应闭环

① 接入层
WebSocket
② Bridge 层
协议转换/审批
③ AI 引擎
OpenOcta chroot
④ MCP 网关
限流/ACL/审计
⑤ MCP 服务
7 服务 96 工具

🔽 请求路径

🗄️ ⑥ 数据层 — 云 MariaDB 400+ / TiDB 100+ / 黑石 TDSQL 100+
实际数据库实例与监控系统

🟢 响应路径

MCP 网关
结果返回
AI 引擎
脱敏处理
Bridge 层
格式化+评分
企微/TCTP
推送给用户
👤 DBA
手机查看/确认

全程 < 30 秒 · 请求路径(蓝)与响应路径(绿)构成完整闭环 · 途经 6 个节点

数据流转图

请求路径(蓝)与响应路径(绿):一条消息穿越 6 层后返回

关键在 MCP(Model Context Protocol)层——它把数据库操作能力标准化为 96 个工具,覆盖 7 个 MCP 服务

服务
端口
工具数
能力
tdsql-mcp
8932
35
TDSQL 运维操作
mysql
8933
7
MySQL 查询诊断
tidb
8934
4
TiDB 集群管理
cmdb
8935
16
资产与运维组查询
mariadb-cloud-api
8938
14
云 MariaDB 管理
blackstone-monitor
8939
13
监控指标查询
oss-api
8940
7
OSS 对象存储
💡 有意思的发现:
从 692 次工具调用的数据来看,TOP 5 工具覆盖了 80% 以上的日常操作——全部是读操作,没有一个写操作。写操作(参数修改、Kill 执行)都需要人工确认。这是安全设计的结果,不是巧合。
排名
工具
归属服务
典型场景
调用占比
🥇
query_slow_log
tdsql-mcp / mysql
慢查询诊断、从库延迟分析
~28%
🥈
search_instances
cmdb
用户鉴权、实例白名单匹配
~22%
🥉
get_disk_usage
blackstone-monitor / cloud
磁盘巡检、容量预测
~15%
4
show_processlist
tdsql-mcp / mysql
活跃会话查看、Kill 前确认
~10%
5
get_metric_trend
blackstone-monitor
性能趋势分析、容量规划
~8%

AI 不是替代 DBA,而是解放 DBA

当 AI 可以在 8 秒内完成原本 20 分钟的诊断,DBA 就有精力去关注架构优化、容量规划、规范治理——这些真正影响系统长期健康的事情。

一人管 600+ 实例,不是靠堆人,而是靠工具。