最終更新:
編集

ヘルスチェック

[ソース]

ヘルスチェックは、個々のrippledサーバの状態を報告するための特別なpeer portメソッドです。このメソッドは、自動化された監視において、機能停止を認識し、サーバの再起動のような自動または手動による介入を促すために使用することを意図しています。新規: rippled 1.6.0

このメソッドは、複数の情報をチェックして、一般に正常とみなされる範囲にあるかどうかを確認します。すべての情報が正常な範囲にある場合、このメソッドは、サーバが正常であることを報告します。いずれかの情報が正常な範囲外の場合、このメソッドは、サーバが正常でないことを報告し、正常でない情報を報告します。

情報によっては、急速に正常範囲から外れる情報もあるため、ヘルスチェックが複数回連続して失敗しない限り、アラートを発生させないようにしてください。

注記: ヘルスチェックはpeer portメソッドであるため、スタンドアロンモードでサーバをテストしているときは利用できません。

リクエストのフォーマット

ヘルスチェック情報をリクエストするには、以下のHTTPリクエストを行ってください。

  • プロトコル: https
  • HTTPメソッド: GET
  • ホスト: (任意のrippledサーバ(ホスト名またはIPアドレスによる))
  • ポート: (rippledサーバがピアプロトコルを使用するポート番号、通常は51235です。)
  • パス: /health
  • セキュリティ: ほとんどのrippledサーバはリクエストにレスポンスするために自己署名証明書を使います。デフォルトでは、(Webブラウザを含む)ほとんどのツールは、そのようなレスポンスは信頼できないとしてフラグを立てたりブロックしたりします。これらのサーバからのレスポンスを表示するには、証明書のチェックを無視しなければなりません (たとえば、cURLを使用している場合は--insecureフラグを追加します)。

レスポンスの例

HTTP/1.1 200 OK
Server: rippled-1.6.0-b8
Content-Type: application/json
Connection: close
Transfer-Encoding: chunked

{
  "info": {}
}

レスポンスのフォーマット

レスポンスのHTTPステータスコードは、サーバの状態を示します。

ステータスコード現在の状態説明
200 OKHealthyすべての指標は許容範囲内です。
503 Service UnavailableWarning1つ以上の指標が警告範囲にあります。手動介入が必要な場合と不要な場合があります。
500 Internal Server ErrorCritical1つ以上のメトリクスが深刻な範囲にあります。おそらく手動による修正が必要な深刻な問題があります。

レスポンスボディは JSON オブジェクトで、トップレベルに infoオブジェクトが 1 つあります。infoオブジェクトには、warningまたはcriticalの範囲にある指標ごとの値が含まれます。正常な範囲にある指標は省略されるため、完全に正常なサーバは空のオブジェクトを持ちます。

infoオブジェクトは以下のフィールドを含むことができます。

Field説明
amendment_blocked真偽値(省略される場合があります) trueの場合、サーバはamendmentブロック状態で、ネットワークとの同期を維持するためにアップグレードする必要があります。この状態は非常に重要です。サーバがAmendmentブロックされていない場合、このフィールドは省略されます。
load_factor数値(省略される場合があります) サーバが受けている全体的な負荷の指標。I/O、CPU、メモリの制限が反映されます。負荷率が100以上の場合はwarning、1000以上の場合はcriticalです。
peers数値(省略される場合があります) このサーバが接続しているピアサーバの数。7つ以下のピアに接続されている場合はwarning、0つのピアに接続されている場合はcriticalです。
server_state文字列(省略される場合があります) 現在のサーバの状態。サーバの状態がtrackingsyncingconnectedの場合はwarningです。サーバがdisconnected状態の場合はcriticalです。
validated_ledger数値(省略される場合があります) レジャーが最後にコンセンサスによって検証されてから何秒経ったかを表します。検証されたレジャーがない場合(サーバ起動時の初期同期期間)、この値は-1となり、warningとみなされます。また、最後に検証されたレジャーが少なくとも7秒前であればwarningとなり、最後に検証されたレジャーが少なくとも20秒前であればcriticalとなります。

関連項目

ヘルスチェックの結果を判断するガイダンスについては、ヘルスチェックの導入をご覧ください。