Spring Boot Actuator 是一套开箱即用的生产级监控管理功能,默认仅开放 /actuator/health 端点,其余需在 application.yml 中配置 exposure.include 启用;可通过 HealthIndicator 自定义健康检查;敏感端点应结合 Spring Security 或反向代理加强安全防护;支持集成 Micrometer 与 Prometheus 实现指标采集和可视化。

Spring Boot Actuator 是 Spring Boot 提供的一套开箱即用的生产级监控和管理功能,能快速暴露应用的健康、指标、环境、配置等运行时信息。默认只开放 /actuator/health 端点,其余需显式启用并配置访问权限。
启用 Actuator 并暴露端点
在 pom.xml 中添加依赖(Spring Boot 2.7+ 已内置,无需额外引入):
在 application.yml 中开启所需端点(例如健康、指标、环境、配置):
management:
endpoints:
web:
exposure:
include: health,info,metrics,env,configprops,beans
endpoint:
health:
show-details: when_authorized
-
include指定要对外暴露的端点列表,*表示全部(不推荐生产环境使用) -
show-details控制健康详情可见性:never(默认)、when_authorized(需认证后可见)、always
查看应用健康状态
访问 http://localhost:8080/actuator/health 可获取基础健康状态(UP/DOWN/OUT_OF_SERVICE):
{
"status": "UP",
"components": {
"diskSpace": {"status": "UP", "details": {...}},
"ping": {"status": "UP"}
}
}
如需自定义健康检查逻辑,实现 HealthIndicator 接口:
@Component
public class DatabaseHealthIndicator implements HealthIndicator {
@Override
public Health health() {
try {
// 执行数据库连通性检查
return Health.up().withDetail("message", "DB is reachable").build();
} catch (Exception e) {
return Health.down().withDetail("error", e.getMessage()).build();
}
}
}
安全访问敏感端点
生产环境中,/env、/configprops、/beans 等端点可能泄露敏感配置,建议配合 Spring Security 限制访问:
- 添加
spring-boot-starter-security依赖 - 配置安全规则,例如仅允许
ACTUATOR角色访问所有 actuator 端点 - 或通过
management.endpoints.web.base-path修改根路径(如设为/manage),降低被扫描风险
也可用反向代理(如 Nginx)对 /actuator/** 做 IP 白名单或 Basic Auth 保护。
集成 Prometheus 和 Grafana(可选增强)
若需长期指标采集与可视化,可引入 Micrometer + Prometheus 支持:
配置后自动暴露 /actuator/prometheus 端点,配合 Prometheus 抓取 + Grafana 展示 JVM、HTTP 请求、线程池等指标。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











