Spring Boot Actuator 健康信息

Spring Boot Actuator

FROM:https://springdoc.cn/spring-boot/actuator.html#actuator

健康信息:https://springdoc.cn/spring-boot/actuator.html#actuator.endpoints.health

K8s探针(springboot 2.3.3及以上版本):https://springdoc.cn/spring-boot/actuator.html#actuator.endpoints.kubernetes-probes

健康信息:

在 Spring Boot Actuator 中,/actuator/health 端点返回一个表示应用健康状况的对象,其中 status 字段是核心部分,它表示整个应用或各个组件的整体健康状态。status 的可能值包括但不限于:

  • UP: 表示应用及所有检查的组件均处于正常运行状态。
  • DOWN: 表示应用或至少有一个组件存在问题,无法正常运行。当任何内置或自定义的 Health Indicator 报告状态为 DOWN 时,整体 status 也将变为 DOWN
  • OUT_OF_SERVICE: 表示应用的某个组件已主动标记为维护模式或暂时不可用。
  • UNKNOWN: 表示由于某种原因,健康状况无法确定。

响应体还可能包含更详细的 components 部分,显示各个单独组件的健康状态和详细信息。

例如:

json 复制代码
{
  "status": "UP",
  "components": {
    "diskSpace": {
      "status": "UP",
      "details": {
        "total": 250182889472,
        "free": 31169568768,
        "threshold": 10485760
      }
    },
    "db": {
      "status": "UP",
      "details": {
        "database": "MySQL",
        "helloWorld": 1
      }
    }
  }
}

在上面的示例中,整个应用的 statusUP,因为所有列出的组件(如磁盘空间 diskSpace 和数据库 db)也都处于 UP 状态。如果 db 组件出现问题导致其 status 变为 DOWN,则整个应用的 status 也将随之变更为 DOWN

Health Status Response Status
DOWN 503(Service Unavailable)
OUT_OF_SERVICE 503(Service Unavailable)
UP 200(OK)
UNKNOWN

健康信息详情展示级别:

说明
never 细节从不显示。
when-authorized 细节只显示给授权用户。 授权的角色可以通过使用 management.endpoint.health.roles 进行配置。
always 详情显示给所有用户。

health端点 自动配置的HealthIndicators

Key Name 说明
cassandra CassandraDriverHealthIndicator 检查Cassandra数据库是否已经启动。
couchbase CouchbaseHealthIndicator 检查Couchbase集群是否已经启动。
db DataSourceHealthIndicator 检查是否可以获得与DataSource的连接。
diskspace DiskSpaceHealthIndicator 检查磁盘空间是否不足。
elasticsearch ElasticsearchRestHealthIndicator 检查Elasticsearch集群是否已经启动。
hazelcast HazelcastHealthIndicator 检查Hazelcast服务器是否已经启动。
influxdb InfluxDbHealthIndicator 检查InfluxDB服务器是否已经启动。
jms JmsHealthIndicator 检查一个JMS代理是否已经启动。
ldap LdapHealthIndicator 检查一个LDAP服务器是否正常。
mail MailHealthIndicator 检查一个邮件服务器是否正常。
mongo MongoHealthIndicator 检查Mongo数据库是否已经启动。
neo4j Neo4jHealthIndicator 检查Neo4j数据库是否已经启动。
ping PingHealthIndicator 总是响应 UP 。
rabbit RabbitHealthIndicator 检查一个Rabbit服务器是否已经启动。
redis RedisHealthIndicator 检查Redis服务器是否已经启动。

在适当的时候,Spring Boot会自动配置下表中列出的 HealthIndicators。 你也可以通过配置 management.health.key.enabled 来启用或停用所选指标。

你可以通过设置 management.health.defaults.enabled 属性来禁用它们。

额外的 HealthIndicators 是可用的,但在默认情况下不启用(springboot 2.3.3及以上版本可用)。

Key Name 说明
livenessstate LivenessStateHealthIndicator 显示 "Liveness" 应用程序的可用性状态。
readinessstate ReadinessStateHealthIndicator 暴露 "Readiness" 应用程序的可用性状态。
相关推荐
我命由我123452 小时前
Android Studio - Android Studio 自定义预览尺寸
android·java·ide·java-ee·android studio·android-studio·android runtime
mCell3 小时前
你以为短链接只是 Hash + 301/302?
后端·算法·架构
咖啡八杯3 小时前
GoF设计模式——迭代器模式
java·后端·设计模式·迭代器模式
AIGS0013 小时前
企业AI落地的关键认知:向量空间JBoltAI的本体语义平台
java·人工智能·人工智能ai大模型应用
KaMeidebaby4 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
醉城夜风~6 小时前
Java详解经典算法题:接雨水(三种实现方案+原理剖析)
java·开发语言·算法
数智化转型推荐官7 小时前
2026统一身份管理系统五大发展趋势解读
java·运维·微服务
看菜鸡互7 小时前
探索用 SlideML 让大模型生成 PPT 的实验方法
java·运维
IT_陈寒7 小时前
SpringBoot自动配置不是你以为的那样的智能
前端·人工智能·后端
ZhengEnCi8 小时前
S02-SpringBoot实体类新增字段对已有数据的影响及自动DDL同步机制详解
数据库·spring boot