3.4. MicroProfile Health 設定
3.4.1. 管理 CLI を使用した正常性の検証
管理 CLI を使用してシステムの正常性を確認できます。
手順
正常性を確認します。
/subsystem=microprofile-health-smallrye:check { "outcome" => "success", "result" => { "status" => "UP", "checks" => [] } }
3.4.2. 管理コンソールを使用した正常性の検証
管理コンソールを使用してシステムの正常性を確認できます。
チェックランタイム操作では、ヘルスチェックとグローバルの結果がブール値として表示されます。
手順
- Runtime タブに移動し、サーバーを選択します。
- Monitor の列で MicroProfile Health → View の順にクリックします。
3.4.3. HTTP エンドポイントを使用した正常性の検証
正常性検証は JBoss EAP の正常性コンテキストに自動的にデプロイされるため、HTTP エンドポイントを使用して現在の正常性を取得できます。
管理インターフェイスからアクセスできる /health
エンドポイントのデフォルトアドレスは http://127.0.0.1:9990/health
です。
手順
HTTP エンドポイントを使用して、サーバーの現在のヘルス状態を取得するには、以下の URL を使用します。
http://<host>:<port>/health
このコンテキストにアクセスすると、サーバーの状態を示すヘルスチェックが JSON 形式で表示されます。
3.4.4. MicroProfile Health の認証の有効化
アクセスに認証を要求するように health
コンテキストを設定できます。
手順
microprofile-health-smallrye
サブシステムでsecurity-enabled
属性をtrue
に設定します。/subsystem=microprofile-health-smallrye:write-attribute(name=security-enabled,value=true)
変更を反映するためにサーバーをリロードします。
reload
/health
エンドポイントにアクセスしようとすると、認証プロンプトがトリガーされるようになります。
3.4.5. サーバーの正常性および準備状態を判断する readiness プローブ
JBoss EAP XP 3.0.0 は、サーバーの正常性と readiness を判断するために 3 つの readiness プローブをサポートします。
-
server-status
: server-state はrunning
のとき、UP
を返します。 -
boot-errors
: プローブがブートエラーを検出しないときにUP
を返します。 -
deployment-status
: すべてのデプロイメントのステータスがOK
の場合はUP
を返します。
これらの readiness プローブはデフォルトで有効にされます。MicroProfile Config プロパティー mp.health.disable-default-procedures
を使用してプローブを無効にすることができます。
以下の例は、check
操作で 3 つのプローブを使用する方法を示しています。
[standalone@localhost:9990 /] /subsystem=microprofile-health-smallrye:check { "checks": [ { "name": "empty-readiness-checks", "status": "UP" }, { "name": "empty-liveness-checks", "status": "UP" }, { "data": { "value": "running" }, "name": "server-state", "status": "UP" }, { "name": "deployments-status", "status": "UP" }, { "name": "boot-errors", "status": "UP" } ], "status": "UP" }
3.4.6. プローブが定義されていない場合のグローバルステータス
:empty-readiness-checks-status
および :empty-liveness-checks-status
は、readiness
または liveness
プローブが定義されていない場合のグローバルステータスを指定する管理属性です。
これらの属性により、アプリケーションは、そのアプリケーションが ready または live であることをプローブが確認するまで、'DOWN' を報告できるようになります。デフォルトでは、アプリケーションは 'UP' を報告します。
:empty-readiness-checks-status
属性は、readiness
プローブが定義されていない場合に、readiness
プローブのグローバルステータスを指定します。/subsystem=microprofile-health-smallrye:read-attribute(name=empty-readiness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_READINESS_CHECKS_STATUS:UP}" }
:empty-liveness-checks-status
属性は、liveness
プローブが定義されていない場合に、liveliness
プローブのグローバルステータスを指定します。/subsystem=microprofile-health-smallrye:read-attribute(name=empty-liveness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}" }
readiness
およびliveness
プローブの両方を確認する/health
HTTP エンドポイントと:check
操作は、これらの属性も考慮します。
これらの属性は以下の例のように変更することもできます。
/subsystem=microprofile-health-smallrye:write-attribute(name=empty-readiness-checks-status,value=DOWN) { "outcome" => "success", "response-headers" => { "operation-requires-reload" => true, "process-state" => "reload-required" } }