首批通过分布式安全可靠测评,为关键业务系统打造
查询集群信息
更新时间:2026-04-10 11:58:01
本文介绍如何查询当前 OceanBase 集群的状态信息。
调用说明
接口约束
obshell Server 会对该 API 进行安全校验,详细介绍可参见 API 混合加密。
请求路径
GET /api/v1/ob/info
返回结果
| 参数 | 类型 | 说明 |
|---|---|---|
| successful | bool | 请求是否成功。 |
| timestamp | time.Time | 服务端完成请求的时间戳。 |
| duration | int | 服务端处理请求的时间(毫秒)。 |
| status | int | 符合 HTTP Status 规范的编码。 |
| traceId | string | 请求的 Trace ID。 |
| data | ObInfoResp | ObInfoResp 中包含 agent_info 和 obcluster_info。agent_info 包含了一系列 obshell 的数据信息,obcluster_info 中包含一系列 OBServer 节点的数据信息。详细介绍参见下表 ObInfoResp 信息的数据结构。 |
| error | ApiError | 请求产生的 Error,包含如下信息:
|
ObInfoResp 信息的数据结构如下:
| 模块 | 参数 | 类型 | 说明 |
|---|---|---|---|
| agent_info | ip | string | 节点的 IP 地址 |
| port | int | 节点的端口号 | |
| zone | string | 节点所属 Zone | |
| identity | string | 节点的身份。当请求的节点身份为 SINGLE 时,只会返回自身信息,否则返回集群内所有节点信息。 |
|
| version | string | 使用的 obshell 的版本号 | |
| obcluster_info | name | string | OceanBase 集群名 |
| version | string | OceanBase 数据库版本号 | |
| topology | map[string][]ServerConfig | OceanBase 集群拓扑情况。topology 中包含了集群内所有 Zone 的拓扑情况。其中,每个 OBServer 节点的信息由 ServerConfig 承载,详情参见下文 ServerConfig 信息的数据结构 |
ServerConfig 信息的数据结构如下:
| 参数 | 类型 | 说明 |
|---|---|---|
| svr_ip | string | OBServer 节点的 IP 地址 |
| svr_port | int | OBServer 节点的端口号 |
| sql_port | int | OBServer 节点中 SQL 服务协议端口号 |
| agent_port | int | obshell 服务端口号 |
| with_rootserver | string | 是否为集群 RS(Root Service) |
| status | string | OBServer 节点的状态 |
示例
请求示例
GET 10.10.10.1:2886/api/v1/ob/info
返回示例
示例中返回了一个已经初始化的集群内所有节点的信息,以及 OceanBase 集群的拓扑信息。OceanBase 集群中包含两个 Zone,每个 Zone 内有一个 OBServer 节点。
{
"successful": true,
"timestamp": "2024-01-09T20:03:14.33717735+08:00",
"duration": 14,
"status": 200,
"traceId": "f06339705f167a89",
"data": {
"agent_info": [
{
"ip": "10.10.10.1",
"port": 2886,
"zone": "zone1",
"identity": "CLUSTER AGENT",
"version": "4.2.1.0-0"
},
{
"ip": "10.10.10.2",
"port": 2886,
"zone": "zone2",
"identity": "CLUSTER AGENT",
"version": "4.2.1.0-0"
}
],
"obcluster_info": {
"name": "test",
"version": "5.7.25-OceanBase_CE-v4.2.0.0",
"topology": {
"zone1": [
{
"svr_ip": "10.10.10.1",
"svr_port": 2882,
"sql_port": 2881,
"agent_port": 2886,
"with_rootserver": "YES",
"status": "ACTIVE"
}
],
"zone2": [
{
"svr_ip": "10.10.10.2",
"svr_port": 2882,
"sql_port": 2881,
"agent_port": 2886,
"with_rootserver": "NO",
"status": "ACTIVE"
}
]
}
}
}
}
相关文档
除通过命令行调用 API 接口外,还可以通过 SDK 方法调用 API。