数据库巡检管理系统来啦(支持MySQL/Oracle/PG/sqlserver)17认证网

正规官方授权
更专业・更权威

数据库巡检管理系统来啦(支持MySQL/Oracle/PG/sqlserver)

DBManager 数据库管理系统

项目概述

DBManager 是一款面向 DBA 团队的数据库运维管理平台,提供数据库实例资产管理、自动化巡检、数据归档、数据备份以及定时任务调度等核心能力。系统支持 MySQL、PostgreSQL、Oracle、SQL Server 四种主流关系型数据库,覆盖从实例登记、健康巡检、数据生命周期管理到备份恢复的全流程运维场景。

系统采用前后端分离架构,前端基于 Vue 3 + Element Plus 构建现代化单页应用,后端基于 Flask 提供 RESTful API 服务,通过 SSH 协议远程采集主机操作系统指标,结合数据库原生工具实现自动化运维。


技术栈

层级 技术选型
前端框架 Vue 3 + Vite
UI 组件库 Element Plus
图表库 ECharts
后端框架 Flask 3.x
数据库 MySQL
定时调度 APScheduler
SSH 采集 Paramiko
PDF 报告 ReportLab
环境配置 python-dotenv

系统架构

系统共包含 8 大功能模块,按业务域划分为资产管理、运维管理和系统管理三大类:

DBManager
├── 资产管理
│   ├── 实例管理(实例列表、实例详情、用户管理)
│   └── 首页仪表盘
├── 运维管理
│   ├── 巡检管理(巡检记录、巡检分析、巡检模板、巡检配置)
│   ├── 归档管理(归档记录、归档分析、归档配置)
│   ├── 备份管理(备份记录、备份分析、备份配置)
│   └── 任务管理(任务列表、任务日志)
└── 系统管理
    ├── 用户管理
    └── 操作日志

模块详细说明

一、首页仪表盘

首页仪表盘提供全局概览,帮助 DBA 快速掌握系统整体运行状态。

统计卡片

仪表盘顶部展示 4 张核心统计卡片:

卡片 说明
数据库实例总数 已登记的数据库实例数量,按数据库类型分类展示
巡检总数 系统累计执行的巡检次数
归档总数 系统累计执行的归档次数
备份总数 系统累计执行的备份次数

数据图表

  • 近 7 天巡检/归档/备份趋势:分组柱状图,以天为横轴,展示近一周内巡检、归档、备份的执行次数对比
  • 实例类型分布:饼图,展示 MySQL、PostgreSQL、Oracle、SQL Server 各类型实例的占比

其他信息

  • 告警概况:展示系统中近期的告警数量和级别分布
  • 配置概览:展示当前已启用的定时巡检、归档、备份配置数量
  • 最近活动:按时间倒序展示最近的系统操作记录


二、资产管理

2.1 实例列表

实例列表页面用于管理所有数据库实例资产,支持多维度筛选和批量操作。

列表字段

字段 说明
实例名称 数据库实例标识名称
主机地址 数据库服务器 IP 地址
端口 数据库监听端口
数据库类型 MySQL / PostgreSQL / Oracle / SQL Server
数据库版本 数据库版本号
环境 开发 / 测试 / 预发布 / 生产
状态 运行中 / 已停止 / 连接异常
操作 详情、编辑、删除、检测连接

筛选功能

  • 关键词搜索(实例名称/主机地址)
  • 按数据库类型筛选
  • 按环境类型筛选

批量操作

  • 批量连接检测:一次性检测多个实例的连通性
  • 导出 Excel(待开发):将实例列表导出为 Excel 文件
  • 导入 Excel(待开发):从 Excel 文件批量导入实例信息

2.2 实例详情

实例详情页面根据数据库类型差异化展示关键指标,帮助 DBA 快速了解实例运行状态。

基础信息

展示实例名称、主机地址、端口、数据库类型、版本、环境、操作系统、CPU 核数、内存大小等基本信息。

