# APM_V2 **Repository Path**: spark-group_1/APM_V2 ## Basic Information - **Project Name**: APM_V2 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-08 - **Last Updated**: 2026-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目说明 本项目基于若依 (RuoYi) 做二次开发,构建一个包含 **指标采集、数据存储、数据处理、可视化展示、告警系统、系统权限管理** 的监控平台。 **🚨 项目核心数据源约定(开发必读):** 1. **主库 (MASTER)**:若依系统配置数据库(存放用户、角色、权限字典等系统原生业务)。 2. **从库 (SLAVE)**:监控平台的功能模块配置数据库(如 `monitor_db`,存放采集元数据、指标模板等强相关业务)。 *在修改和新增相关代码时,凡涉及监控功能模块的读写,必须牢记切换到从库(如加注 `@DataSource(DataSourceType.SLAVE)` )。* 为减少多人协作时的文件冲突,我们在 **Git 分支** 和 **目录结构** 上做了明确约定。 --- ## 一、模块划分与目录结构 在项目根目录下新增 `modules/` 目录,所有新代码尽量写在对应模块目录内,实现物理隔离: - `modules/metrics-collect/`:**指标采集模块** - `modules/data-storage/`:数据存储模块 - `modules/data-processing/`:数据处理模块 - `modules/visualization/`:可视化展示模块 - `modules/alerting/`:告警系统模块 - `modules/auth/`:系统权限管理模块 推荐整体结构如下: ```text RuoYi-Vue-master/ ruoyi-admin/ ruoyi-system/ ruoyi-ui/ sql/ docs/ modules/ metrics-collect/ python-agent/ # Python 采集器(原 data_collector/) java-admin/ # 采集相关 Controller 说明/封装 java-system/ # 采集相关 Domain/Mapper/Service 说明/封装 sql/ # monitor_db 相关表结构与初始化脚本 docs/ # 采集模块专属文档 data-storage/ backend/ schema/ docs/ data-processing/ jobs/ java-service/ docs/ visualization/ ui/ charts/ docs/ alerting/ backend/ templates/ docs/ auth/ java-admin/ policy/ docs/ ``` > 若依原有目录(如 `ruoyi-admin/`、`ruoyi-system/`、`ruoyi-ui/`)不做大范围重构。 > 每个模块在自己的 `modules//` 目录中用 README 列出“本模块负责的 Java / Vue / Python 文件清单”,其他人若要修改这些文件,需先征得该模块负责人的确认。 --- ## 二、Git 分支规范 ### 1. 主干分支 - **`main`**:线上稳定版本分支,仅在发布时由运维或负责人从 `develop` 合并;禁止直接在 `main` 上开发。 - **`develop`**:日常集成分支,所有功能分支最终合并到此分支。 ### 2. 功能分支(每人一个长期分支) 六个功能模块分别对应六个长期分支: - `feature/metrics-collect`:指标采集模块(含 Python 采集器、monitor_db 相关功能) - `feature/data-storage`:数据存储模块 - `feature/data-processing`:数据处理模块 - `feature/visualization`:可视化展示模块 - `feature/alerting`:告警系统模块 - `feature/auth`:系统权限管理模块 每位同学只在自己负责的 `feature/*` 分支上开发、提交代码。 ### 3. 子任务分支(可选) 如有需要,可以从自己的功能分支再拉子分支,例如: - `feature/metrics-collect-task-001` 开发完成后先合并回 `feature/metrics-collect`,再由负责人发起合并到 `develop` 的 Pull Request。 ### 4. 日常开发流程 1. **初始化功能分支** ```bash git checkout develop git pull origin develop git checkout -b feature/metrics-collect git push -u origin feature/metrics-collect ``` 2. **在功能分支上开发** - 所有提交都在自己的 `feature/...` 分支上完成。 - 本地可以自由使用 `rebase` 整理提交历史,但 **禁止对已经推到远程、且别人可能基于其工作的公共分支强制推送 (`--force`)**。 3. **同步团队最新代码** ```bash git checkout feature/metrics-collect git pull origin develop # 或者 git fetch + git merge origin/develop ``` 如果有冲突,优先在自己分支上解决,再继续开发。 4. **合并到 develop** - 在 Gitee 上从 `feature/xxx` 向 `develop` 发起 Pull Request。 - 至少 1 名同学完成代码评审后再合并。 - 建议使用 **Squash and merge**,保持 `develop` 分支的历史相对简洁。 --- ## 三、模块负责人与文件归属(示意) > 具体人员名单可以在团队内约定后补充,这里仅说明归属原则。 - **指标采集模块(feature/metrics-collect)** - 负责目录: - `modules/metrics-collect/**` - monitor_db 相关 SQL:`modules/metrics-collect/sql/**` - Python 采集器:`modules/metrics-collect/python-agent/**` - 负责的 Java / Vue 文件(示例): - `ruoyi-admin/src/main/java/com/ruoyi/web/controller/collect/**` - `ruoyi-system/src/main/java/com/ruoyi/system/domain/monitor/**` - `ruoyi-system/src/main/java/com/ruoyi/system/mapper/monitor/**` - `ruoyi-system/src/main/resources/mapper/monitor/**` - `ruoyi-ui/src/views/collect/**` 其他模块以类似方式在各自的 `modules//README.md` 中列明负责文件清单。 --- ## 四、物理隔离与文件冲突控制 1. **新代码优先写在模块目录** - 新增脚本、服务、工具类,优先放在 `modules//` 内。 - 若依原有工程中必须新增的类(如 Controller、Service),需要在对应模块的 README 中登记“归属该模块”,便于其他人知道这是谁的代码。 2. **修改其他模块负责的文件** - 修改前在群里或 Issue 中 @ 对应模块负责人。 - 尽量将这些修改放在单独的 commit 中,commit message 可以加前缀: - `[shared] 调整公共路由` - `[shared] 修复公共配置` 3. **公共文件(容易冲突)** - `pom.xml`、`package.json`、全局配置、前端全局路由等视为公共文件。 - 修改前需在群里同步,并在 PR 描述中明确说明修改点。 --- ## 五、提交信息与代码风格 - Commit 信息建议格式: - `feat(collect): 支持脚本采集任务输出配置` - `fix(alert): 修复告警重复发送` - `docs(storage): 补充存储模块架构图` - 禁止提交: - IDE 配置目录(如 `.idea/`、`.vscode/`) - 编译输出(`target/`、`dist/` 等) - 大体积二进制文件(如压缩包、安装包),除非经确认必须纳入版本控制。 - Java / Python / Vue 文件遵循项目既定的格式化规则(IDE 统一设置或格式化工具)。 --- ## 六、后续约定补充 - 随着模块完善,可在 `modules//docs/` 下补充各模块的详细设计文档。 - 若有新的跨模块能力(例如统一日志、追踪),建议单独建立 `modules/infra-logging/` 等子模块,并在此 README 中补充说明。

