返回 导航

SpringBoot / Cloud

hangge.com

SpringBoot - 使用Spring Boot Admin进行服务监控教程1(监控信息可视化)

作者:hangge | 2020-02-22 08:10
    在之前的文章中,我介绍了如何使用 Spring Boot Actuator 对单个 Spring Boot 应用进行监控(点击查看)。通过各个监控端点,我们可以获取应用状态、内存、线程、堆栈等信息,比较全面的监控了 Spring Boot 应用的整个生命周期。但这种方式也存在一些不足:
  • 所有的监控都需要调用固定的接口来查看,如果全面查看应用状态需要调用很多接口,并且接口返回的 Json 信息不方便运营人员理解;
  • 如果 Spring Boot 应用集群非常大,每个应用都需要调用不同的接口来查看监控信息,操作非常繁琐低效。
    为了解决这个问题,Spring Boot 提供了专门的监控信息管理端:Spring Boot Admin,用来实现监控信息的可视化,这样可以方便开发者快速查看系统运行状况,而不用去一个一个地调用接口。

1,Spring Boot Admin 介绍

(1)Spring Boot Admin 是一个针对 Spring Boot Actuator 进行 UI 美化封装的监控工具(也就是说底层仍然是基于 Spring Boot Actuator 实现)
(2)通过 Spring Boot Admin,我们可以在可视化页面中浏览所有被监控 spring-boot 项目的基本信息,详细的 Health 信息、内存信息、JVM 信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等,还可以直接修改 logger level
(3)Spring Boot Admin 包括客户端和服务端两个部分:
  • 客户端:即需监控的应用服务,依赖 Spring Boot Admin 客户端包,通过 HTTP 或者使用 Eureka 注册到 Spring Boot Admin 服务端中进行展示。
  • 服务端:提供服务端注册相关服务以及服务监控相关服务,获取客户端的运行数据并展示(2.0 UI 页面使用 Vue.js 开发)。

2,服务端(Admin 端)配置

(1)首先创建一个 Spring Boot Web 工程作为服务端,添加 Admin 相关依赖:
<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-server</artifactId>
	<version>2.2.0</version>
</dependency>

(2)接着在项目启动类上添加 @EnableAdminServer 注解,表示启动 AdminServer
@SpringBootApplication
@EnableAdminServer
public class DemoServerApplication {
	public static void main(String[] args) {
		SpringApplication.run(DemoServerApplication.class, args);
	}
}

(3)为了避免和客户端项目端口冲突,这里在 application.properties 中将端口改成 8888
server.port=8888

(4)启动项目,使用浏览器访问 http://localhost:8888/ ,结果如下,由于目前还没有客户端接入,所以应用数为 0

3,客户端(Client 端)配置

(1)首先添加 Client 依赖(actuator 依赖可以不添加): 
<dependency>
   <groupId>de.codecentric</groupId>
   <artifactId>spring-boot-admin-starter-client</artifactId>
   <version>2.2.0</version>
</dependency>

(2)然后在 application.properties 中添加如下配置:
注意spring.boot.admin.client.url 表示配置上面的 AdminServer 地址。
spring.boot.admin.client.url=http://localhost:8888

(3)配置完毕后,启动项目,此时在服务端上就可以看到客户端的运行数据了。首先展示的是当前注册到 AdminServer 上的 Client 列表:

(4)应用墙中展示了 Client 的简略信息:

(5)单击具体实例名,可以看到 Client 运行的详细数据,默认页面展示的是一些常见的信息,其他端点数据可以通过点击左侧对应菜单进行查看:

(6)日志报表中则展示了项目运行日志:
评论

全部评论(0)

回到顶部