springboot-admin监控

springboot-admin监控

监控是一个非常重要的工作,是保障程序正常运行的基础手段
监控的过程通过一个监控程序进行,它汇总所有被监控的程序的信息集中统一展示
被监控程序需要主动上报自己被监控,同时要设置哪些指标被监控

Springboot抽取了大部分监控系统的常用指标,提出了监控的总思想。然后就有好心的同志根据监控的总思想,制作了一个通用性很强的监控系统,因为是基于springboot监控的核心思想制作的,所以这个程序被命名为**Spring Boot Admin**。 ​

Spring Boot Admin,这是一个开源社区项目,用于管理和监控SpringBoot应用程序。这个项目中包含有客户端和服务端两部分,而监控平台指的就是服务端。我们做的程序如果需要被监控,将我们做的程序制作成客户端,然后配置服务端地址后,服务端就可以通过HTTP请求的方式从客户端获取对应的信息,并通过UI界面展示对应信息。

服务端配置

导入pom依赖

导入springboot admin对应的starter,版本与当前使用的springboot版本保持一致,并将其配置成web工程

<!-- spring-boot-admin-starter-server 版本号必须与 springboot版本一致 --> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>3.5.5</version> </dependency>

application.yml文件配置端口为:7070

启动类加注解 @EnableAdminServer

@EnableAdminServer @SpringBootApplication public class SpringbootAdminApplication { public static void main(String[] args) { SpringApplication.run(SpringbootAdminApplication.class, args); } }

由于目前没有启动任何被监控的程序,所以里面什么信息都没有。下面制作一个被监控的客户端程序。

客户端配置

这里的客户端就是要监控的目标springboot项目

导入pom客户端依赖

<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>3.5.5</version> </dependency>

yml配置

设置当前客户端将信息上传到哪个服务器上,通过yml文件配置

spring: boot: admin: client: url: http://localhost:7070

注意: 这里的 http://localhost:7070 表示服务端的访问地址

做到这里,这个客户端就可以启动了。启动后再次访问服务端程序,界面如下。

server: port: 9898 spring: boot: admin: client: url: http://localhost:7070 management: endpoint: health: show-components: always endpoints: web: exposure: include: "*"

上述配置对于初学者来说比较容易混淆。简单解释一下,到下一节再做具体的讲解。springbootadmin的客户端默认开放了13组信息给服务器,但是这些信息除了一个之外,其他的信息都不让通过HTTP请求查看。所以你看到的信息基本上就没什么内容了,只能看到一个内容,就是下面的健康信息。

如果是*.properties文件需要去掉双引号 management.endpoints.web.exposure.include= *

SpringBoot整合Spring Boot Admin监控_不知名架构师的博客-CSDN博客