监控告警

📎 引用文件

本文引用的文件 - api_server.py - metrics.py - websocket_logging.py - migrate.py - governance_ledger_test.py - strategy_store_metrics.py

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能考量
  8. 故障诊断指南
  9. 结论
  10. 附录

简介

本章节面向 Vibe-Trading 的监控与告警体系,聚焦以下目标: - 应用性能监控指标收集:API 响应时间、内存使用率、CPU 利用率。 - 业务指标监控:回测任务状态、数据加载性能、用户活动追踪。 - 日志收集与分析策略:结构化日志格式、日志轮转、集中式日志管理。 - 告警规则配置:阈值设置、通知渠道、告警升级机制。 - 监控系统集成:Prometheus、Grafana、ELK Stack 等工具的配置与使用建议。 - 故障诊断工具与性能分析方法指导。

说明:当前仓库未内置 Prometheus/Grafana/ELK 的直接集成代码,但提供了可观测性基础(结构化日志、审计账本、运行指标计算),可通过外部系统采集与可视化。

项目结构

Vibe-Trading 的可观测性相关能力主要分布在以下位置: - API 服务装配与安全中间件:负责请求处理入口、安全头、CORS、SSE 票据等,便于接入统一访问日志与限流。 - 回测指标计算:提供年化、收益、回撤、换手率、基准对比等指标,是业务监控的核心数据来源。 - 通道 WebSocket 日志桥:为消息通道适配器提供统一的日志命名空间,便于集中采集。 - 运行时状态迁移:保证会话、运行产物等持久化路径稳定,利于日志与指标关联。 - 治理审计账本:具备按大小轮转与链式校验能力,适合审计与合规场景。 - 策略开发管理器指标:对因子/策略历史进行衰减评估,支撑业务质量监控。

graph TB A["FastAPI 应用<br/>api_server.py"] --> B["安全与中间件<br/>security / helpers"] A --> C["路由模块<br/>runs/sessions/channels/system"] C --> D["回测指标计算<br/>backtest/metrics.py"] C --> E["通道 WebSocket 日志桥<br/>channelsui/websocket_logging.py"] A --> F["运行时迁移<br/>config/migrate.py"] G["治理审计账本测试<br/>tests/test_governance.py"] --> H["审计账本轮转与校验"] I["策略存储指标<br/>strategy_store/metrics.py"] --> J["衰减指标计算"]

图表来源 - api_server.py:163-183 - metrics.py:458-623 - websocket_logging.py:1-8 - migrate.py:1-30 - strategy_store_metrics.py:24-90

章节来源 - api_server.py:1-200 - metrics.py:1-638 - websocket_logging.py:1-8 - migrate.py:1-30 - strategy_store_metrics.py:1-90

核心组件

章节来源 - api_server.py:127-183 - metrics.py:16-167 - metrics.py:175-233 - metrics.py:263-456 - metrics.py:458-623 - websocket_logging.py:1-8 - migrate.py:1-30 - strategy_store_metrics.py:15-90

架构总览

下图展示 API 服务、指标计算、日志桥与审计账本的交互关系,以及它们如何为监控与告警提供数据源。

sequenceDiagram participant Client as "客户端" participant API as "FastAPI 应用<br/>api_server.py" participant Routes as "路由模块" participant Metrics as "回测指标<br/>backtest/metrics.py" participant LogBridge as "WebSocket 日志桥<br/>channelsui/websocket_logging.py" participant Ledger as "审计账本<br/>tests/test_governance.py" Client->>API : "HTTP 请求" API->>Routes : "分发到具体路由" Routes->>Metrics : "调用指标计算" Metrics-->>Routes : "返回指标字典" Routes-->>Client : "响应含指标" Note over API,LogBridge : "通道通信日志通过统一命名空间输出" LogBridge-->>API : "结构化日志事件" Routes->>Ledger : "写入审计记录可选" Ledger-->>Routes : "轮转与校验结果"

图表来源 - api_server.py:163-183 - metrics.py:458-623 - websocket_logging.py:1-8 - governance_ledger_test.py:684-720

详细组件分析

应用性能监控指标收集(API 响应时间、内存使用率、CPU 利用率)

章节来源 - api_server.py:163-183

业务指标监控(回测任务状态、数据加载性能、用户活动追踪)

章节来源 - metrics.py:458-623 - websocket_logging.py:1-8

日志收集与分析策略(结构化日志格式、日志轮转、集中式日志管理)

章节来源 - governance_ledger_test.py:684-720

告警规则配置(阈值设置、通知渠道、告警升级机制)

章节来源 - api_server.py:163-183

监控系统集成(Prometheus、Grafana、ELK Stack)

章节来源 - api_server.py:163-183

故障诊断工具与性能分析方法

章节来源 - metrics.py:458-623 - governance_ledger_test.py:684-720

依赖关系分析

下图展示 API 服务、指标计算、日志桥与审计账本之间的依赖关系。

graph TB A["api_server.py"] --> B["security / helpers"] A --> C["routes"] C --> D["backtest/metrics.py"] C --> E["channelsui/websocket_logging.py"] C --> F["config/migrate.py"] G["tests/test_governance.py"] --> H["ledger rotation & verification"]

图表来源 - api_server.py:163-183 - metrics.py:458-623 - websocket_logging.py:1-8 - migrate.py:1-30 - governance_ledger_test.py:684-720

章节来源 - api_server.py:163-183 - metrics.py:458-623 - websocket_logging.py:1-8 - migrate.py:1-30 - governance_ledger_test.py:684-720

性能考量

[本节为通用性能讨论,无需特定文件引用]

故障诊断指南

章节来源 - metrics.py:175-233 - governance_ledger_test.py:684-720

结论

Vibe-Trading 提供了坚实的可观测性基础:标准化的回测指标、结构化日志桥、审计账本轮转与运行时状态迁移。通过这些能力,可以便捷地接入外部监控系统(Prometheus、Grafana、ELK),实现全面的性能监控、业务监控与告警。建议在生产环境中完善指标采集、日志轮转与告警规则,并结合故障诊断工具,持续提升系统稳定性与可维护性。

[本节为总结性内容,无需特定文件引用]

附录

[本节为补充信息,无需特定文件引用]