原文链接
https://novusai-saas.github.io/ja/ja/docs/api-reference/tenant-api/data-analytics-api.md数据分析API
本文引用的源码与文档
目录
简介
本文件面向数据分析API,系统化梳理统计与分析能力,包括调用趋势、性能指标、报表生成、AI调用统计、用户行为分析、资源消耗监控、数据导出与可视化集成、告警通知以及租户数据隐私与合规要求。文档以代码为依据,结合测试用例与前端集成示例,提供可操作的接口说明与最佳实践。
项目结构
数据分析API主要分布在后端的管理端与租户端API层,配合服务层进行统计聚合,并通过前端仪表盘进行可视化展示;同时提供操作日志导出能力用于审计与合规。
图示来源
- analytics.py
- analytics.py
- analytics_service.py
- tenant_analytics_service.py
- monitoring_usage_query_service.py
- dashboard_service_parts/tenant.py
- operation_logs.py
- index.vue
章节来源
- analytics.py
- analytics.py
- analytics_service.py
- tenant_analytics_service.py
- monitoring_usage_query_service.py
- dashboard_service_parts/tenant.py
- operation_logs.py
- index.vue
核心组件
- 管理端分析API:提供全局维度的调用趋势、成功率、Token 与成本统计、模型与渠道分布、Top租户/用户/智能体等。
- 租户端分析API:面向租户侧的调用统计与趋势,支持日期过滤与租户隔离。
- 分析服务层:
- AnalyticsService:通用统计聚合,支持按日分组的趋势数据与成功率计算。
- TenantAnalyticsService:租户维度的统计封装。
- MonitoringUsageQueryService:用量查询与汇总,支持按天、模型、渠道、租户TopN等多维聚合。
- 系统仪表盘服务:整合用户、对话、AI调用、存储等指标,输出仪表盘所需聚合数据。
- 操作日志导出API:支持CSV导出并进行字段序列化,满足审计与合规需求。
- 前端仪表盘:提供图表卡片与标签页布局,集成趋势与概览视图。
章节来源
- analytics_service.py
- tenant_analytics_service.py
- monitoring_usage_query_service.py
- dashboard_service_parts/tenant.py
- operation_logs.py
- index.vue
架构总览
数据分析API采用“控制器-服务-仓储/查询”的分层设计,服务层负责SQL聚合与统计计算,控制器暴露REST接口,前端通过组件化图表消费数据。
图示来源
- analytics.py
- analytics.py
- analytics_service.py
- tenant_analytics_service.py
- monitoring_usage_query_service.py
详细组件分析
管理 端分析API
- 接口路径:/admin/analytics
- 主要功能:
- 调用趋势:按日统计调用次数、成功/失败次数、成功率。
- Token与成本:按日统计输入/输出/总Token数与总成本。
- 模型与渠道分布:按模型与接入渠道聚合用量。
- Top租户/用户/智能体:基于调用次数或Token数排序。
- 关键实现:
- 调用趋势与成功率计算由服务层完成,返回统一格式。
- 用量查询服务提供SQL级聚合,确保性能与准确性。
图示来源
章节来源
租户分析API
- 接口路径:/tenant/analytics
- 主要功能:
- 租户维度的调用趋势与成功率。
- 支持传入租户ID进行数据隔离。
- 关键实现:
- 租户服务在通用服务基础上增加租户过滤逻辑。
- 测试覆盖了日期过滤、租户ID过滤等场景。
图示来源
章节来源
用量查询服务(MonitoringUsageQueryService)
- 职责:
- 提供按日维度的调用统计:调用次数、Token(输入/输出/总计)、总成本、成功/失败计数。
- 输出统一的数据结构,便于上层服务组装。
- 性能特性:
- 使用SQL分组与聚合,避免应用层循环计算。
- 支持条件过滤(时间范围、租户、模型、渠道等)。
图示来源
章节来源
系统仪表盘服务(DashboardServiceParts.Tenant)
- 职责:
- 整合用户、对话、AI调用、存储等指标,输出仪表盘所需聚合数据。
- 指标示例:
- 用户总数、活跃用户、API调用次数、总Token数、总成本、存储使用量、智能体/知识库/文档数量、月对话数等。
图示来源
章节来源
操作日志导出API(OperationLogService.Export)
- 职责:
- 将操作日志导出为CSV,支持与列表接口相同的筛选参数。
- 最大导出条数限制,确保性能与安全。
- 字段映射:
- ID、用户名、模块、动作、IP、响应码、创建时间等。
图示来源
章节来源
前端可视化集成(数据分析仪表盘)
- 组件结构:
- 概览卡片:用户量、访问量、下载量、使用量等。
- 图表标签页:流量趋势、月访问量等。
- 图表卡片:访问数量、访问来源、销售等。
- 集成方式:
- 通过API获取数据,渲染图表组件,支持切换时间维度与筛选条件。
图示来源
章节来源
依赖关系分析
- 控制器依赖服务层,服务层依赖用量查询服务与仓储/ORM。
- 管理端与租户端API共享通用服务,通过租户过滤实现数据隔离。
- 仪表盘服务整合多源指标,形成统一的聚合视图。
- 操作日志导出API依赖服务层的序列化与查询能力。
图示来源
- analytics.py
- analytics.py
- analytics_service.py
- tenant_analytics_service.py
- monitoring_usage_query_service.py
- dashboard_service_parts/tenant.py
- operation_logs.py
章节来源
- analytics.py
- analytics.py
- analytics_service.py
- tenant_analytics_service.py
- monitoring_usage_query_service.py
- dashboard_service_parts/tenant.py
- operation_logs.py