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 5.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
{
"outcome" => "success",
"result" => {
"status" => "UP",
"checks" => [
{
"name" => "boot-errors",
"status" => "UP"
},
{
"name" => "server-state",
"status" => "UP",
"data" => {"value" => "running"}
},
{
"name" => "empty-readiness-checks",
"status" => "UP"
},
{
"name" => "deployments-status",
"status" => "UP"
},
{
"name" => "empty-liveness-checks",
"status" => "UP"
},
{
"name" => "empty-startup-checks",
"status" => "UP"
}
]
}
}
3.4.6. プローブが定義されていない場合のグローバルステータス リンクのコピーリンクがクリップボードにコピーされました!
:empty-readiness-checks-status、:empty-liveness-checks-status、および :empty-startup-checks-status 管理属性は、readiness、liveness、または startup プローブが定義されていない場合のグローバルステータスを指定します。
これらの属性により、アプリケーションは、そのアプリケーションが ready/live または、started up であることをプローブが確認するまで、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プローブが定義されていない場合に、livenessプローブのグローバルステータスを指定します。/subsystem=microprofile-health-smallrye:read-attribute(name=empty-liveness-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_LIVENESS_CHECKS_STATUS:UP}" }:empty-startup-checks-status属性は、startupプローブが定義されていない場合に、startupプローブのグローバルステータスを指定します。/subsystem=microprofile-health-smallrye:read-attribute(name=empty-startup-checks-status) { "outcome" => "success", "result" => expression "${env.MP_HEALTH_EMPTY_STARTUP_CHECKS_STATUS:UP}" }/healthHTTP エンドポイントと、readiness、liveness、startupプローブをチェックする: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"
}
}