spring boot actuator 是一套生产级监控与管理工具,提供健康检查、指标收集、环境配置查看、线程快照等端点,默认仅暴露 health 和 info,需配置 exposure.include 启用其他端点,并可通过 security 配置权限及对接 prometheus、grafana 等生态组件。

Spring Boot Actuator 是 Spring Boot 提供的一套生产级监控与管理工具,能快速暴露应用的运行时信息(如健康、内存、线程、HTTP 调用链、配置等),无需额外开发即可接入 Prometheus、Grafana 或 Spring Boot Admin 等生态组件。
启用 Actuator 并暴露端点
在 pom.xml 中添加依赖:
默认只暴露 health 和 info 两个端点。如需查看更多(如 metrics、beans、env、threaddump),需在 application.yml 中配置:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
management:
endpoints:
web:
exposure:
include: "*" # 或写具体端点名,如 health,metrics,env,beans,threaddump
endpoint:
health:
show-details: when_authorized # 可设为 always(调试用)或 never
常用端点及其用途
Actuator 提供的端点以 /actuator/xxx 形式访问(如 GET http://localhost:8080/actuator/health):
- health:返回应用整体健康状态(UP/DOWN),支持自定义健康指示器(如检查数据库连通性、Redis 是否可用)
-
metrics:提供 JVM 内存、线程数、HTTP 请求计数/延迟等指标,支持按 name 过滤(如
/actuator/metrics/jvm.memory.used) -
prometheus:若引入
micrometer-registry-prometheus,该端点可直接被 Prometheus 抓取(格式为文本型 metrics) - env:查看所有环境变量和配置属性(含 profile 激活情况),敏感字段(如 password)默认脱敏
- threaddump:获取 JVM 当前线程快照,用于排查死锁或线程阻塞
-
loggers:动态调整日志级别(如 PUT
/actuator/loggers/com.example设置 level=DEBUG)
安全控制与定制化
生产环境必须限制 Actuator 端点访问权限:
- 引入 spring-boot-starter-security 后,所有端点默认受 Spring Security 保护
- 可在 application.yml 中指定哪些端点需要认证:
management:
endpoint:
health:
show-details: when_authorized
endpoints:
web:
exposure:
include: health,metrics,prometheus - 通过 SecurityConfig 配置细粒度权限,例如仅允许 /actuator/health 匿名访问,其余需 ROLE_ACTUATOR
- 可自定义端点:继承
Endpoint<t></t>或使用@Endpoint注解,配合@ReadOperation暴露业务相关运维能力(如手动触发缓存刷新)
集成监控生态
Actuator 是对接可观测性体系的基础桥梁:
- 对接 Prometheus:添加
micrometer-registry-prometheus依赖,/actuator/prometheus自动启用 - 对接 Grafana:用 Prometheus 作为数据源,导入 Spring Boot 官方 Dashboard(ID: 4711)
- 对接 Spring Boot Admin:搭建 Admin Server,客户端通过
spring.boot.admin.client.url注册,获得图形化 UI、告警、JVM 监控等功能 - 对接 Zipkin/Sleuth:启用分布式链路追踪后,
/actuator/traces(旧版)或/actuator/httpexchanges(新版)可查最近请求记录
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










