本页为简体中文译文。如有歧义,请以英文原文为准。 阅读英文版 →
跳转到主要内容

监控与告警

做市商需要监控哪些内容、在哪些情况下触发告警。

健康检查​

API 健康状态​

端点:GET /health

响应:{"status":"ok"}

就绪状态:GET /ready 返回 {"status":"ready","components":[...]},其中每个组件带有 ready 标志。可借此区分"可访问但尚未开始服务"的 API 与健康的 API。

监控:每 30-60 秒检查一次

告警:若健康检查失败,API 服务器可能已宕机

WebSocket 连接​

监控:跟踪 WebSocket 连接状态

告警:若连接断开,立即重连

最佳实践:重连时采用指数退避

订单监控​

拒单率​

指标:被拒订单所占百分比

告警:若拒单率 > 5%,请排查:

  • 保证金问题
  • 层级限制
  • 已到期的合约
  • 系统过载

成交率​

指标:已成交订单所占百分比

告警:若成交率显著下降,请排查:

  • 市场状况
  • 报价竞争力
  • 订单簿深度

订单延迟​

指标:从下单到成交/确认的时间

告警:若延迟 > 1 秒,请排查:

  • 系统过载
  • 网络问题
  • 引擎处理延迟

投资组合监控​

保证金使用率​

指标:根据 GET /portfolio?wallet=... 中的 margin_summary 计算保证金使用率。margin_summary.initial_margin 与 margin_summary.maintenance_margin 是扣除要求后的剩余空间,不是已占用的保证金。请按各模式下实际支撑保证金的基数计算使用率:

margin_summary.mode基数初始保证金剩余空间维持保证金剩余空间
portfolioequityinitial_marginmaintenance_margin
standardstandard_margin.cash_marginstandard_margin.initial_margin_headroomstandard_margin.maintenance_margin_headroom
im_utilization = (basis - initial_margin_headroom) / basis
mm_utilization = (basis - maintenance_margin_headroom) / basis

基数小于或等于零时,按 100% 使用处理。

告警:若初始保证金使用率 > 80%,新订单接近被拒。若维持保证金使用率接近 100%,账户接近强平。可考虑:

  • 减少仓位规模
  • 追加抵押品
  • 平仓

可用抵押品​

指标:来自 GET /portfolio?wallet=... 的 available_balance。这是可用于新交易的抵押品,不是 USDC 现金余额。期权标记价格、永续合约盈亏和保证金要求都会在没有现金变动的情况下改变它。可提取金额请使用 withdrawable_usdc。

告警:若可用抵押品低于阈值,请降低风险或存入资金

MMP 监控​

MMP 触发​

指标:每小时 MMP 触发次数

告警:若 MMP 频繁触发,可考虑:

  • 提高 MMP 限额
  • 降低报价频率
  • 复盘成交模式

MMP 撤单率​

指标:被 MMP 撤销的订单所占百分比

告警:若 MMP 撤单率 > 10%,请检查 MMP 配置

系统监控​

API 响应时间​

指标:P50、P95、P99 响应时间

告警:若 P95 > 500ms,请排查系统负载

WebSocket 消息速率​

指标:WebSocket 每秒消息数

告警:若消息速率激增,请排查:

  • 市场波动
  • 系统过载
  • 消息处理延迟

推荐告警​

  1. 健康检查失败:API 服务器宕机
  2. 拒单率过高:> 5% 的订单被拒
  3. 成交率过低:< 50% 的订单成交(视具体情况而定)
  4. 保证金使用率过高:已使用 > 80% 的保证金
  5. MMP 触发:每小时 > 5 次触发
  6. WebSocket 断开:连接丢失
  7. 延迟过高:P95 > 500ms

监控工具​

推荐:

  • 使用健康检查端点进行可用性监控
  • 跟踪 WebSocket 连接状态
  • 通过订单/成交对账确保准确性
  • 跟踪投资组合保证金

现状:暂无内置监控仪表盘。请使用外部工具(例如 Prometheus、Grafana)。

参考资料​