SpringBoot可视化监控

SpringBoot可视化监控

可以直接利用 Spring Boot Admin 实现可视化监控,此时至少需要两个项目实例,一个是监控的管理端,一个是被监控的客户端。

1 构建监控管理端项目

2 引入管理端项目依赖

监控管理端需要使用网页展示监控信息,所以引入 Web 依赖,另外添加 Spring Boot Admin 管理端依赖项。

实例:

		<!-- Web 依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- Spring Boot Admin 管理端依赖项 -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-server</artifactId>
			<version>2.2.3</version>
		</dependency>
                                                     

3 开启监控管理端

在启动类上添加 @EnableAdminServer 注解开启 Spring Boot Admin 监控管理功能,代码如下:

实例:

@SpringBootApplication
@EnableAdminServer // 开启监控管理
public class SpringBootMonitorManagerApplication {
	public static void main(String[] args) {
		SpringApplication.run(SpringBootMonitorManagerApplication.class, args);
	}
}

然后运行启动类,访问 http://127.0.0.1:8080 会发现界面上已经显示监控信息了。

图片描述

4 构建监控客户端项目

5 引入客户端项目依赖

直接引入 Web 依赖和监控客户端依赖。

实例:

		<!-- Web 依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- Spring Boot Admin监控客户端依赖 -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-client</artifactId>
			<version>2.2.3</version>
		</dependency>

6修改客户端配置

修改客户端的配置文件 application.properties ,以便指定客户端指向的服务端的地址。由于刚刚服务端已经占用了 8080 端口,所以将客户端的端口设置为 8091 。

还有一个必要设置是客户端的名称,当我们监控的项目实例比较多时,需要通过客户端名称来区分。

实例:

# 配置端口
server.port=8091
# 配置监控管理端地址
spring.boot.admin.client.url=http://127.0.0.1:8080
# 客户端的名称,用于区分不同的客户端
spring.boot.admin.client.instance.name=CLIENT1

7 测试监控效果

启动客户端程序,然后刷新服务端网页,会发现监控管理页面已经显示了客户端信息。

图片描述

此时我们关闭客户端程序,然后稍等一会刷新下监控管理页面(注意服务端发现客户端离线是需要一定时间的),会发现监控管理页已经显示了离线项目实例信息。

图片描述

8 监控实例运行参数

使用 Spring Boot Admin 后,默认显示的项目实例信息比较少。

默认设置主要是为了保证项目实例的安全性,只展示了非常少的信息,我们可以通过配置文件指定展示哪些信息,如下。

实例:

# 配置客户端展示哪些信息,*表示展示全部信息
management.endpoints.web.exposure.include=*

此时刷新监控管理页,会发现已经展示各类运行参数信息。

同时Spring Boot Admin 提供了自动报警的功能

引入依赖项
为监控服务端项目引入邮件依赖。
实例:

		<!-- 邮件依赖 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>

配置邮件发送所需信息

只需要配置常规的邮件收发信息即可。

实例:

# 网易邮箱发件服务器
spring.mail.host=smtp.163.com
# 网易邮箱发件端口
spring.mail.prot=25
# 发件人账号
spring.mail.username=.......@163.com
# 发件授权密码,注意授权码是用于登录第三方邮件客户端的专用密码
spring.mail.password=123456
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
# Spring Boot Admin 发件收件信息
spring.boot.admin.notify.mail.from=.......@163.com
spring.boot.admin.notify.mail.to=......@163.com
spring.boot.admin.notify.mail.cc=......@163.com

启动监控服务端和客户端,然后关闭客户端,稍等一会检查指定的报警接收邮箱,就会发现已收到报警邮件了。

posted @ 2020-10-22 16:00  DurianTRY  阅读(3684)  评论(0编辑  收藏  举报