Skip to content

监控方案

**本文引用的文件** - [承兑平台产品方案文档.md](file://承兑平台产品方案文档.md) - [综合审查报告.md](file://综合审查报告.md) - [待确认决策清单.md](file://待确认决策清单.md) - [文档/Readme.md](file://文档/Readme.md) - [任务和测试过程/Readme.md](file://任务和测试过程/Readme.md)

目录

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

简介

本监控方案面向“承兑平台”,围绕应用监控、基础设施监控、业务监控三大维度,结合 Prometheus 监控栈、Grafana 可视化、ELK 日志分析,构建实时监控仪表板、自动化告警通知与性能趋势分析体系。方案以平台业务特性(USDT 内部记账、链上充值/提现、交易员指派与风控、商户 API 对接、Webhook 回调)为核心,设计监控指标体系、关键性能指标(KPI)与告警阈值,明确数据采集、存储与告警处理流程,确保系统在高并发、高频链上交互与复杂风控场景下的稳定性与可观测性。

项目结构

仓库当前以文档为主,包含产品方案、综合审查报告、待确认决策清单以及若干说明性 Readme。监控方案的落地需要在现有业务流程与技术架构基础上,补充监控采集、存储与告警链路。下图为概念性项目结构示意(用于理解业务与监控的关系,非代码映射):

mermaid
graph TB
subgraph "业务系统"
A["商户端(API/后台)"]
B["交易员端(App/H5)"]
C["运营后台(Web)"]
D["介绍人端(Web)"]
E["业务中台<br/>订单中心/费率引擎/风控中心/通知中心"]
F["钱包中心/清结算/数据报表中心"]
end
subgraph "监控栈"
P["Prometheus"]
G["Grafana"]
L["Logstash/Fluentd"]
K["Kibana"]
ES["Elasticsearch"]
end
A --> E
B --> E
C --> E
D --> E
E --> F
F --> P
E --> P
P --> G
P --> L
L --> ES
ES --> K

[本图为概念示意,不直接映射具体源文件,故不附“图表来源”]

核心组件

  • 应用监控:覆盖订单中心、钱包中心、费率引擎、风控中心、通知中心等核心模块的接口延迟、吞吐、错误率、并发与队列长度等指标。
  • 基础设施监控:覆盖数据库、缓存、消息队列、链上节点、存储与网络等资源使用率与健康状态。
  • 业务监控:覆盖订单成功率、订单完成时长、交易员在线时长、USDT 池利用率、争议率、商户活跃度等 KPI。
  • 日志与审计:统一采集应用日志、链上事件、Webhook 回调、人工仲裁与风控动作,支持检索与趋势分析。

章节来源

  • [承兑平台产品方案文档.md: 295-331:295-331](file://承兑平台产品方案文档.md#L295-L331)
  • [综合审查报告.md: 308-316:308-316](file://综合审查报告.md#L308-L316)

架构总览

监控架构分为四层:

  • 数据采集层:应用埋点(Prometheus Exporter/SDK)、系统指标(node_exporter)、链上事件监听器、日志采集器(Filebeat/Fluentd)。
  • 数据传输层:Prometheus Server、日志管道(Logstash/Fluentd)。
  • 数据存储层:Prometheus TSDB、Elasticsearch。
  • 可视化与告警层:Grafana(仪表板与告警)、Alertmanager(告警聚合与静默)、通知通道(邮件/SMS/Webhook)。
mermaid
graph TB
subgraph "采集层"
A1["应用埋点(Python/Go SDK)"]
A2["系统指标(node_exporter)"]
A3["链上事件监听(Moralis/Alchemy)"]
A4["日志采集(Filebeat/Fluentd)"]
end
subgraph "传输层"
T1["Prometheus Server"]
T2["日志管道(Logstash/Fluentd)"]
end
subgraph "存储层"
S1["Prometheus TSDB"]
S2["Elasticsearch"]
end
subgraph "可视化与告警"
V1["Grafana"]
V2["Alertmanager"]
V3["通知通道(邮件/SMS/Webhook)"]
end
A1 --> T1
A2 --> T1
A3 --> T1
A4 --> T2
T1 --> S1
T2 --> S2
S1 --> V1
S2 --> V1
V1 --> V2
V2 --> V3

[本图为概念示意,不直接映射具体源文件,故不附“图表来源”]

详细组件分析

指标体系设计

  • 应用层指标
    • 接口指标:请求耗时(p50/p95/p99)、请求速率、错误率、超时率。
    • 业务流程指标:订单创建/指派/确认/完成/取消耗时分布,批量出金释放速率与失败率。
    • 资源指标:CPU 使用率、内存使用、连接池占用、队列长度、消息积压。
    • 链上交互指标:充值确认延迟、提现上链耗时、链上事件监听延迟、RPC 调用失败率。
  • 基础设施指标
    • 数据库:连接数、查询耗时、慢查询、锁等待、缓冲池命中率。
    • 缓存:命中率、淘汰率、内存使用、过期策略命中。
    • 存储:磁盘 IO、容量、IOPS、队列深度。
    • 网络:带宽、丢包、RTT、连接数。
  • 业务 KPI
    • 订单成功率、平均订单完成时长、交易员平均在线时长、USDT 池利用率、争议率、商户月活跃度、交易员接单响应时间。

章节来源

  • [承兑平台产品方案文档.md: 333-331:333-331](file://承兑平台产品方案文档.md#L333-L331)
  • [综合审查报告.md: 308-316:308-316](file://综合审查报告.md#L308-L316)

关键性能指标(KPI)定义

  • 订单成功率 = 已完成订单数 / 总创建订单数(目标:≥95%)
  • 平均订单完成时长 = 所有订单完成耗时之和 / 完成订单数(目标:p95 ≤ 30s)
  • 交易员平均在线时长(按日/周/月统计)
  • USDT 池利用率 = 已锁定/总可用(目标:峰值 ≤80%)
  • 争议率 = 争议订单数 / 总订单数(目标:≤0.5%)
  • 商户月活跃度 = 月活跃商户数 / 总商户数
  • 交易员接单响应时间(从指派到确认)p95 ≤ 10s

章节来源

  • [综合审查报告.md: 308-316:308-316](file://综合审查报告.md#L308-L316)

告警阈值设置

  • 接口级
    • p95 延迟 > 30s(持续 5 分钟)→ 红色告警
    • 错误率 > 1%(持续 5 分钟)→ 橙色告警
    • 超时率 > 0.5%(持续 5 分钟)→ 橙色告警
  • 业务级
    • 订单成功率 < 95%(持续 10 分钟)→ 橙色告警
    • 争议率 > 0.5%(持续 10 分钟)→ 橙色告警
    • USDT 池利用率 > 80%(持续 10 分钟)→ 橙色告警
  • 基础设施级
    • CPU 使用率 > 90%(持续 5 分钟)→ 橙色告警
    • 内存使用率 > 90%(持续 5 分钟)→ 橙色告警
    • 数据库连接数 > 阈值(持续 5 分钟)→ 橙色告警
    • 链上事件监听延迟 > 60s(持续 5 分钟)→ 橙色告警
    • 日志采集失败率 > 1%(持续 5 分钟)→ 橙色告警

章节来源

  • [待确认决策清单.md: 183-196:183-196](file://待确认决策清单.md#L183-L196)
  • [综合审查报告.md: 141-156:141-156](file://综合审查报告.md#L141-L156)

应用监控实现方案

  • 接口监控
    • 使用 OpenTelemetry 或语言 SDK 暴露 HTTP 请求耗时、错误数、请求量等指标。
    • 对关键路径(订单创建、指派、确认、批量出金释放)设置细粒度指标。
  • 业务流程监控
    • 订单生命周期关键节点埋点(创建、锁定、确认、完成、取消),统计耗时分布。
    • 批量出金释放速率与失败率,异常时触发告警。
  • 链上监控
    • 监听充值到账事件与提现上链事件,记录确认延迟与失败率。
    • 对 RPC 调用失败与超时进行统计与告警。
  • 队列与并发
    • 记录消息队列长度、消费者堆积、并发数,防止过载与雪崩。
mermaid
sequenceDiagram
participant Client as "商户/交易员客户端"
participant API as "业务中台API"
participant Queue as "消息队列"
participant Worker as "处理Worker"
participant DB as "数据库"
participant Chain as "链上节点"
Client->>API : "下单/确认/查询"
API->>Queue : "投递订单/释放任务"
Queue-->>Worker : "拉取任务"
Worker->>DB : "读写订单/资金流水"
Worker->>Chain : "充值/提现上链"
Worker-->>API : "结果回传"
API-->>Client : "响应"

[本图为概念示意,不直接映射具体源文件,故不附“图表来源”]

章节来源

  • [承兑平台产品方案文档.md: 497-530:497-530](file://承兑平台产品方案文档.md#L497-L530)
  • [待确认决策清单.md: 183-196:183-196](file://待确认决策清单.md#L183-L196)

基础设施监控实现方案

  • 数据库
    • 监控连接数、慢查询、锁等待、缓冲池命中率、事务回滚率。
  • 缓存
    • 监控命中率、淘汰率、内存使用、过期策略命中。
  • 存储与网络
    • 监控磁盘 IO、容量、队列深度、带宽、丢包、RTT。
  • 链上节点
    • 监控 RPC 响应时间、失败率、节点健康状态、事件监听延迟。

章节来源

  • [综合审查报告.md: 163-170:163-170](file://综合审查报告.md#L163-L170)

业务监控实现方案

  • 订单指标
    • 订单成功率、平均完成时长、超时订单占比、取消率。
  • 交易员与商户
    • 交易员在线时长、接单响应时间、商户活跃度、返佣与补助发放及时率。
  • 资金与风控
    • USDT 池利用率、冻结/可用比例、争议率、风控拦截率。

章节来源

  • [综合审查报告.md: 308-316:308-316](file://综合审查报告.md#L308-L316)

Prometheus 监控栈与 Grafana 可视化

  • Prometheus
    • 抓取应用指标、系统指标、链上事件指标。
    • 使用 recording rules 与 alerting rules 预计算热点指标与告警条件。
  • Grafana
    • 构建仪表板:订单看板、交易员看板、资金池看板、链上监控看板、告警看板。
    • 使用变量与模板,支持按商户、交易员、链路维度筛选。
  • Alertmanager
    • 告警聚合、静默、抑制与路由,按级别发送到不同通知通道。

章节来源

  • [文档/Readme.md: 1-3:1-3](file://文档/Readme.md#L1-L3)

ELK 日志分析

  • 日志采集
    • Filebeat/Fluentd 采集应用日志、链上事件日志、Webhook 回调日志、人工仲裁日志。
  • 存储与检索
    • Elasticsearch 存储,Kibana 提供检索与可视化。
  • 场景化分析
    • 订单异常追踪、链上失败重试、回调失败重试、风控拦截与申诉。

章节来源

  • [任务和测试过程/Readme.md: 1-3:1-3](file://任务和测试过程/Readme.md#L1-L3)

实时监控仪表板

  • 订单看板:成功率、完成时长、超时率、取消率、批量出金释放速率。
  • 交易员看板:在线时长、接单响应时间、补助发放、争议率。
  • 资金池看板:USDT 池总量、冻结/可用、利用率、异常冻结。
  • 链上看板:充值确认延迟、提现上链耗时、RPC 失败率、事件监听延迟。
  • 告警看板:告警级别分布、告警趋势、通知通道成功率。

章节来源

  • [综合审查报告.md: 308-316:308-316](file://综合审查报告.md#L308-L316)

自动化告警通知

  • 告警规则
    • 基于阈值与趋势规则,设置多级告警(黄色/橙色/红色)。
  • 通知通道
    • 邮件、短信、Webhook(如 Slack/钉钉/企业微信)。
  • 告警收敛
    • 告警风暴抑制、静默窗口、告警抑制(如链上失败与 RPC 失败同时告警时抑制链上失败)。

章节来源

  • [待确认决策清单.md: 183-196:183-196](file://待确认决策清单.md#L183-L196)

性能趋势分析

  • 指标趋势
    • 订单成功率、完成时长、USDT 池利用率、争议率、链上延迟等。
  • 业务趋势
    • 商户活跃度、交易员在线时长、补助发放及时率。
  • 根因分析
    • 结合日志与指标,定位异常根因(链上延迟、数据库慢查询、消息队列积压)。

章节来源

  • [综合审查报告.md: 308-316:308-316](file://综合审查报告.md#L308-L316)

依赖分析

  • 组件耦合
    • 业务中台与钱包中心紧密耦合,资金流水与订单状态强关联。
    • 链上节点与监控系统存在单点依赖风险,需多节点与降级策略。
  • 外部依赖
    • 链上节点(QuickNode/Alchemy/Moralis/Nansen)稳定性直接影响充值/提现确认与监控准确性。
    • 通知服务(Twilio/SendGrid/国内云通信)与短信/邮件通道。
  • 告警依赖
    • Alertmanager 依赖 Prometheus 与通知通道,需确保网络连通与配置正确。
mermaid
graph LR
API["业务中台API"] --> DB["数据库"]
API --> MQ["消息队列"]
API --> Chain["链上节点"]
Chain --> Mon["链上事件监听"]
Mon --> Prom["Prometheus"]
API --> Prom
Prom --> Graf["Grafana"]
Prom --> AM["Alertmanager"]
AM --> Noti["通知通道"]

[本图为概念示意,不直接映射具体源文件,故不附“图表来源”]

章节来源

  • [承兑平台产品方案文档.md: 656-694:656-694](file://承兑平台产品方案文档.md#L656-L694)

性能考量

  • 指标采样与存储
    • 控制指标粒度与采样频率,避免过度采样导致存储膨胀。
    • 对热点指标使用 recording rules 预计算,降低查询开销。
  • 告警风暴治理
    • 合理设置静默窗口与抑制规则,避免告警风暴。
  • 链上监控可靠性
    • 多节点冗余与降级策略,避免单点故障影响监控准确性。
  • 日志与指标关联
    • 通过 traceId/spanId 将日志与指标关联,提升根因分析效率。

[本节为通用指导,不直接分析具体文件,故不附“章节来源”]

故障排查指南

  • 订单异常
    • 检查订单状态机与资金流水一致性,定位卡点环节(锁定/确认/释放)。
    • 关注批量出金释放失败与链上延迟。
  • 链上异常
    • 监控充值确认延迟与提现上链耗时,排查 RPC 调用失败与节点健康。
  • 通知异常
    • 检查 Webhook 回调重试策略与签名算法,确保商户侧可验证回调真实性。
  • 告警异常
    • 检查告警规则阈值、静默窗口与通知通道连通性。

章节来源

  • [待确认决策清单.md: 183-196:183-196](file://待确认决策清单.md#L183-L196)
  • [综合审查报告.md: 141-156:141-156](file://综合审查报告.md#L141-L156)

结论

本监控方案以业务为中心,结合 Prometheus 监控栈与 ELK 日志分析,覆盖应用、基础设施与业务三个维度,明确指标体系、KPI 与告警阈值,提供实时仪表板与自动化告警通知。通过链上监控、队列与并发治理、告警收敛与根因分析,确保在高并发与复杂风控场景下的系统稳定性与可观测性。建议在 V1 阶段优先实现核心指标与告警,逐步完善日志与高级分析能力。

附录

  • 监控指标清单(示例)
    • 应用:HTTP 请求耗时、错误率、超时率、队列长度、并发数。
    • 业务:订单成功率、完成时长、争议率、USDT 池利用率。
    • 基础设施:CPU/内存/磁盘/网络、数据库连接数、链上事件监听延迟。
  • 告警策略清单(示例)
    • p95 延迟 > 30s(持续 5 分钟)→ 红色
    • 错误率 > 1%(持续 5 分钟)→ 橙色
    • 订单成功率 < 95%(持续 10 分钟)→ 橙色
    • USDT 池利用率 > 80%(持续 10 分钟)→ 橙色

[本节为通用指导,不直接分析具体文件,故不附“章节来源”]