状態 (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" : 77851254784,
        "free" : 38447755264,
        "threshold" : 10485760,
        "path" : "/home/runner/work/spring-boot/spring-boot/spring-boot-project/spring-boot-actuator-autoconfigure/.",
        "exists" : true
      }
    }
  }
}

レスポンス構造

レスポンスには、アプリケーションの正常性の詳細が含まれます。次の表に、レスポンスの構造を示します。

パス タイプ 説明

status

String

アプリケーションの全体的なステータス。

components

Object

正常性を構成するコンポーネント。

components.*.status

String

アプリケーションの特定の部分のステータス。

components.*.components

Object

正常性を構成するネストされたコンポーネント。

components.*.details

Object

アプリケーションの特定の部分の正常性の詳細。存在は management.endpoint.health.show-details によって制御されます。

上記のレスポンスフィールドは 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()"
  }
}

レスポンス構造

レスポンスには、アプリケーションの正常性の特定のコンポーネントの正常性の詳細が含まれます。次の表に、レスポンスの構造を示します。

パス タイプ 説明

status

String

アプリケーションの特定の部分のステータス

details

Object

アプリケーションの特定の部分の正常性の詳細。

ネストされたコンポーネントの健全性の取得

特定のコンポーネントに他のネストされたコンポーネントが含まれる場合(上記の例の 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} 識別子をサポートし、任意の深さでコンポーネントのヘルスを取得できるようにします。

レスポンス構造

レスポンスには、アプリケーションの特定のコンポーネントのインスタンスの正常性の詳細が含まれます。次の表に、レスポンスの構造を示します。

パス タイプ 説明

status

String

アプリケーションの特定の部分のステータス

details

Object

アプリケーションの特定の部分の正常性の詳細。