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,可以进去看当前注册实例的详情
点击
进去后可以看到当前实例的所有相关信息,每一个模块具体介绍将另起章节来讲解。
总结