Spring Boot Actuator 是 Spring Boot 提供的一个用于监控和管理应用程序的模块。它通过暴露一系列 HTTP 端点(endpoints)或 JMX 接口,让开发者和运维人员可以轻松地获取应用的运行时状态、健康状况、指标信息、配置详情等,而无需自己编写额外的监控代码。
健康检查(Health)
/actuator/health应用信息(Info)
/actuator/info指标监控(Metrics)
/actuator/metrics环境变量(Environment)
/actuator/env日志管理(Loggers)
/actuator/loggersHTTP 跟踪(HttpTrace / Traces)
/actuator/httptrace(旧版)或 /actuator/httptraces线程转储(Threaddump)
/actuator/threaddump关闭应用(Shutdown)
/actuator/shutdown开箱即用
只需添加 spring-boot-starter-actuator 依赖,即可自动启用多个监控端点。
与 Spring Boot 无缝集成
无需额外配置即可与 Spring Boot 应用结合,支持自动装配和自定义扩展。
生产就绪(Production Ready)
提供了面向生产环境的监控能力,帮助快速诊断问题、保障系统稳定性。
安全可控
可通过 Spring Security 对敏感端点(如 shutdown、env)进行权限控制,防止未授权访问。
可扩展性强
支持自定义健康指示器(HealthIndicator)、指标(MeterRegistry 集成 Micrometer)、端点等。
与监控系统集成
通过 Micrometer,可将指标导出到 Prometheus、Graphite、Datadog、InfluxDB 等主流监控平台。
1. 添加依赖(Maven)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2. 配置暴露端点(application.yml)
management:
endpoints:
web:
exposure:
include: health,info,metrics,env,loggers # 或使用 "*" 暴露全部(生产慎用)
endpoint:
health:
show-details: always
3. 访问健康检查
GET http://localhost:8080/actuator/health
env、shutdown 等敏感接口。总之,Spring Boot Actuator 是构建可观测性(Observability)微服务的重要工具,极大简化了应用的运维和监控工作。