欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBoot Admin健康检查功能的实现

程序员文章站 2022-06-23 13:45:17
目录admin监控检查,检查的是什么了。检查的是应用实例状态,说白了就是被查服务提供信息给检查服务端。在spring cloud 中可以有两种方式进行健康检查,一种是应用主动上报到admin服务端,第...

admin

监控检查,检查的是什么了。检查的是应用实例状态,说白了就是被查服务提供信息给检查服务端。在spring cloud 中可以有两种方式进行健康检查,一种是应用主动上报到admin服务端,第二种就是的admin项目eureka服务端拉取信息。
admin主要就是告诉运维人员,服务出现异常,然后进行通知(微信、邮件、短信、钉钉等)可以非常快速通知到运维人员,相当报警功能。应用中如果没有监控服务状态功能,又需要及时通知运维人员服务状态,就可以使用这个admin服务。

实现admin功能

创建客户端

创建新的模块服务
依赖引入

<!-- admin 服务 -->
<dependency>
	<groupid>de.codecentric</groupid>
	<artifactid>spring-boot-admin-starter-server</artifactid>
</dependency>
<!-- admin 界面  -->
<dependency>
	<groupid>de.codecentric</groupid>
	<artifactid>spring-boot-admin-server-ui</artifactid>
</dependency>
<!--如果使用eureka拉取方式就需要引入依赖-->
<dependency>
   <groupid>org.springframework.cloud</groupid>
    <artifactid>spring-cloud-starter-netflix-eureka-client</artifactid>
</dependency>

启动添加注解

@springbootapplication
@enableadminserver
public class adminapplication {}

添加配置信息

#设置服务注册中心的url,用于client和server端交流
eureka.client.service-url.defaultzone=http://eureka1.com:7100/eureka/,http://eureka2.com:7200/eureka/
server.port=8081
spring.application.name=admin

主动上报的服务端

如果服务已经添加注册中就不需要进行这步。
依赖引入

<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-actuator</artifactid>
</dependency>
<dependency>
    <groupid>de.codecentric</groupid>
    <artifactid>spring-boot-admin-starter-client</artifactid>
</dependency>

添加配置

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
spring.boot.admin.client.url=http://localhost:8081

实现效果

所有应用信息
SpringBoot Admin健康检查功能的实现
在线状态
SpringBoot Admin健康检查功能的实现
查看单个服务信息
SpringBoot Admin健康检查功能的实现
SpringBoot Admin健康检查功能的实现
所有配置信息,包括默认值都是显示出来,这样就旁边查看配置信息。
SpringBoot Admin健康检查功能的实现
环境信息,这个包含本地环境信息,运行环境信息。
SpringBoot Admin健康检查功能的实现

异常通知

邮件通知

依赖加载

<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-mail</artifactid>
</dependency>

添加配置

# qq邮箱设置
spring.mail.host=smtp.qq.com
spring.mail.username=79811111
spring.mail.password=ssssdfffdddfff
spring.mail.properties.mail.smpt=true
spring.mail.properties.mail.starttls.enable=true
spring.mail.properties.mail.starttls.required=true

#收件邮箱
spring.boot.admin.notify.mail.to=243333355@qq.com
# 发件邮箱
spring.boot.admin.notify.mail.from=79811111@qq.com

qq邮箱怎么获取授权码
SpringBoot Admin健康检查功能的实现
SpringBoot Admin健康检查功能的实现
当服务异常就会收到邮件
SpringBoot Admin健康检查功能的实现

其他通知

自定义通知类型类继承abstractstatuschangenotifier类重写donotify(instanceevent event, instance instance)方法,加载bean初始就可以了。

代码地址

https://gitee.com/zhang798/spring-cloud/tree/admin
分支:admin

git clone -b admin

以上就是springboot admin健康检查的详细内容,更多关于springboot 健康检查的资料请关注其它相关文章!