Spring Boot Actuator只是提供了一个个的接口,需要我们自行集成到监控程序中。 Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI 。提供如下功能:
- 显示 name/id 和版本号
- 显示在线状态
- 下载主日志文件
- 显示详情,如:
- Java 系统属性
- Java 环境变量属性
- 内存信息
- Spring 环境属性
添加依赖(server和client都需要添加)
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
</dependency>
<!-- 一般客户端需要用到 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
配置server
- 在启动类上添加注解 @EnableAdminServer,开启服务端监控
- 在application.yml配置端口(同一个机器上,防止和client端口冲突)
配置client
- application.yml配置端口,server,security等
server:
port: 8080
spring:
application:
# Spring Boot Admin展示的客户端项目名,不设置,会使用自动生成的随机id
name: spring-boot-hjy-admin-client
boot:
admin:
client:
# Spring Boot Admin 服务端地址
url: "http://localhost:8000/"
instance:
metadata:
# 客户端端点信息的安全认证信息
user.name: ${spring.security.user.name}
user.password: ${spring.security.user.password}
security:
user:
name: hjy
password: 123456
management:
endpoint:
health:
# 端点健康情况,默认值"never",设置为"always"可以显示硬盘使用情况和线程情况
show-details: always
endpoints:
web:
exposure:
# 设置端点暴露的哪些内容,默认["health","info"],设置"*"代表暴露所有可访问的端点
include: "*"
启动步骤
- 先启动 server 服务端,
- 再启动 client 客户端,注册到服务端
- 访问服务端地址,观察客户端程序的运行状态等信息