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プローブの両方を確認する/healthHTTP エンドポイントと: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"
}
}