Files
chill_notes/wiki/AI工程/DBCheck数据库巡检工具研究.md
2026-05-05 13:27:16 +08:00

4.2 KiB
Executable File
Raw Permalink Blame History

DBCheck — 开源跨平台数据库巡检工具研究

来源: https://mp.weixin.qq.com/s/tR4FpYFnfi6vFmPgoNSUuA 研究日期: 2026-05-05

项目概览

支持的数据库

数据库 连接资源 缓存性能 查询效率 日志 安全 集群
MySQL
PostgreSQL
SQL Server
达梦 DM8
TiDB
Oracle

解决的三大痛点

痛点 说明 DBCheck 方案
重复劳动 50 套库 × 20 分钟 = 16 小时 一键自动3 分钟出报告
标准不一 不同 DBA 巡检质量差异大 内置 130+ 标准化规则
历史缺失 无法判断趋势 自动保存快照,趋势折线图

系统架构

用户交互层
├── CLI 模式(自动化脚本/CI/CD
├── Web UI 模式Flask + 原生 JS
└── 编程接口Python 模块 import

核心调度层
├── checkdb() 总入口
├── APScheduler 定时调度
└── SSH 隧道支持

数据库适配层
├── main_mysql.py
├── main_pg.py
├── main_sqlserver.py
├── main_dm.py达梦
└── main_tidb.py

分析引擎层
├── analyzer.py130+ 规则引擎)
├── slow_query_analyzer.py慢查询分析
└── AI 诊断模块Ollama 本地)

输出层
├── Word 报告python-docx
└── Web UI 可视化报告

核心功能

1. AI 智能诊断

  • 本地部署 Ollama,数据零出站,满足等保合规
  • 建议包含:问题描述 + 可执行 SQL + 操作影响 + 优先级标注
  • 安全约束:硬编码仅允许 localhost无法被配置绕过

2. 130+ 条标准化检查规则

覆盖维度:

  • 连接资源(连接数使用率、连接堆积)
  • 缓存性能Buffer Pool 命中率)
  • 查询效率(全表扫描、慢查询)
  • 日志与告警(错误日志、归档日志空间)
  • 安全审计(弱密码、权限过剩)
  • 复制/集群主从延迟、Region 均衡)

3. 历史趋势分析

  • 每次巡检快照自动存入 history.jsonSQLite 版本规划中)
  • Web UI 折线图展示关键指标历史变化
  • 支持任意时间段对比

4. 慢查询深度分析

  • 解析慢查询日志,提取 Top 20 慢 SQL
  • 执行 EXPLAIN 模拟,识别全表扫描、索引缺失
  • 自动生成建议创建的索引 SQL

5. RAG 知识库(进阶功能)

  • 支持格式PDF、Markdown、TXT、HTML
  • 检索增强生成,让 AI 建议更精准

6. 定时巡检 + 多渠道告警

  • 基于 APScheduler支持标准 Cron 表达式
  • 企业微信/钉钉/邮件通知

快速上手

# 方式一:源码运行
git clone https://github.com/fiyo/DBCheck.git
cd DBCheck
pip install -r requirements.txt
python web_ui.py
# 访问 http://localhost:5000

# 方式二:下载可执行文件
# Windows: DBCheck.exe
# Linux: DBCheck-Linux-x64
# macOS: DBCheck-macOS-x64

技术栈

组件 技术
后端 Python + Flask
报告生成 python-docx
定时任务 APScheduler
AI 诊断 Ollama本地 LLM
前端 原生 JS无重型框架
数据持久化 history.json → 规划 SQLite

开源理念

  • MIT 许可证,商用/修改/分发自由
  • 所有检查 SQL、AI Prompt、报告逻辑全部开源可审计
  • 功能路线图由社区投票决定
  • 参与方式Star / Issue / PR

项目评价

优点

  • 解决真实痛点,实用性强
  • 多数据库支持,国产达梦也在列
  • AI 诊断本地部署,安全合规
  • 架构清晰,模块化设计
  • 零重型前端依赖,部署极简

可改进

  • 🔧 历史数据目前用 JSON建议尽早切 SQLite
  • 🔧 Web UI 较简单,可考虑 Vue3/Element Plus 升级
  • 🔧 可增加更多数据库MongoDB、Redis 等)