# 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运行状态 1. 选择要监控的API 2. 查看统计卡片了解基本性能数据 3. 查看性能健康度了解整体状态 4. 根据优化建议进行改进 ### 场景2:分析错误问题 1. 选择有错误的API 2. 切换到"错误日志"Tab 3. 查看错误消息概览 4. 点击"详情"查看完整的错误信息、SQL和堆栈 5. 根据详细信息定位问题根源 ### 场景3:优化慢查询 1. 设置慢查询阈值(如1000ms) 2. 查看慢查询次数统计 3. 如果慢查询较多,查看平均/最大响应时间 4. 根据建议优化SQL或启用缓存 ### 场景4:实时监控 1. 开启自动刷新开关 2. 设置刷新间隔(如30秒) 3. 页面将自动刷新统计数据 4. 实时观察API性能变化 ### 场景5:时间范围分析 1. 选择时间范围(如最近1小时) 2. 查询该时间段内的统计数据 3. 对比不同时间段的性能差异 4. 分析高峰时段的性能表现 ## 技术实现要点 ### 前端技术栈 - 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 ### 性能指标计算公式 **健康度评分**: ```javascript 健康度 = (错误评分 + 响应时间评分) / 2 错误评分 = max(0, 100 - 错误率 * 10) // 每1%错误率扣10分 响应时间评分 = max(0, 100 - (平均响应时间 / 阈值) * 20) ``` **慢查询判定**: ```javascript 慢查询 = 响应时间 > 配置的阈值(默认1000ms) ``` ## 扩展功能建议 ### 未来可扩展功能 1. **图表可视化**:集成ECharts,展示调用趋势图、响应时间分布图 2. **导出功能**:导出统计数据为CSV或Excel 3. **告警通知**:配置告警阈值,超过阈值发送邮件/短信通知 4. **对比分析**:多个API的性能对比 5. **缓存命中率统计**:如果启用缓存,显示缓存命中率 6. **数据留存策略**:设置统计数据保留时长 7. **慢查询日志详情**:显示慢查询的具体SQL和参数 ## 注意事项 1. **自动刷新**:自动刷新会消耗服务器资源,建议在需要实时监控时才开启 2. **时间范围**:查询较长时间范围的数据可能较慢,建议根据数据量选择合适的时间范围 3. **错误详情**:错误堆栈可能很长,弹窗中只显示前10行便于快速定位 4. **性能建议**:系统自动给出的建议仅供参考,实际优化需结合具体业务场景 ## 页面访问地址 ``` http://192.168.120.60:5666/erp/stats ``` 或本地开发环境: ``` http://localhost:5666/#/erp/stats ```