spring boot admin 是用于监控 spring boot 应用的开源工具,通过 actuator 端点收集指标与健康信息并提供 web ui;需搭建服务端(启用 @enableadminserver)和客户端(配置注册地址),注意安全加固与端点暴露策略。

Spring Boot Admin 是一个用于管理和监控 Spring Boot 应用的开源工具,它通过 Actuator 暴露的端点收集指标、健康状态、日志配置等信息,并提供友好的 Web UI。集成过程不复杂,但需注意服务端与客户端的角色划分和基础配置细节。
搭建 Spring Boot Admin 服务端
服务端是独立的 Spring Boot 应用,负责收集并展示所有被监控应用的数据。
- 新建一个 Spring Boot 项目(推荐使用 Spring Initializr),添加 spring-boot-starter-web 和 spring-boot-admin-starter-server 依赖
- 在主类上添加
@EnableAdminServer注解启用 Admin 功能 - 配置
application.yml开放 Actuator 端点(服务端自身也需要暴露健康检查):
endpoints:
web:
exposure:
include: "*" # 或至少 health,info,env,metrics,prometheus
endpoint:
health:
show-details: always
被监控应用(客户端)接入 Admin Server
每个要被监控的 Spring Boot 应用需作为客户端向 Admin Server 注册自己。
- 引入 spring-boot-admin-starter-client 依赖(注意版本需与 Admin Server 兼容)
- 在
application.yml中指定 Admin Server 地址:
boot:
admin:
client:
url: http://localhost:8080 # Admin Server 的访问地址
application:
name: my-service # 可选,用于 UI 中显示名称
- 确保客户端也启用了 Actuator,并暴露必要端点(如
health,info,env,metrics)
安全与生产注意事项
默认情况下 Admin Server 和客户端均无认证,生产环境必须加固。
- 为 Admin Server 添加 Spring Security,限制 /actuator/** 和 /api/** 等敏感路径访问
- 客户端若部署在公网,建议关闭自动注册(
spring.boot.admin.client.auto-registration=false),改用 HTTP POST 方式手动注册 - 避免将
management.endpoints.web.exposure.include=*直接用于生产,按需开放端点,尤其禁用shutdown等危险端点 - 若使用 Eureka/Nacos 等注册中心,可配置 Admin Server 从注册中心自动发现服务,无需每个客户端单独配置 URL
验证与常见问题
启动服务端后访问 http://localhost:8080,应看到仪表盘;客户端启动后稍等几秒,状态栏应显示 “UP”。
- 如果客户端未出现在列表中:检查客户端是否成功向服务端发送了注册请求(查看客户端日志是否有
Registering with admin server) - 如果健康状态始终为 UNKNOWN:确认客户端 Actuator 的
/actuator/health返回 200 且 JSON 格式正确,同时服务端能正常调用该接口(注意跨域或网络策略) - 若页面空白或加载慢:检查浏览器控制台是否有资源加载失败,确认静态资源路径或反向代理配置是否正确
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











