Spring Boot Admin 可以对Spring Cloud应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本节课程就来讲解下它的使用。
Spring Boot Admin 简介
Spring Boot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控Spring Boot应用,然后通过图形化界面呈现出来。Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用。
Spring Boot Admin 可以提供应用的以下监控信息:
- 监控应用运行过程中的概览信息;
- 度量指标信息,比如JVM、Tomcat及进程信息;
- 环境变量信息,比如系统属性、系统环境变量以及应用配置信息;
- 查看所有创建的Bean信息;
- 查看应用中的所有配置信息;
- 查看应用运行日志信息;
- 查看JVM信息;
- 查看可以访问的Web端点;
- 查看HTTP跟踪信息。
基本使用
这里我们将通过创建admin-server
(监控服务端)模块和admin-client
(监控客户端)模块来演示Spring Boot Admin的基本使用。
创建admin-server模块
- 在
pom.xml
中添加相关依赖,主要添加监控服务端依赖;
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
</dependencies>
- 然后在
application.yml
中进行配置:
server:
port: 9301 #指定运行端口
spring:
application:
name: admin-server #指定服务名称
- 在启动类上添加
@EnableAdminServer
注解来启用监控服务端功能:
@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {
public static void main(String[] args) {
SpringApplication.run(AdminServerApplication.class, args);
}
}
创建admin-client模块
- 这里的
admin-client
是直接拷贝的nacos-user-service
模块代码(只是去除了Nacos依赖),在pom.xml
中添加Actuator和监控客户端依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
</dependencies>
- 在
application.yml
中进行配置,主要对admin-server
地址和Actuator进行配置;
server:
port: 9305
spring:
application:
name: admin-client
boot:
admin:
client:
url: ht