跳到正文

获取健康状态​

GET
/v2/_hc

GET /v2/_hc 根据鉴权结果返回匿名简易响应或鉴权详细响应。GET /_hc 使用相同的 handler 和响应格式。启用 CP Auth 时,详情权限按实际请求路径校验,因此同一个 token 可能被允许访问其中一个路径,而被另一个路径拒绝。此接口没有查询参数。

请求鉴权

请求头 必填 说明
Authorization 否 可选。具有 oracle scope 的 Bearer <token> 通过 CP Auth 校验后返回详情。不带此请求头时返回简易响应;关闭 CP Auth 时,即使带凭据也只返回简易响应;查询参数 token 不会开启详情。

匿名简易响应

不带 token 时只返回以下三个状态字段;鉴权响应也包含这三个字段。

响应字段 类型 说明
status string 整体状态:ok、degraded、unhealthy。
server.status string 服务端状态:ok、degraded、unavailable。
worker.status string worker 状态:starting、ok、degraded、stale、unavailable。
{
  "status": "ok",
  "server": {
    "status": "ok"
  },
  "worker": {
    "status": "ok"
  }
}

鉴权详细响应

Bearer token 校验通过后,额外返回以下字段。详情要求启用 CP Auth。所有时间均为 RFC 3339 UTC 字符串。类型末尾的 ? 表示可选字段;空的数据流映射可能省略。

响应字段 类型 说明
version string 服务端版本。
commit string 构建 commit。
server.components object 各组件健康状态,按组件名索引。包括 api、websocket,以及配置的 market_overview 等组件。
server.components.api.status string API 依赖状态:starting、ok、degraded、unavailable。
server.components.market_overview.status string 市场概览刷新状态:ok 或 unavailable;配置该监控时返回。
server.components.websocket.status string 实时数据流状态:starting、ok、stale、unavailable。
server.components.websocket.last_message_at string? 当前 API 服务最后接收到实时市场事件的时间。
server.components.websocket.tickers object? 聚合 ticker 状态,按 BTC 等基础资产符号索引。
server.components.websocket.tickers.<symbol>.status string 资产 ticker 状态:starting、ok、idle、stale。
server.components.websocket.tickers.<symbol>.last_message_at string? 最后接收到该资产聚合 ticker 事件的时间。
server.components.websocket.klines object? 聚合 1m K 线事件状态,按基础资产符号索引。
server.components.websocket.klines.<symbol>.status string 资产 1m K 线数据流状态:starting、ok、idle、stale。
server.components.websocket.klines.<symbol>.last_message_at string? 最后接收到该资产聚合 1m K 线事件的时间。
server.components.websocket.source_tickers object? 已观察到的来源 ticker 状态,以 exchange:pair:quote 为键。
server.components.websocket.source_tickers.<market>.status string 来源事件接收状态:ok 或 stale。
server.components.websocket.source_tickers.<market>.symbol string BTC 等基础资产符号。
server.components.websocket.source_tickers.<market>.last_message_at string? 当前 API 服务最后接收到该来源 ticker 事件的时间。
server.components.websocket.source_tickers.<market>.source_time string? 交易所原始报价时间,对应 WebSocket 事件的 T。
worker.heartbeat_at string? worker 心跳时间;不可用时省略。
{
  "status": "ok",
  "version": "dev",
  "commit": "none",
  "server": {
    "status": "ok",
    "components": {
      "api": {
        "status": "ok"
      },
      "market_overview": {
        "status": "ok"
      },
      "websocket": {
        "status": "ok",
        "last_message_at": "2026-10-02T04:00:00Z",
        "tickers": {
          "BTC": {
            "status": "ok",
            "last_message_at": "2026-10-02T04:00:00Z"
          }
        },
        "klines": {
          "BTC": {
            "status": "ok",
            "last_message_at": "2026-10-02T04:00:00Z"
          }
        },
        "source_tickers": {
          "gmo_coin:BTC_JPY:JPY": {
            "status": "ok",
            "symbol": "BTC",
            "last_message_at": "2026-10-02T04:00:00Z",
            "source_time": "2026-10-02T03:59:50Z"
          }
        }
      }
    }
  },
  "worker": {
    "status": "ok",
    "heartbeat_at": "2026-10-02T04:00:00Z"
  }
}

资产映射使用 BTC 等基础资产符号;<market> 代表 exchange:pair:quote 键,例如 gmo_coin:BTC_JPY:JPY。来源 ticker 超过 30 秒没有事件时标记 stale,但该诊断状态和较旧的 source_time 不会使整体健康降级。重复的来源心跳只更新 last_message_at,source_time 保持原始报价时间。idle 表示已连接但暂时没有交易的安静市场。

HTTP 状态与鉴权失败

两种响应的健康状态相同:200 也可能包含降级状态;必要依赖不可用或依赖检查过期时返回 503。启用 CP Auth 时,鉴权格式错误或无效 key 返回 401;过期或撤销的 key 可返回 403。其他 CP Auth 错误保留 HTTP 状态和错误码,错误消息经过脱敏。鉴权失败会返回错误,不会自动退回简易响应。可用性监控应省略 Authorization,以独立于 CP Auth 可用性和 token 权限读取公开健康状态。没有可用健康快照时,返回 503 及简易 JSON 格式,server 和 worker 均标记为 unavailable。响应使用 Cache-Control: no-store 和 Vary: Authorization。

授权​

或
bearerAuth

Required when cp_auth.enabled=true. The token must have the oracle scope.

类型
HTTP (bearer)

响应​

Cached health summary, or detailed health after successful Bearer authentication.

application/json
JSON
{
  
"status": "ok",
  
"server": {
  
  
"status": "ok"
  
},
  
"worker": {
  
  
"status": "ok"
  
}
}

试验场​

授权
(可选)

示例​