spring boot actuator 是生产级监控工具,提供健康检查、指标采集、配置查看等功能;通过添加依赖和配置可暴露health、metrics等端点,支持prometheus集成与安全加固。

Spring Boot Actuator 是 Spring Boot 提供的一套生产级监控工具,能快速暴露应用的运行状态、指标、配置、线程堆栈等关键信息。在生产环境中,它不光用于健康检查,更是故障排查、容量评估和自动化运维的基础支撑。
启用 Actuator 并暴露关键端点
只需添加依赖并简单配置,就能开启监控能力:
- 在 pom.xml 中引入 Actuator 依赖(Spring Boot 2.7+ 已内置):
- 在 application.yml 中启用并暴露所需端点(默认只开放
health和info):
endpoints:
web:
exposure:
include: "health,info,metrics,prometheus,threaddump,env,beans,loggers"
endpoint:
health:
show-details: when_authorized
注意:show-details 设为 when_authorized 可防止敏感信息泄露,配合 Spring Security 控制访问权限更稳妥。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
通过 /actuator/health 深度检查系统健康
/actuator/health 不只是返回 UP/DOWN,还能按组件分级探测:
- 默认返回精简结果(如
{"status":"UP"}),加参数?showDetails=true(需授权)可看到数据库、Redis、Elasticsearch 等依赖组件的连通性详情; - 自定义健康指示器(
HealthIndicator)可加入业务逻辑判断,比如校验核心定时任务是否正常触发、关键缓存是否命中率过低; - 使用
HealthAggregator可调整多个组件状态聚合策略(例如:任一关键组件 DOWN 则整体 DOWN)。
集成 Prometheus 实现指标采集与可视化
Actuator 原生支持 Prometheus 格式输出,是云原生监控的事实标准:
- 添加 Micrometer 依赖(Spring Boot 2.0+ 默认集成);
- 配置
management.endpoints.web.exposure.include: prometheus; - Prometheus Server 抓取
/actuator/prometheus即可获取 JVM 内存、HTTP 请求延迟、线程数、自定义业务计数器等指标; - 配合 Grafana 面板,可实时查看 QPS、错误率、GC 时间、慢接口 TopN 等关键数据。
安全加固与生产注意事项
暴露监控端点意味着暴露系统细节,必须严格管控:
- 禁止将
/actuator/env或/actuator/beans对公网开放,建议仅限内网或通过跳板机访问; - 用 Spring Security 限制端点权限,例如只允许运维角色访问
threaddump和loggers; - 避免在
application.properties中硬编码敏感配置,改用Config Server或 K8s Secret 管理; - 定期审查暴露的端点清单,关闭非必要项(如
shutdown端点在新版中已默认禁用)。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