logo

RuoYi v3.9.1

基于SpringBoot+Vue前后端分离的Java快速开发框架

## 平台简介 若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 * 前端采用Vue、Element UI。 * 后端采用Spring Boot、Spring Security、Redis & Jwt。 * 权限认证使用Jwt,支持多终端认证系统。 * 支持加载动态权限菜单,多方式轻松权限控制。 * 高效率开发,使用代码生成器可以一键生成前后端代码。 * 提供了技术栈(Vue3 Element Plus Vite)的 [RuoYi-Vue3](https://gitcode.com/yangzongzhuan/RuoYi-Vue3)版本,以及技术栈(TypeScript)的 [RuoYi-Vue3-TypeScript](https://gitcode.com/yangzongzhuan/RuoYi-Vue3/tree/typescript)版本,两者保持同步更新。 * 提供了适配 Spring Boot 3 的版本分支 [RuoYi-Vue (springboot3)](https://gitee.com/y_project/RuoYi-Vue/tree/springboot3),以及特定需求的 单应用版本 [RuoYi-Vue-fast](https://gitcode.com/yangzongzhuan/RuoYi-Vue-fast) 与 Oracle数据库版本 [RuoYi-Vue-Oracle](https://gitcode.com/yangzongzhuan/RuoYi-Vue-Oracle),均保持同步更新。 * 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)   ## 内置功能 1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 3. 岗位管理:配置系统用户所属担任职务。 4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 7. 参数管理:对系统动态配置常用参数。 8. 通知公告:系统通知公告信息发布维护。 9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 10. 登录日志:系统登录日志记录查询包含登录异常。 11. 在线用户:当前系统中活跃用户状态监控。 12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 14. 系统接口:根据业务代码自动生成相关的api接口文档。 15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 16. 缓存监控:对系统的缓存信息查询,命令统计等。 17. 在线构建器:拖动表单元素生成相应的HTML代码。 18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 # 版本对比 RuoYi-Vue 前端项目的三个主要演进版本,方便你直观对比其技术栈差异(并行开发维护)。 | 项目名称 | **RuoYi-Vue** | **RuoYi-Vue3** | **RuoYi-Vue3-TypeScript** | | :--- | :--- | :--- | :--- | | **前端框架** | Vue 2 | Vue 3 | Vue 3 | | **脚本语言** | JavaScript | JavaScript | TypeScript | | **构建工具** | Vue CLI | Vite | Vite | | **UI 组件库** | Element UI | Element Plus | Element Plus | | **状态管理** | Vuex | Pinia | Pinia | | **路由管理** | Vue Router 3 | Vue Router 4 | Vue Router 4 | | **核心特点** | 1. 技术栈经典稳定
2. 社区资料丰富
3. 当前维护重心已转移 | 1. 现代前端技术栈
2. 开发体验与性能更优
3. 官方主推的活跃版本 | 1. 类型加持,减少沟通成本
2. 开发时有提示,效率更高
3. 多人协作企业级开发项目 | | **仓库地址** | [RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) | [RuoYi-Vue3](https://gitcode.com/yangzongzhuan/RuoYi-Vue3) | [RuoYi-Vue3-TypeScript](https://gitcode.com/yangzongzhuan/RuoYi-Vue3/tree/typescript) | ## 在线体验 - admin/admin123 - 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 演示地址:http://vue.ruoyi.vip 文档地址:http://doc.ruoyi.vip ## 演示图
## 若依前后端分离交流群 QQ群: [![加入QQ群](https://img.shields.io/badge/已满-937441-blue.svg)](https://jq.qq.com/?_wv=1027&k=5bVB1og) [![加入QQ群](https://img.shields.io/badge/已满-887144332-blue.svg)](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [![加入QQ群](https://img.shields.io/badge/已满-180251782-blue.svg)](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [![加入QQ群](https://img.shields.io/badge/已满-104180207-blue.svg)](https://jq.qq.com/?_wv=1027&k=51G72yr) [![加入QQ群](https://img.shields.io/badge/已满-186866453-blue.svg)](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [![加入QQ群](https://img.shields.io/badge/已满-201396349-blue.svg)](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [![加入QQ群](https://img.shields.io/badge/已满-101456076-blue.svg)](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [![加入QQ群](https://img.shields.io/badge/已满-101539465-blue.svg)](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [![加入QQ群](https://img.shields.io/badge/已满-264312783-blue.svg)](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [![加入QQ群](https://img.shields.io/badge/已满-167385320-blue.svg)](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [![加入QQ群](https://img.shields.io/badge/已满-104748341-blue.svg)](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [![加入QQ群](https://img.shields.io/badge/已满-160110482-blue.svg)](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [![加入QQ群](https://img.shields.io/badge/已满-170801498-blue.svg)](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [![加入QQ群](https://img.shields.io/badge/已满-108482800-blue.svg)](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [![加入QQ群](https://img.shields.io/badge/已满-101046199-blue.svg)](https://jq.qq.com/?_wv=1027&k=SpyH2875) [![加入QQ群](https://img.shields.io/badge/已满-136919097-blue.svg)](https://jq.qq.com/?_wv=1027&k=tKEt51dz) [![加入QQ群](https://img.shields.io/badge/已满-143961921-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=0vBbSb0ztbBgVtn3kJS-Q4HUNYwip89G&authKey=8irq5PhutrZmWIvsUsklBxhj57l%2F1nOZqjzigkXZVoZE451GG4JHPOqW7AW6cf0T&noverify=0&group_code=143961921) [![加入QQ群](https://img.shields.io/badge/已满-174951577-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ZFAPAbp09S2ltvwrJzp7wGlbopsc0rwi&authKey=HB2cxpxP2yspk%2Bo3WKTBfktRCccVkU26cgi5B16u0KcAYrVu7sBaE7XSEqmMdFQp&noverify=0&group_code=174951577) [![加入QQ群](https://img.shields.io/badge/已满-161281055-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Fn2aF5IHpwsy8j6VlalNJK6qbwFLFHat&authKey=uyIT%2B97x2AXj3odyXpsSpVaPMC%2Bidw0LxG5MAtEqlrcBcWJUA%2FeS43rsF1Tg7IRJ&noverify=0&group_code=161281055) [![加入QQ群](https://img.shields.io/badge/已满-138988063-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XIzkm_mV2xTsUtFxo63bmicYoDBA6Ifm&authKey=dDW%2F4qsmw3x9govoZY9w%2FoWAoC4wbHqGal%2BbqLzoS6VBarU8EBptIgPKN%2FviyC8j&noverify=0&group_code=138988063) [![加入QQ群](https://img.shields.io/badge/已满-151450850-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DkugnCg68PevlycJSKSwjhFqfIgrWWwR&authKey=pR1Pa5lPIeGF%2FFtIk6d%2FGB5qFi0EdvyErtpQXULzo03zbhopBHLWcuqdpwY241R%2F&noverify=0&group_code=151450850) [![加入QQ群](https://img.shields.io/badge/已满-224622315-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=F58bgRa-Dp-rsQJThiJqIYv8t4-lWfXh&authKey=UmUs4CVG5OPA1whvsa4uSespOvyd8%2FAr9olEGaWAfdLmfKQk%2FVBp2YU3u2xXXt76&noverify=0&group_code=224622315) [![加入QQ群](https://img.shields.io/badge/已满-287842588-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Nxb2EQ5qozWa218Wbs7zgBnjLSNk_tVT&authKey=obBKXj6SBKgrFTJZx0AqQnIYbNOvBB2kmgwWvGhzxR67RoRr84%2Bus5OadzMcdJl5&noverify=0&group_code=287842588) [![加入QQ群](https://img.shields.io/badge/已满-187944233-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=numtK1M_I4eVd2Gvg8qtbuL8JgX42qNh&authKey=giV9XWMaFZTY%2FqPlmWbkB9g3fi0Ev5CwEtT9Tgei0oUlFFCQLDp4ozWRiVIzubIm&noverify=0&group_code=187944233) [![加入QQ群](https://img.shields.io/badge/已满-228578329-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=G6r5KGCaa3pqdbUSXNIgYloyb8e0_L0D&authKey=4w8tF1eGW7%2FedWn%2FHAypQksdrML%2BDHolQSx7094Agm7Luakj9EbfPnSTxSi2T1LQ&noverify=0&group_code=228578329) [![加入QQ群](https://img.shields.io/badge/已满-191164766-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=GsOo-OLz53J8y_9TPoO6XXSGNRTgbFxA&authKey=R7Uy%2Feq%2BZsoKNqHvRKhiXpypW7DAogoWapOawUGHokJSBIBIre2%2FoiAZeZBSLuBc&noverify=0&group_code=191164766) [![加入QQ群](https://img.shields.io/badge/已满-174569686-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=PmYavuzsOthVqfdAPbo4uAeIbu7Ttjgc&authKey=p52l8%2FXa4PS1JcEmS3VccKSwOPJUZ1ZfQ69MEKzbrooNUljRtlKjvsXf04bxNp3G&noverify=0&group_code=174569686) [![加入QQ群](https://img.shields.io/badge/127358632-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=M9y5NjAl44lAL_Vh2crmEehZU_PMU6KS&authKey=ZSDz8hEREWSaPuxQV3gEwqGIaGjfRNnkB4rJjf0IvXhrSUGSGwQFmBA%2Boe8HFxyl&noverify=0&group_code=127358632) 点击按钮入群。