## 新增服务模块 ### 1. ERP服务 (hzhub-erp) - 新增独立的ERP数据适配服务 - 支持SQL Server 2008 R2数据源 - 提供动态API配置管理系统 - 包含客户管理、销售数据等业务接口 ### 2. 系统服务 (hzhub-system) - 新增独立的系统管理服务 - 用户、角色、权限、部门、菜单管理 - 租户管理、操作日志、在线用户监控 - 工作流引擎(warm-flow)集成 - 企业微信审批同步功能 ### 3. API网关 (hzhub-gateway) - 新增Spring Cloud Gateway网关服务 - JWT认证、路由分发、限流熔断 - XSS防护、请求日志记录 - 统一入口端口8080 ## 后台管理功能增强 ### ERP动态API管理 - 新增动态API配置管理界面 - API测试、文档预览、统计监控 - 错误日志查看、缓存管理 - 从数据库表自动导入API配置 ### 系统管理增强 - 企业微信配置管理 - 企业微信审批同步配置 - 部门和用户管理优化 ## 员工门户功能完善 ### 业务页面 - 审批中心:工作流审批、待办任务 - CRM管理:客户关系管理 - 经销商管理:经销商数据展示 - 供应链管理:采购、库存、销售 - BI报表:数据可视化分析 - ERP数据探索:SQL Server数据查询 ### 个人中心 - 基本设置:个人信息管理 - 安全设置:密码修改、登录日志 - 锁屏功能:自动锁屏、手动锁屏 ### 其他功能 - 标签页管理:多标签页导航 - 页面缓存:keepAlive缓存机制 - 会话超时:自动检测并提示 ## 经销商门户 ### 页面路由 - 新增经销商管理页面路由 - AI聊天界面完善 ## 文档更新 - ERP API数据库初始化指南 - ERP API前端完整实现文档 - ERP API测试和验证指南 - Gateway路由迁移计划 - 项目配置文档更新 ## 部署脚本 - 统一启动/停止/重启脚本 - Docker Compose配置优化 - Nginx配置文件更新 ## 技术栈 - 后端: Spring Boot 3.5.8, Java 17 - 前端: Vue 3, TypeScript, Element Plus, Vben Admin - 工作流: warm-flow 1.8.2 - 网关: Spring Cloud Gateway - 数据库: MySQL 8.0, SQL Server 2008 R2 - 缓存: Redis 7 - 向量库: Weaviate 1.25.0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
6.8 KiB
6.8 KiB
ERP API 统计监控功能说明
功能概述
ERP API统计监控页面提供多维度的API调用分析和性能监控功能,帮助开发者快速定位问题、优化性能。
页面布局
页面采用上下堆叠布局:
- 上方:API概览(显示所有API的汇总统计)
- 下方:详细统计(单个API的详细分析和监控)
主要功能模块
1. API概览卡片
显示整个系统的API汇总数据:
- API总数:系统中配置的API数量
- 启用API:状态为启用的API数量
- 禁用API:状态为禁用的API数量
- 启用缓存:启用Redis缓存的API数量
2. 详细统计筛选
提供多种筛选和控制选项:
- API选择:下拉选择要查看的API
- 时间范围:DatePicker范围选择器(可选)
- 查询按钮:立即查询统计数据
- 刷新按钮:手动刷新统计数据
- 重置按钮:重置时间范围并重新查询
- 自动刷新开关:开启/关闭自动刷新
- 刷新间隔配置:设置自动刷新的时间间隔(10-300秒)
- 慢查询阈值配置:定义慢查询的响应时间阈值(100-10000ms)
3. 统计卡片组(8个核心指标)
横向排列的统计卡片,显示API的核心性能数据:
- 总调用次数:该API的总调用次数
- 成功次数:调用成功的次数(绿色标识)
- 错误次数:调用失败的次数(红色标识)
- 错误率:错误次数占比百分比(超过5%时红色警告)
- 平均响应时间:所有调用的平均响应时间(超过阈值时黄色警告)
- 最大响应时间:响应时间最大值(超过阈值时红色警告)
- 最小响应时间:响应时间最小值
- 慢查询次数:响应时间超过阈值的调用次数(黄色标识)
4. 性能指标卡片(4个综合指标)
提供更深度的性能分析:
-
性能健康度:综合考虑错误率和响应时间的健康评分(0-100分)
- 80+分:优秀(绿色)
- 60-80分:一般(黄色)
- <60分:差(红色)
- 包含健康状态描述
-
成功率:成功调用占比的进度条展示
- 显示成功次数/总次数的详细数据
-
响应时间分布:响应时间性能评分
- 基于平均响应时间和阈值的对比
- 颜色分级显示性能状态
-
缓存状态:显示该API是否启用Redis缓存
- 启用:绿色显示"已启用"
- 未启用:灰色显示"未启用"
- 提示缓存可提升性能
5. 性能优化建议卡片
基于统计数据自动生成优化建议:
- 高错误率警告:错误率>5%,建议检查API配置和SQL
- 慢查询警告:平均响应时间超过阈值,建议优化SQL或启用缓存
- 缓存未启用提示:调用次数>10且未启用缓存,建议启用
- 性能优秀提示:错误率≤1%且响应时间良好,保持现状
6. 统计概览Tab
当API有调用记录时显示:
- 功能完善说明
- 性能优化建议卡片
当API无调用记录时提示:
- 该API暂无调用记录
- 建议先调用动态API触发统计
7. 错误日志Tab
显示API的错误调用记录:
- 调用时间:错误发生的时间
- 响应时间:该次调用的响应时间
- 客户端IP:调用方的IP地址
- 用户ID:调用方的用户标识
- 错误消息:截断显示(完整内容在Tooltip中)
- 详情按钮:打开错误详情弹窗
8. 错误详情弹窗
点击"详情"按钮打开,显示完整的错误信息:
- 调用信息:调用时间、响应时间、客户端IP、用户ID、调用状态、统计ID
- 错误信息:醒目的红色Alert显示完整错误消息
- 调用参数:可折叠的JSON格式化参数展示
- 执行的SQL:可折叠的SQL语句展示(实际执行的SQL,参数已替换)
- 错误堆栈:可折叠的错误堆栈(前10行)
使用场景
场景1:监控API运行状态
- 选择要监控的API
- 查看统计卡片了解基本性能数据
- 查看性能健康度了解整体状态
- 根据优化建议进行改进
场景2:分析错误问题
- 选择有错误的API
- 切换到"错误日志"Tab
- 查看错误消息概览
- 点击"详情"查看完整的错误信息、SQL和堆栈
- 根据详细信息定位问题根源
场景3:优化慢查询
- 设置慢查询阈值(如1000ms)
- 查看慢查询次数统计
- 如果慢查询较多,查看平均/最大响应时间
- 根据建议优化SQL或启用缓存
场景4:实时监控
- 开启自动刷新开关
- 设置刷新间隔(如30秒)
- 页面将自动刷新统计数据
- 实时观察API性能变化
场景5:时间范围分析
- 选择时间范围(如最近1小时)
- 查询该时间段内的统计数据
- 对比不同时间段的性能差异
- 分析高峰时段的性能表现
技术实现要点
前端技术栈
- Vue 3 Composition API
- Ant Design Vue组件库
- TypeScript类型安全
- Reactive响应式数据
- Computed计算属性
- Watch监听器
- 定时器管理
后端支持接口
GET /erp/api/config/stats/{apiId}- 查询统计数据GET /erp/api/config/errorLog/{apiId}- 查询错误日志GET /erp/api/config/list- 查询API列表
数据库表
erp_api_stats- 存储每次API调用的详细信息- 字段:api_id, call_time, call_params, executed_sql, response_time, call_status, error_message, error_stack, client_ip, user_id
性能指标计算公式
健康度评分:
健康度 = (错误评分 + 响应时间评分) / 2
错误评分 = max(0, 100 - 错误率 * 10) // 每1%错误率扣10分
响应时间评分 = max(0, 100 - (平均响应时间 / 阈值) * 20)
慢查询判定:
慢查询 = 响应时间 > 配置的阈值(默认1000ms)
扩展功能建议
未来可扩展功能
- 图表可视化:集成ECharts,展示调用趋势图、响应时间分布图
- 导出功能:导出统计数据为CSV或Excel
- 告警通知:配置告警阈值,超过阈值发送邮件/短信通知
- 对比分析:多个API的性能对比
- 缓存命中率统计:如果启用缓存,显示缓存命中率
- 数据留存策略:设置统计数据保留时长
- 慢查询日志详情:显示慢查询的具体SQL和参数
注意事项
- 自动刷新:自动刷新会消耗服务器资源,建议在需要实时监控时才开启
- 时间范围:查询较长时间范围的数据可能较慢,建议根据数据量选择合适的时间范围
- 错误详情:错误堆栈可能很长,弹窗中只显示前10行便于快速定位
- 性能建议:系统自动给出的建议仅供参考,实际优化需结合具体业务场景
页面访问地址
http://192.168.120.60:5666/erp/stats
或本地开发环境:
http://localhost:5666/#/erp/stats