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>2.5.6</version>
</dependency>
- 启动类加注解 @EnableAdminServer
@EnableAdminServer
@SpringBootApplication
public class SpringbootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootAdminApplication.class, args);
}
}
- yml设置端口
server:
port: 7070
客户端配置
导入pom客户端依赖
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.5.6</version>
</dependency>
yml配置
spring:
boot:
admin:
client:
url: http://localhost:7070
注意: 这里的 http://localhost:7070 表示服务端的访问地址
做到这里,这个客户端就可以启动了。启动后再次访问服务端程序,界面如下。
server:
port: 9898
spring:
boot:
admin:
client:
url: http://localhost:7777
management:
endpoint:
health:
show-components: always
endpoints:
web:
exposure:
include: "*"
如果是*.properties文件需要去掉双引号 management.endpoints.web.exposure.include= *