|
|
WebOTX Manual V10.4 (第4版) 目次を表示 |
MicroProfile Health Checkは、マイクロサービス環境においてサービスのヘルス状態をチェックするための機能を提供します。
Health Check には以下の設定項目があります。設定の反映には、ドメインの再起動が必要です。
| dotted-name(CLINAME) | 説明 | 既定値 |
|---|---|---|
| server.microprofile.microprofile-health.enabled | /health を有効にするかどうかを設定します。true の場合は有効。false の場合は無効。 | true |
WebOTXは/healthエンドポイントを提供します。/healthエンドポイントにGETリクエストを受け付けると、ヘルスチェック応答をJSONフォーマットで返却します。
また、Webアプリケーションは固有のヘルスチェック応答(正常性(UP/DOWN)、データ(KEYとVALUE))を返却するためのクラスを実装することができます。
WebOTXはヘルスチェック応答を返却する際、各Webアプリケーションのヘルスチェック応答を収集し、全体的な正常性に集約して返却します。
MicroProfile Health Checkは、Webアプリケーションのヘルスチェック応答を返却するクラス(以下、「ヘルスチェック応答クラス」と呼称します)のために、次のアノテーションを提供します。
| 名称 | 説明 | アノテーション名 |
|---|---|---|
| Health | ヘルスチェック応答を返却するクラスであることを定義します。 | @Health |
ヘルスチェック応答クラスはorg.eclipse.microprofile.health.HealthCheckクラスを継承すると共にorg.eclipse.microprofile.health.Healthアノテーション、javax.enterprise.context.ApplicationScopedアノテーションを定義する必要があります。ヘルスチェック応答クラスは他のclassファイルと同様にWebアプリケーションのWEB-INF/clasesやWEB-INF/libに格納します。
HealthCheckResponseで正常性を返却するサンプルコードです。
import javax.enterprise.context.ApplicationScoped;
import org.eclipse.microprofile.health.Health;
import org.eclipse.microprofile.health.HealthCheck;
import org.eclipse.microprofile.health.HealthCheckResponse;
@Health
@ApplicationScoped
public class SampleHelthClass implements HealthCheck {
@Override
public HealthCheckResponse call() {
return HealthCheckResponse.named("SampleHealth").
up().
withData("dataName", "dataValue").
build();
}
}
上記のクラスを含むWebアプリケーションを配備し、/healthエンドポイントにアクセスすると次のようにJSONフォーマットのレスポンスが返却されます。
{"checks": [
{"name":"SampleHealth","state":"UP","data": {"dataName":"dataValue"}}],
"outcome": "UP"
}
HealthCheckResponseで異常性を返却する場合はup()部分をdown()に変更します。
:
return HealthCheckResponse.named("SampleHealth").
doen().
withData("dataName", "dataValue").
build();
: