# slowscope **Repository Path**: chenshaoyong01/slowscope ## Basic Information - **Project Name**: slowscope - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-07-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SlowScope SlowScope 是一个全面的数据库慢查询分析和监控平台。它提供工具来分析慢查询、监控数据库健康状况,并优化 MySQL 和 OceanBase 数据库的 SQL 性能。 开发这个平台的初衷是,公司有oceanbase、mysql数据库,ob 要查看慢日志通过ocp,对多个实例页面频繁切换,并且对云版的ob不太友好(得一直登录到阿里云控制台,隔一个小时就超时), 虽然也可以把慢日志发送到es上,但是es只能查看、统计,无法进行一些常规的操作。通过平台可以进行一些ob的常规操作(绑执行计划、限流、分析慢sql、结合ai优化、资源隔离等) ![输入图片说明](image.png) ![输入图片说明](image2.png) ## 功能特性 - **慢查询分析**:收集、解析和分析来自 MySQL 和 OceanBase 的慢查询日志 - **数据库监控**:实时健康监控、复制状态和 InnoDB 指标 - **SQL 优化**:集成 SQL 优化建议,包括 SOAR 和基于 AI 的重写建议 - **实例管理**:管理多个数据库实例和数据库 - **会话管理**:查看和管理活动的数据库会话 - **表信息**:查看表结构、索引并执行表分析 - **运维工具**:Binlog 解析、缓存清理、数据对比等 ## 技术架构 - **前端**:Vue 3 + Vite - **后端**:Flask (Python 3.10) - **数据库**:MySQL(用于存储慢查询数据和平台元数据) ## 前置要求 - Python 3.10 - Node.js 16.15+ - MySQL 5.7+ - 可选:sqladvisor、SOAR 等分析工具 ## 安装 ### 1. 克隆仓库 ```bash git clone cd slowscope ``` ### 2. 数据库设置 创建数据库和用户: ```sql CREATE DATABASE slowquery; CREATE USER dba@'%' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO dba@'%'; ``` 导入表结构文件: ```bash mysql -udba -p slowquery < slowquery_table_schema/dbinfo_table_schema.sql mysql -udba -p slowquery < slowquery_table_schema/slowquery_table_schema.sql mysql -udba -p slowquery < slowquery_table_schema/users_table_schema.sql ``` **重要 MySQL 配置**: 确保在 MySQL 配置中设置以下参数: ```ini secure-file-priv='/tmp' local_infile = ON ``` ### 3. 后端设置 ```bash cd backend python3.10 -m pip install -r requirements.txt vi .env ## 改成你自己的数据库信息 ``` 编辑 `backend/.env` 配置数据库连接信息: - `SECRET_KEY`:您的密钥 - `DB_HOST`:数据库主机 - `DB_PORT`:数据库端口 - `DB_USER`:数据库用户名 - `DB_PASSWORD`:数据库密码 - `DB_NAME`:数据库名称 - `PYTHON_BIN`:Python 3.10 可执行文件路径 ### 4. 前端设置 ```bash cd frontend npm install vi .env ##修改访问端口 ``` ### 5. 外部工具(可选但推荐) 在 Linux 上使以下工具可执行: ```bash chmod +x tools/soar chmod +x tools/checkData chmod +x tools/my2sql ``` 将 `client_agent_script/soar.yaml` 复制到 `/etc/` 目录,并配置 test-dsn 连接。 ## 开发模式 ### 快速启动(Linux) ### 手动启动 **启动后端**: ```bash cd backend python3.10 run.py ``` **启动前端**: ```bash cd frontend npm install npm run dev ``` ## 生产构建 ### 构建前端 ```bash cd frontend npm install npm run build ``` ### 在生产环境运行后端 ```bash cd backend python3.10 -m pip install -r requirements.txt waitress-serve --host 0.0.0.0 --port 8080 run:app ``` Flask 后端将从 `frontend/dist/` 提供构建好的前端文件。 ### 构建发布包 ## 慢查询收集 ### MySQL 慢日志收集 将 `client_agent_script/slowquery_analysis.sh` 和 `pt-query-digest` 复制到您的 MySQL 服务器,配置脚本,并设置定时任务: ```bash */5 * * * * /bin/bash /usr/local/bin/slowquery_analysis.sh > /dev/null 2>&1 ``` ### OceanBase 慢日志收集 将 `client_agent_script/ob_slow.sh` 复制到您的运维机器,在脚本中添加您的 OceanBase 服务器,并设置定时任务: ```bash */5 * * * * /bin/bash /usr/local/bin/ob_slow.sh > /dev/null 2>&1 ``` **注意**:对于 OceanBase,设置 `ob_sql_audit_percentage=10` 以防止慢查询被清除。 ## 默认账号 - **管理员**:`admin` / `admin123` - **只读用户**:`test` / `test123` ## 项目结构 ``` slowscope_0409_trea/ ├── backend/ # Flask 后端 │ ├── app/ # 应用路由和服务 │ ├── requirements.txt # Python 依赖 │ └── run.py # 后端入口 ├── frontend/ # Vue 3 前端 │ ├── src/ # 源代码 │ ├── public/ # 静态资源 │ └── package.json # Node 依赖 ├── slowquery_table_schema/ # 数据库表结构 ├── client_agent_script/ # 慢日志收集脚本 ├── tools/ # 外部分析工具 ```