存储空间

展示主机所有磁盘分区的使用情况(非仅系统盘),包含:

字段 说明
分区/挂载点 磁盘分区名称或挂载路径
文件系统 文件系统类型(ext4/xfs/ntfs 等)
总容量 分区总大小
已用空间 已使用空间
可用空间 剩余可用空间
使用率 磁盘使用率百分比,高使用率自动标红

数据库类型专属指标

系统根据数据库类型自动切换展示以下专属指标:

MySQL 实例

  • 连接数(当前连接 / 最大连接数)
  • 线程缓存命中率
  • InnoDB Buffer Pool 大小及利用率
  • 查询缓存命中率
  • 慢查询统计
  • 主从复制状态(如有)

    PostgreSQL 实例

  • 活跃连接数 / 最大连接数
  • 缓存命中率
  • 死元组统计(dead tuples)
  • 自动清理(AutoVacuum)状态
  • WAL 生成速率
  • 长事务统计

    Oracle 实例

  • SGA 大小及各组件分配
  • PGA 大小及使用率
  • 活跃会话数
  • 表空间使用情况(各表空间容量/使用率/自动扩展状态)
  • Redo Log 切换频率
  • 归档日志空间使用

    SQL Server 实例

  • 连接数统计
  • 内存使用(总内存 / 已用内存)
  • AlwaysOn 可用性组状态(如有)
  • 数据文件空间使用
  • 日志文件空间使用
  • VLF(虚拟日志文件)数量
    暂时没有实例可以测试,截图等后续部署完实例再进行测试

2.3 用户管理

实例用户管理页面用于查看和管理数据库实例上的账号信息。

列表字段

字段 说明
用户名 数据库登录用户名
主机/来源 允许连接的主机(MySQL)或所属 Schema
角色/权限级别 用户权限级别
创建时间 账号创建时间
账号状态 活跃 / 锁定 / 过期
操作 查看详情、编辑权限、重置密码

系统根据数据库类型自动适配展示字段,支持查看用户权限详情(抽屉面板展示)。

三、巡检管理

巡检管理模块是系统的核心功能之一,提供从巡检模板定义、定时配置、自动执行到结果分析的全流程管理。

3.1 巡检记录

巡检记录列表展示所有已执行的巡检任务结果。

列表字段

字段 说明
巡检名称 巡检任务名称
实例名称 被巡检的数据库实例
执行时间 巡检执行时间
总检查项 本次巡检的检查项总数
警告项 触发警告级别的检查项数量(橙色标记)
严重项 触发严重级别的检查项数量(红色标记)
评分 巡检综合评分(满分 100,绿色 ≥80 / 橙色 ≥60 / 红色 <60)
操作 查看详情、导出报告

操作功能

  • 查看详情:进入巡检详情页,按分类展示各检查项结果
  • 导出报告:生成 PDF 格式的巡检报告,支持书签导航和可跳转目录结构

3.2 巡检分析

巡检分析页面通过多维度图表帮助 DBA 掌握巡检趋势和问题分布。

分析图表

图表 类型 说明
评分趋势 折线图 按时间展示各实例的巡检评分变化趋势
问题项统计 堆叠柱状图 按时间展示警告项和严重项的数量分布
实例评分对比 柱状图 横向对比各实例的最新巡检评分
巡检项问题率 Top10 横向柱状图 展示出现问题频率最高的前 10 个巡检项

3.3 巡检模板

巡检模板页面用于定义和编辑数据库巡检的检查项目。

模板结构

巡检项按 6 大分类组织:

分类 检查内容示例
基础信息 数据库版本、字符集、运行时间、端口监听
配置检查 最大连接数、Buffer Pool 大小、日志配置、超时参数
性能指标 QPS/TPS、连接使用率、缓存命中率、锁等待
存储检查 表空间使用率、数据文件增长、临时空间、Undo 空间
安全检查 密码策略、远程登录限制、权限审计、SSL 配置
基线检查 参数与最佳实践对比、版本兼容性、补丁级别

