本記事では、ノードの現在のステータスを確認する方法について説明します。ノードのアイデンティティ、プロセス情報、サービス状態などの内容が含まれます。
呼び出しの説明
インターフェース制約
obshell ServerはこのAPIに対してセキュリティ検証を行います。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
GET /api/v1/status
戻り値
パラメータ |
型 |
説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうかを示します。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプです。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)です。 |
| status | int | HTTPステータスコード規格に準拠したエンコードです。 |
| traceId | string | リクエストのTrace IDです。 |
| data | AgentStatus | 詳細については、以下のAgentStatus情報のデータ構造を参照してください。 |
| error | ApiError | リクエストによって生成されたErrorで、以下の情報が含まれます:
|
AgentStatus情報のデータ構造:
パラメータ |
型 |
説明 |
|---|---|---|
| agent | AgentInfoWithIdentity | ノードのアイデンティティ情報を表し、以下の3つの情報を含みます:
|
| state | int | ノードサービスの状態で、以下のような状態があります:
|
| version | string | 使用しているobshellのバージョンです。 |
| pid | int | ノードサービスプロセスIDです。 |
| startAt | int | ノードがサービスを開始した時間です。 |
| port | int | ノードのポート番号です。 |
| obState | int | ノードが管理するOceanBaseデータベースの現在の状態で、以下のような状態があります:
|
| underMaintenance | bool | ノードがメンテナンス状態にあるかどうかを示します。 |
ノードのアイデンティティ識別子:
識別子 |
説明 |
|---|---|
SINGLE |
ノードがどのクラスタにも属していないことを示します |
FOLLOWER/MASTER |
ノードが初期化されていないクラスタに属していることを示します |
CLUSTER AGENT |
ノードが初期化されたクラスタに属していることを示します |
TAKE OVER MASTER/TAKE OVER FOLLOWER |
ノードがタッケオーバー状態にあることを示します |
SCALING OUT |
ノードがスケールアウト状態にあることを示します |
UNIDENTIFIED |
ノードが未定義であることを示します |
例
リクエスト例
GET 10.10.10.1:2886/api/v1/status
レスポンス例
この例では、CLUSTER AGENTノードのステータスが返されています。これは、現在のノードが正常にサービスを提供でき、メンテナンス状態にないことを示しています。
{
"successful": true,
"timestamp": "2024-01-09T20:01:52.466963232+08:00",
"duration": 3,
"status": 200,
"traceId": "",
"data": {
"agent": {
"ip": "10.10.10.1",
"port": 2886,
"identity": "CLUSTER AGENT"
},
"state": 2,
"version": "4.2.1.0-0",
"pid": 74314,
"startAt": 1704801582437828890,
"port": 2886,
"obState": 3,
"underMaintenance": false
}
}
関連ドキュメント
コマンドラインからAPIを呼び出すほかに、SDKメソッドを使用してAPIを呼び出すこともできます。