本記事では、ノードの現在のステータスを確認する方法について説明します。これには、ノードのアイデンティティ、プロセス情報、サービス状態などが含まれます。
呼び出しの説明
インターフェース制約
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を呼び出すこともできます。