1.监控的意义
- 监控服务状态是否宕机
- 监控服务运行指标(内存、虚拟机、线程、请求等)
- 监控日志
- 管理服务(服务下线)
2.监控的实施方式
- 显示监控信息的服务器:用于获取服务信息,并显示对应的信息
- 运行的服务:启动时主动上报,告知监控服务器自己需要受到监控
3.可视化监控平台(监控的服务器)
Spring Boot Admin 开源社区项目,用于管理和监控SpringBoot应用程序,客户端注册到服务端后,通过Http请求方式,服务端定期从客户端获取对应的信息,并通过UI界面展示对应信息。注意SpringBootAdmin 并不属于spring官方开发的,所以需要导入。
4.实现过程 (Admin服务端)
1.创建项目时选中
2.导入坐标(pom文件)
<properties>
<spring-boot-admin.version>2.7.10</spring-boot-admin.version>
</properties>
<!-- Admin服务端 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<!--Admin客户端-->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
注意:这里的spring-boot-admin.version要和springboot的版本相同。
3.配置文件(yml文件)及启动类:
配置里面配置一下端口:
spring:
boot:
admin:
client:
url:http://localhost:8080
management:
endpoints:
web:
exposure:
include: '*' //打开web端的授权
endpoint:
health:
show-details: ALWAYS //开放健康信息
logfile:
external-file: ./logs/sys-console.log
4.springboot启动类:
@SpringBootApplication
@EnableAdminServer //设置启用Spring-Admin
public class SpringbootActuatorServerApplication{
public static void main(String[] args){
SpringApplication.run(SpringbootActuatorServerApplication.class,args);
}
}
启动成功后:
5.实现过程 (客户端)
1.同样配置pom文件:
<properties>
<spring-boot-admin.version>2.7.10</spring-boot-admin.version>
</properties>
<!--Admin客户端-->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2. yml(告诉服务器受监控):
server:
port: 80
spring:
boot:
admin:
client:
url: http://localhost:8080
3.启动项目:
@SpringBootApplication
public class SpringbootActuatorClientApplication{
public static void main(String[] args){
SpringApplication.run(SpringbootActuatorClientApplication.class,args);
}
}
一个应用它的运行状况信息默认是不对外查看的,目前 当前程序仅仅是注册到服务器上,能看到哪些内容还需要继续配置, 启动后在页面上配置即可。