自定义巡检项

支持用户自定义巡检 SQL,可配置以下属性:

属性 说明
巡检项名称 检查项显示名称
所属分类 基础/配置/性能/存储/安全/基线
警告级别 警告 / 严重
阈值条件 触发告警的阈值表达式
检查 SQL 自定义查询语句

系统内置了针对 MySQL、PostgreSQL、Oracle、SQL Server 的默认巡检模板,用户可在默认模板基础上增减巡检项。

3.4 巡检配置

巡检配置页面用于设置定时巡检任务的调度规则。

配置项

配置项 说明
选择实例 支持多选,可按类型和环境筛选
选择模板 选择关联的巡检模板
调度类型 Cron 表达式 / 固定间隔 / 指定时间
Cron 表达式 支持每天/每周/每月快速设置,也可手动输入自定义 Cron 表达式
任务状态 启用 / 暂停
通知方式 邮件通知(可配置收件人列表)

Cron 快速设置

  • 每天:可选执行时间(如 02:00)
  • 每周:可选星期和执行时间(如 周一 02:00)
  • 每月:可选日期和执行时间(如 1号 02:00)
  • 自定义:直接输入 Cron 表达式(支持实时预览下次执行时间)

3.5 巡检报告

巡检报告以弹窗形式展示(宽度 1300px),采用左右双栏布局。

报告结构

  • 左侧导航:按巡检分类(基础信息、配置检查、性能指标、存储检查、安全检查、基线检查)展示目录树,点击可跳转到对应章节
  • 右侧内容区:展示各巡检项的检查结果,包含检查项名称、当前值、阈值、检查结果(通过/警告/严重)
  • 顶部信息:展示巡检名称、实例信息、执行时间、综合评分(彩色徽章展示)

报告导出(功能暂时不够完善,报告不够完善,后期优化)

支持导出为 PDF 格式,PDF 文件包含:

  • 封面(巡检名称、实例、执行时间、评分)
  • 目录(可跳转的书签导航)
  • 各分类巡检项详情(通过/警告/严重分级着色)


四、归档管理

归档管理模块用于管理数据库历史数据的归档清理,基于 pt-archiver 等工具实现自动化数据归档,由于基于pt-archiver开发,所以目前归档仅支持MySQL数据库,其他类型数据库后期会逐步支持

4.1 归档记录

归档记录列表展示所有已执行的归档任务。

列表字段

字段 说明
归档名称 归档任务名称
实例名称 数据库实例
数据库/表 归档的源库表
归档模式 按条件归档 / 按时间归档
归档行数 本次归档的数据行数
数据量 本次归档的数据大小
耗时 归档执行时长
状态 成功 / 失败 / 执行中
执行时间 归档执行时间
操作 查看命令、查看日志、重新执行

详情查看

  • 命令预览:展示实际执行的 pt-archiver 命令(支持 Shell 语法高亮)
  • 执行日志:展示归档过程的完整日志输出

4.2 归档分析

归档分析页面通过图表展示归档任务的历史趋势。

分析图表

图表 类型 说明
归档次数趋势 折线图 按时间展示归档执行次数变化
数据量趋势 折线图 按时间展示归档数据量变化
成功率趋势 折线图 按时间展示归档成功率变化
归档模式分布 饼图 按条件归档 / 按时间归档的任务占比

4.3 归档配置

归档配置页面用于设置数据归档任务的规则和参数。

基本配置

配置项 说明
实例选择 选择目标数据库实例
数据库/表选择 选择需要归档的库表
归档模式 按条件归档(自定义 WHERE 条件)/ 按时间归档(指定时间字段和范围)
归档方式 删除源数据 / 标记归档(更新归档标记字段)
文件存储类型 本地路径 / FTP(待开发)/ S3/OSS(待开发)
调度设置 Cron 表达式 / 固定间隔 / 指定时间

