健康检查 (health)

health 端点提供了关于应用程序健康状况的详细信息。

检索应用程序的健康状况

要检索应用程序的健康状况,可以按照以下基于 curl 的示例,向 /actuator/health 发起一个 GET 请求:

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" : 38081384448,
        "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 的示例,向 /actuator/health/{component} 发起一个 GET 请求:

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 指标),可以通过向 /actuator/health/{component}/{subcomponent} 发起 GET 请求来检索嵌套组件的健康状况,示例如下:

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"
  }
}

应用程序健康状况的组件可以根据健康指标和分组情况进行任意深度的嵌套。Health 端点支持 URL 中任意数量的 /{component} 标识符,以便检索任意深度的组件健康状况。

响应结构

响应包含应用程序某个特定组件实例的健康状况的详细信息。下表描述了响应的结构:

路径

类型

描述

status

String

应用程序特定部分的状态。

details

Object

应用程序特定部分的健康状况详情。