Admin-UI基于actuator实现能够返回界面展示监控信息,主要是将所有服务的监控中心管理存放在admin ui平台上,原理图如下:
原理:Client客户端集成了Actuator,然后把收集到的信息注册到Admin-UI平台上。
下面来讲解集成步骤及使用,具体的代码已提交到Gtihub,有兴趣的同学可以下载来看看:https://github.com/ylw-github/SpringBoot-Monitor-Demo
项目结构如下:
1.Admin-UI服务端
1.mave依赖:
<dependencies>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!-- Spring Boot Actuator对外暴露应用的监控信息,Jolokia提供使用HTTP接口获取JSON格式 的数据 -->
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
2.application.yml配置文件:
spring:
application:
name: spring-boot-admin-server
3.启动方式:
package com.ylw.springboot;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class ServerApp {
public static void main(String[] args) {
SpringApplication.run(ServerApp.class, args);
}
}
4.启动,浏览器访问:http://localhost:8080/#/applications,会出现Admin-UI的管理中心。
2.Admin-Client客户端
1.添加Maven依赖
<dependencies>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
2.application.yml配置文件:
spring:
boot:
admin:
client:
url: http://localhost:8080
server:
port: 8081
management:
endpoints:
web:
exposure:
include: "*"
endpoint:
health:
show-details: ALWAYS
3.启动方式:
package com.ylw.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ClientApp {
public static void main(String[] args) {
SpringApplication.run(ClientApp.class, args);
}
}
4.运行程序后,浏览器再次访问http://localhost:8080/#/applications,会发现注册中心有改变,里面的Applications的数量改变了,没错,Client客户端注册上了Admin-UI服务端了。
3.查看管理详情
访问http://localhost:8080/#/applications,点击菜单栏的Wallboard,可以进去看当前注册实例的详情
点击
进去后可以看到当前实例的所有相关信息,每一个模块具体介绍将另起章节来讲解。