fastdbchkrep项目(数据库自动生成巡检报告) open source

fastdbchkrep 起源于我不想整理巡检报告的惰性需求,特意弄的一个工具。

经历了3个多月的功能开发和展示优化,目前已经满足了我的需求。

感兴趣的同学们也来一起尝试下。

github:https://github.com/iop07695432/fastdbchkrep


image


 

FastDBCheckRep

数据库巡检报告生成工具 - 让 DBA 专注于数据库分析而非报告格式化

Python Version License

📖 项目概述

核心定位

FastDBCheckRep 是一款数据库巡检和报告生成的工具包,旨在为数据库管理员(DBA)提供自动化、专业化的数据库健康检查和报告生成服务。

解决的问题

在企业级数据库管理领域,传统的数据库巡检工作面临以下挑战:

  • 数据收集复杂性:需要从多个系统层面(操作系统、数据库实例、存储等)收集大量指标数据
  • 报告格式化耗时:DBA 需要花费大量时间将技术数据转换为业务可读的专业报告
  • 一致性难以保证:手工报告容易出现格式不统一、遗漏关键信息等问题
  • 可视化要求提升:现代企业对数据可视化和图表展示的要求越来越高

核心理念

让 DBA 专注于数据库分析而非报告格式化

  • 自动化数据收集 → 解析 → 报告生成 → PDF 导出全流程
  • 标准化、专业化的报告输出,便于项目交付验收
  • 高质量的图表和可视化输出

目标用户

  • 数据库管理员(DBA)
  • 运维工程师
  • 技术咨询公司
  • 需要定期生成数据库巡检报告的企业
  • 目标用户

    • 数据库管理员(DBA)
    • 运维工程师
    • 技术咨询公司
    • 需要定期生成数据库巡检报告的企业

    ✨ 功能特性

    已完整实现的功能

    Oracle 数据库支持(✅ 完整实现)

    • 单机模式(ONE):支持 Oracle 11g、12c、19c 非多租户版本
    • RAC 模式:支持 2-4 节点 Oracle RAC 集群
      • 自动合并多节点报告
      • 图片路径自动重写
      • 节点一致性验证
    • AWR 报告处理:高保真 HTML 截图(支持按 summary 文本灵活匹配截取 AWR 各章节)
    • 性能监控图表:CPU、内存、磁盘 I/O 趋势图(Matplotlib 生成)

    MySQL 数据库支持(✅ 完整实现)

    • 单机模式(ONE):完整的 MySQL 巡检数据解析
    • 独立解析器:专用的 MySQL 元数据解析器

    SQL Server 数据库支持(🚧 部分实现)

    • 版本支持:2005、2008、2012、2014、2016、2017、2019
    • 直接 TXT 解析:跳过 JSON 中间层,简化流程
    • 智能版本检测:通过版本字符串和提示语双重判断
    • 当前状态:解析器和报告生成器已实现,持续优化中

    技术亮点

    🎨 AWR HTML 截图解决方案(里程碑级创新)

    • 高保真截图:使用 Playwright 实现 AWR 报告的高质量截图
    • 自动化处理:无需手工截图和裁剪
    • 图片压缩优化:Pillow 压缩至 <200KB
    • 技术价值:将 AWR 报告处理时间从小时级降低到分钟级

    📊 性能监控图表生成

    • CPU 使用率趋势图:user/system/iowait/idle 多维度展示
    • 内存使用率图表:双 Y 轴(百分比 + GB)
    • 磁盘 I/O 趋势图:读写性能可视化
    • 高质量输出:300 DPI,适合打印和展示

    🔄 RAC 多节点支持

    • 支持 2-4 节点(不仅限于 2 节点)
    • 自动合并节点报告
    • 图片路径自动重写
    • 节点一致性验证

    📦 二进制分发支持

    • PyInstaller 打包,无需 Python 环境即可运行
    • Playwright 浏览器可打包到二进制中
    • 适合客户现场部署
posted @ 2025-11-02 22:38  小至尖尖  阅读(16)  评论(0)    收藏  举报