在 Spring Boot 项目中使用 Spring Boot Admin

Spring Boot Admin 是一个管理和监控Spring Boot 应用程序的开源软件, 它利用 Spring Boot Actuator 提供的监控和管理信息作为基础数据,在通过可视化的UI界面来方便管理应用。

搭建 Spring Boot Admin Server

要使用 Sprng Boot Admin, 需要首先搭建一个 Admin Server。 搭建的过程很简单:

构建一个Spring Boot 项目

Spring Boot Starter 中新建一个项目, 比如:

groupId: cn.com.hohistar.spbt
artifactId: springboot-admin-server

为项目选择 Spring Web 和 Spring Boot Admin (Server) 两个依赖,然后点击 “Generate the Project” 按钮,下载生成的项目基本包。

打开 pom.xml 文件,看到依赖项为:

1
2
3
4
5
6
7
8
<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>
</dependency>

激活 Admin Server

为在 Spring Boot 项目中激活 Admin Server 功能,只需要在启动类中增加 @EnableAdminServer 注解即可:

1
2
3
4
5
6
7
8
9
@SpringBootApplication
@EnableAdminServer
public class SpringbootAdminServerApplication {

public static void main(String[] args) {
SpringApplication.run(SpringbootAdminServerApplication.class, args);
}

}

为避免端口冲突,在 application.yml 文件中将端口设置为 9090:

1
2
server:
port: 9090

然后就可以启动 Admin Server 了。

改造要监控的 Spring Boot 应用

将已经写好的 Spring Boot 应用作为 Admin Server 的监控对象,需要做如下的改动:

(我们使用在 Spring Boot 构建Rest服务实验手册(一) 中使用的案例。如果不熟悉的 Spring Boot 的开发,可以先参考该实验手册。)

添加依赖库

需要添加 spring-boot-admin-client 依赖库, 在 pom.xm 文件中增加如下的依赖项:

1
2
3
4
5
6
7
8
9
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.6</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>

添加配置信息

在 application.yml 中添加如下的配置信息:

1
2
3
4
5
6
7
8
9
10
11
spring:
boot:
admin:
client:
url: http://localhost:9090

management:
endpoints:
web:
exposure:
include: '*'

处理跨域访问

在 configuration 包中添加一个名为: AdminConfig 的类,代码如下:

1
2
3
4
5
6
7
8
9
@Configuration
public class AdminConfig extends WebSecurityConfigurerAdapter {

protected void configure(HttpSecurity http) throws Exception {

http.authorizeRequests().anyRequest().permitAll().and().csrf().disable();
}

}

现在可以启动应用程序了。

访问 Admin Server 的UI

在浏览器中输入:

1
http://localhost:9090/

可以看到 Admin Server 的界面,在 Wallboard 中找到应用,就可以看到相关的指标了。

本文标题:在 Spring Boot 项目中使用 Spring Boot Admin

文章作者:晨星

发布时间:2019年12月26日 - 14:12

最后更新:2020年09月16日 - 08:09

原始链接:https://www.mls-tech.info/java/springboot-use-admin-ui/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。