Spring Boot Actuator健康监控核心三步:加spring-boot-starter-actuator和web依赖、配置management.endpoints.web.exposure.include=health及show-details、访问/actuator/health获取UP/DOWN状态;需结合Security防护,禁用高敏端点。

在 Spring Boot 项目中集成 Actuator 实现健康状态监控,核心就三步:加依赖、配端点、调接口。它不是要你从零写监控逻辑,而是快速启用一套标准化的“应用生命体征反馈机制”。
添加 starter 依赖
只需在 pom.xml 中引入:
-
spring-boot-starter-actuator(必选) -
spring-boot-starter-web(提供 HTTP 访问能力,必选)
Spring Boot 3.x 默认不暴露任何端点,所以光加依赖还不够,必须显式配置才生效。
开启并暴露健康端点
在 application.yml 中配置:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- 启用 health 端点:
management.endpoint.health.show-details=when_authorized(推荐设为always仅限开发环境) - 暴露到 Web:
management.endpoints.web.exposure.include=health - 如需聚合子项详情(如 db、disk),加:
management.endpoint.health.show-details=always
启动后访问 http://localhost:8080/actuator/health,返回类似:
理解健康状态的含义
Actuator 的 /health 不是简单 ping 通就算 UP:
- UP:所有注册的 HealthIndicator(如 DataSourceHealthIndicator、DiskSpaceHealthIndicator)都返回正常
- DOWN:任一关键组件失败(比如数据库连不上、磁盘剩余不足)
- OUT_OF_SERVICE:服务主动声明不可用(例如维护中),但自身无故障
默认只检查数据库连接和磁盘空间,若你的服务强依赖 Redis 或 Kafka,需要手动注册对应 HealthIndicator。
安全与生产建议
健康端点虽必要,但不能裸奔:
- 生产环境务必配合 Spring Security,限制 /actuator/health 的访问权限
- 避免开启
/env、/beans、/shutdown等高敏端点 - 可结合 Kubernetes 的 livenessProbe 和 readinessProbe,直接使用
/actuator/health或其子路径(如/actuator/health/readiness)

