pt-archiver 高级参数

参数 说明
–limit 每次查询的行数
–txn-size 每个事务处理的行数
–sleep 每次查询后的休眠时间(秒)
–max-lag 从库最大延迟时间(秒),超过则暂停归档
–check-slave-lag 检查指定从库的延迟
–statistics 打印统计信息
–dry-run 试运行模式,不实际执行
–charset 字符集设置
–where 自定义归档条件
–progress 显示进度信息

五、备份管理

备份管理模块用于管理数据库的自动备份任务,支持多种备份工具和策略。目前暂时只支持MySQL和Oracle的逻辑备份,后续其他类型数据库以及物理备份已经排期中

5.1 备份记录

备份记录列表展示所有已执行的备份任务。

列表字段

字段 说明
备份名称 备份任务名称
实例名称 数据库实例
备份类型 全量备份 / 增量备份
备份工具 mysqldump / xtrabackup / pg_dump / expdp / sqlcmd 等
数据量 备份数据大小
耗时 备份执行时长
备份路径 备份文件存储路径
过期时间 备份文件自动清理时间
状态 成功 / 失败 / 执行中 / 过期
执行时间 备份执行时间
操作 下载、删除、重新执行

5.2 备份分析

备份分析页面通过图表展示备份任务的历史趋势。

分析图表

图表 类型 说明
备份次数趋势 折线图 按时间展示备份执行次数变化
数据量与耗时 双轴图 主轴展示备份数据量,次轴展示备份耗时
成功率趋势 折线图 按时间展示备份成功率变化
备份类型分布 饼图 全量备份 / 增量备份的任务占比

5.3 备份配置

备份配置页面用于设置数据库自动备份任务的规则和参数。

基本配置

配置项 说明
实例选择 选择目标数据库实例
备份类型 全量备份 / 增量备份
备份工具 根据数据库类型自动推荐
存储类型 本地 / FTP(待开发)/ S3/OSS(待开发)/ NFS(待开发)
备份路径 备份文件存储目录
保留策略 保留份数 / 保留天数
调度设置 Cron 表达式 / 固定间隔 / 指定时间

数据库类型专属备份工具

数据库类型 支持的备份工具 关键参数
MySQL mysqldump –single-transaction, –routines, –triggers, –events, –master-data
MySQL xtrabackup –backup, –target-dir, –incremental-basedir, –parallel
PostgreSQL pg_dump -F c(自定义格式), -j(并行数), –verbose
Oracle expdp SCHEMAS, DIRECTORY, DUMPFILE, PARALLEL, FLASHBACK_SCN
SQL Server sqlcmd 备份数据库命令, WITH COMPRESSION, COPY_ONLY

六、任务管理(开发中)

任务管理模块提供通用的定时任务调度功能,支持 Shell、Python、SQL 三种命令类型的任务配置。

6.1 任务列表

列表字段

字段 说明
任务名称 定时任务名称
命令类型 Shell / Python / SQL
命令内容 任务执行的具体命令(支持代码高亮预览)
调度类型 Cron / 间隔 / 指定时间
调度规则 Cron 表达式 / 间隔时间 / 指定执行时间
状态 已启用 / 已暂停
上次执行 最近一次执行时间
下次执行 下一次预计执行时间
操作 编辑、暂停/启用、手动执行、查看日志、删除

三种调度模式

模式 说明
Cron 表达式 支持标准 Cron 表达式,如 0 2 * * *(每天凌晨 2 点)
固定间隔 按固定时间间隔执行,如每 30 分钟
指定时间 指定一次性执行时间

任务列表

6.2 任务日志

任务日志页面展示每个任务的执行历史和输出结果。

日志字段

