本記事では、現在のOceanBaseクラスタの状態情報を確認する方法について説明します。
呼び出しの説明
インターフェース制約
obshell ServerはこのAPIに対してセキュリティ検証を実施します。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
GET /api/v1/ob/info
戻り値
| パラメータ | タイプ | 説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうかを示します。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプです。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)です。 |
| status | int | HTTP Status規格に準拠したエンコードです。 |
| traceId | string | リクエストのトレース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クラスタには2つのゾーンが含まれており、各ゾーンには1つの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を呼び出すこともできます。