Spring Boot2.x 整合 Spring Boot Admin

发布时间 2024-01-05 12:52:49作者: 夏秋初

参考

环境

环境 版本 说明
Windows 10
VS Code 1.85.1
Spring Boot Extension Pack v0.2.1 vscode插件
Extension Pack for Java v0.25.15 vscode插件
JDK 11
Springboot 2.3.12.RELEASE
spring-boot-admin-starter-server 2.2.2 mvn依赖(管理端依赖)
spring-boot-admin-starter-client 2.2.2 mvn依赖(客户端依赖)
spring-boot-starter-actuator 未设置 mvn依赖(客户端依赖)
Apache Maven 3.8.6

正文

本文基于多模块项目,admin(管理端)、api(客户端,也就是被监控端)、api1(客户端,也就是被监控端,复制的api)

admin(管理端)

  1. pom.xml
<!-- https://mvnrepository.com/artifact/de.codecentric/spring-boot-admin-starter-server -->
<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-server</artifactId>
	<!-- 新版本对java版本有要求,当前系统的java为11 -->
	<!-- <version>3.2.0</version> -->
	<version>2.2.2</version>
</dependency>
  1. 入口文件
package com.xiaqiuchu.admin;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import de.codecentric.boot.admin.server.config.EnableAdminServer;

// 这两个注解
@EnableAutoConfiguration
@EnableAdminServer
//
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}
  1. 配置文件。
# 应用服务 WEB 访问端口
server.port=8081

api(客户端)

api与api代码一致,区别仅修改端口号。

  1. pom.xml
<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-client</artifactId>
	<version>2.2.2</version>
</dependency>
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
  1. 配置文件。
# 应用服务 WEB 访问端口
server.port=8080

#
spring.application.name=api

# admin 配置
spring.boot.admin.client.url=http://localhost:8081
management.endpoints.web.exposure.include=*
# 配置日志文件,与logging.file.name一致,配置后可以在admin查看。
management.endpoints.logfile.external-file=./log/app.log
management.endpoint.health.show-details=always
#
logging.file.name=./log/app.log

测试

复制 api 一份,并命名为 api1,设置端口为8082。

控制台

访问 admin(管理端) 端口为配置文件中设置的 8081。
image

查看日志

任意点击应用,左侧菜单可以查看日志。(如果日志未配置相关参数,则没有 日志文件 按钮。)
image