字段 说明
执行时间 任务执行的时间戳
执行状态 成功 / 失败 / 超时
执行耗时 任务执行时长
标准输出 命令的标准输出内容
标准错误 命令的错误输出内容

任务日志


七、系统管理

7.1 用户管理

系统用户管理页面用于管理系统登录账号及其权限。

用户角色

角色 权限范围
管理员 全部功能权限,包括用户管理、系统配置
普通用户 运维操作权限(巡检、归档、备份、实例管理)
只读用户 仅查看权限,不可修改配置或执行操作

用户字段

字段 说明
用户名 登录用户名
姓名 用户真实姓名
邮箱 用户邮箱地址
角色 管理员 / 普通用户 / 只读用户
状态 启用 / 禁用
最后登录 最近一次登录时间
创建时间 账号创建时间
操作 编辑、重置密码、启用/禁用、删除

用户管理

7.2 操作日志

操作日志页面记录系统中所有用户操作行为,支持审计追溯。

日志字段

字段 说明
操作用户 执行操作的用户
操作模块 巡检管理 / 归档管理 / 备份管理 / 实例管理 / 系统管理
操作类型 新增 / 修改 / 删除 / 导出 / 执行 / 登录 / 其他
操作内容 操作描述
IP 地址 操作来源 IP
操作时间 操作发生时间

筛选与清理

  • 按模块筛选(下拉选择)
  • 按操作类型筛选(下拉选择)
  • 按时间范围筛选(日期选择器)
  • 日志清理:支持清理 90 天前的历史日志

操作日志


技术亮点

多数据库类型支持

系统同时支持 MySQL、PostgreSQL、Oracle、SQL Server 四种主流数据库,在巡检模板、备份工具、实例详情等模块均实现了按数据库类型的差异化处理。

SSH 远程主机采集

通过 Paramiko SSH 库远程连接数据库服务器,实时采集操作系统层面的指标(CPU 使用率、内存使用率、磁盘空间、系统负载等),与数据库指标相结合提供全方位监控。

自定义巡检 SQL

巡检模板支持用户自定义 SQL 检查项,可灵活配置检查项的分类、级别、阈值和查询语句,满足不同团队的定制化巡检需求。

智能化巡检报告

巡检报告采用左右双栏布局,左侧分类导航支持一键跳转,导出的 PDF 文件包含完整的书签导航结构,便于存档和分享。

多维度数据分析

巡检分析、归档分析、备份分析模块均提供多角度图表(趋势图、对比图、分布图),帮助 DBA 从历史数据中发现规律和问题。

定时任务调度

基于 APScheduler 实现灵活的定时任务调度,支持 Cron 表达式、固定间隔、指定时间三种调度模式,可满足各种自动化运维场景。


登录与布局

登录页

系统登录页采用渐变背景设计,展示 DBManager 系统标志。默认管理员账号:admin / admin123

登录页

系统布局

登录后进入系统主界面,采用经典的管理后台布局:

  • 顶部导航栏:系统标题、面包屑导航、用户信息下拉菜单(修改密码、退出登录)
  • 左侧菜单栏:深色主题(#001529),按模块分组展示导航菜单,支持折叠
  • 内容区域:右侧主内容区展示各功能页面

系统主界面布局


快速开始

  1. 克隆项目并进入目录
  2. 后端配置:复制 .env.example 为 .env,修改数据库连接、SSH 等配置项
  3. 启动后端服务:python run.py
  4. 安装前端依赖并启动:npm install && npm run dev
  5. 访问前端页面,使用管理员账号登录
  6. 进入「实例管理」添加数据库实例
  7. 配置巡检/归档/备份的定时任务

详细部署说明请参考 docs/deploy.md,二次开发指南请参考 docs/secondary-development.md

未经允许不得转载:17认证网 » 数据库巡检管理系统来啦(支持MySQL/Oracle/PG/sqlserver)
分享到:0

评论已关闭。

400-663-6632
咨询老师
咨询老师
咨询老师