本記事では、ノードの現在のステータスを確認する方法について説明します。これには、ノードのアイデンティティ、プロセス情報、サービス状態などが含まれます。
呼び出しの説明
インターフェース制約
obshell ServerはこのAPIに対してセキュリティ検証を実施します。詳細については、APIハイブリッド暗号化を参照してください。
リクエストパス
GET /api/v1/status
実行結果
| パラメータ | タイプ | 説明 |
|---|---|---|
| successful | bool | リクエストが成功したかどうかを示します。 |
| timestamp | time.Time | サーバーがリクエストを完了したタイムスタンプです。 |
| duration | int | サーバーがリクエストを処理した時間(ミリ秒)です。 |
| status | int | HTTP Status仕様に準拠したエンコードです。 |
| traceId | string | リクエストのトレースIDです。 |
| data | AgentStatus | 詳細は以下のAgentStatus情報のデータ構造を参照してください。 |
| error | ApiError | リクエストによって生成されたエラーで、以下の情報が含まれます:
|
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を呼び出すこともできます。