Spring-boot快速集成Spring boot Admin 入门详解

Spring-boot快速集成Spring Boot Admin 监控服务 (入门详解)

Spring Boot Admin 简介

官网介绍

codecentric’s Spring Boot Admin is a community project to manage and
monitor your Spring Boot ® applications. The applications register
with our Spring Boot Admin Client (via HTTP) or are discovered using
Spring Cloud ® (e.g. Eureka, Consul). The UI is just a Vue.js
application on top of the Spring Boot Actuator endpoints.


codecentric的Spring Boot Admin是一个社区项目,用于管理和监视您的Spring
Boot®应用程序。这些应用程序在我们的Spring Boot Admin Client中注册(通过HTTP),或者是通过Spring
Cloud®(例如Eureka,Consul)发现的。 UI只是Spring Boot Actuator端点之上的Vue.js应用程序

总之这玩意就是对运行中的sping-boot项目的监控组件。

在Spring Boot Admin中 对外部提供服务的项目中作为admin中的客户端,将项目注册到admin服务端上,在admin的服务端就可以统一监控这些部署的服务状态和配置。

就是这个样子
在这里插入图片描述

Admin Server 监控服务端实现

Admin Server 端实现是为了后续将服务注册到监控客户端中统一管理和监视。

可以新建一个正常 spring boot的web项目

完整的依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.0.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>org.dlblog.admin</groupId>
	<artifactId>server</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>admin-server</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
		<spring-boot-admin.version>2.2.3</spring-boot-admin.version>
	</properties>

	<dependencies>
		<!-- spring boot web依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- spring boot admin 服务端依赖 -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-server</artifactId>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>de.codecentric</groupId>
				<artifactId>spring-boot-admin-dependencies</artifactId>
				<version>${spring-boot-admin.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

注意版本,若Spring-boot版本过低,启动会报错,
我这里 Spring Boot Admin 的版本是2.2.3 , Spring Boot 版本是2.3.0。之前使用的是2.1.7,启动报错,官网的解决办法就是升Spring Boot 版本。

添加好依赖还需要开启Spring-Boot对AdminServer的支持

@EnableAdminServer //开启AdminServer的支持
@SpringBootApplication
public class AdminServerApplication {

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

}

指定监控服务的配置

# tomcat configuration
server:
  port: 8082
  servlet :
    context-path:

# log level
logging.level:
  root: WARN
  org.springframework: DEBUG
  org.apache.coyote.http11.Http11InputBuffer: DEBUG
  sample.mybatis.mapper: DEBUG
  org.apache.ibatis: DEBUG

配置访问端口,当访问这个端口时,就可以看到admin管理画面。
在这里插入图片描述
可以看到当前监控服务端已经成功启动,但是还没有客户端注册进来。

Admin Client 监控客户端实现

完整依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.3.0.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>org.dlblog.admin</groupId>
	<artifactId>admin-client</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>admin-client</name>
	<description>Demo project for Spring Boot</description>

	<properties>
		<java.version>1.8</java.version>
		<spring-boot-admin.version>2.2.3</spring-boot-admin.version>
	</properties>

	<dependencies>
		<!--spring boot web依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--spring boot admin 客户端依赖-->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-client</artifactId>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>de.codecentric</groupId>
				<artifactId>spring-boot-admin-dependencies</artifactId>
				<version>${spring-boot-admin.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

注意Spring Boot 和Spring Boot Admin的版本关系

#admin客户端注册地址
spring.boot.admin.client.url: http://localhost:8082
management.endpoints.web.exposure.include: "*"
#监视服务名
spring.application.name: adminServer

# log level
logging.level:
  root: WARN
  org.springframework: DEBUG
  org.apache.coyote.http11.Http11InputBuffer: DEBUG
  sample.mybatis.mapper: DEBUG
  org.apache.ibatis: DEBUG

这里的 spring.boot.admin.client.url 中地址就时上面实现的Admin Server的地址。就是指定注册的地址,若是要注册到多个admin服务端上
用逗号分隔就可以

#admin客户端注册地址
spring.boot.admin.client.url: http://localhost:8082, http://localhost:10082
management.endpoints.web.exposure.include: "*"
#监视服务名
spring.application.name: adminServer

先启动admin 客户端的代码,在启动admin 服务端的代码, 客户端项目可以多放几个。
访问admin服务端的地址 我上面指定的是8082端口
在这里插入图片描述
可以看到我监控到两个服务。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
spring-boot 快速集成 Admin
最后附上 admin-server 通用源码
https://github.com/DavidLei08/Spring-Boot-dlblog/releases/

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读