状態 (health
)
health
エンドポイントは、アプリケーションの状態に関する詳細情報を提供します。
アプリケーションの健全性の取得
アプリケーションの正常性を取得するには、次の curl ベースの例に示すように、GET
リクエストを /actuator/health
に作成します。
$ curl 'http://localhost:8080/actuator/health' -i -X GET \
-H 'Accept: application/json'
結果のレスポンスは次のようになります。
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 821
{
"status" : "UP",
"components" : {
"broker" : {
"status" : "UP",
"components" : {
"us1" : {
"status" : "UP",
"details" : {
"version" : "1.0.2"
}
},
"us2" : {
"status" : "UP",
"details" : {
"version" : "1.0.4"
}
}
}
},
"db" : {
"status" : "UP",
"details" : {
"database" : "H2",
"validationQuery" : "isValid()"
}
},
"diskSpace" : {
"status" : "UP",
"details" : {
"total" : 76887154688,
"free" : 51633451008,
"threshold" : 10485760,
"path" : "/home/runner/work/spring-boot/spring-boot/spring-boot-project/spring-boot-actuator-autoconfigure/.",
"exists" : true
}
}
}
}
レスポンス構造
レスポンスには、アプリケーションの正常性の詳細が含まれます。次の表に、レスポンスの構造を示します。
パス | タイプ | 説明 |
---|---|---|
|
| アプリケーションの全体的なステータス。 |
|
| 正常性を構成するコンポーネント。 |
|
| アプリケーションの特定の部分のステータス。 |
|
| 正常性を構成するネストされたコンポーネント。 |
|
| アプリケーションの特定の部分の正常性の詳細。存在は |
上記のレスポンスフィールドは V3 API 用です。V2 JSON を返す必要がある場合は、accept ヘッダーまたは application/vnd.spring-boot.actuator.v2+json を使用する必要があります |
コンポーネントの健全性の取得
アプリケーションのヘルスの特定のコンポーネントのヘルスを取得するには、次の curl ベースの例に示すように、GET
リクエストを /actuator/health/{component}
に送信します。
$ curl 'http://localhost:8080/actuator/health/db' -i -X GET \
-H 'Accept: application/json'
結果のレスポンスは次のようになります。
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 101
{
"status" : "UP",
"details" : {
"database" : "H2",
"validationQuery" : "isValid()"
}
}
ネストされたコンポーネントの健全性の取得
特定のコンポーネントに他のネストされたコンポーネントが含まれる場合(上記の例の broker
インジケーターとして)、次の curl ベースの例に示すように、GET
リクエストを /actuator/health/{component}/{subcomponent}
に発行することにより、そのようなネストされたコンポーネントのヘルスを取得できます:
$ curl 'http://localhost:8080/actuator/health/broker/us1' -i -X GET \
-H 'Accept: application/json'
結果のレスポンスは次のようになります。
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 66
{
"status" : "UP",
"details" : {
"version" : "1.0.2"
}
}
アプリケーションの正常性のコンポーネントは、アプリケーションの正常性インジケーターとそれらがどのようにグループ化されているかに応じて、任意の深さにネストできます。ヘルスエンドポイントは、URL で任意の数の /{component}
識別子をサポートし、任意の深さでコンポーネントのヘルスを取得できるようにします。