SpringBoot 健康检查 SpringBoot Admin健康检查功能的实现
骑马看象 人气:0想了解SpringBoot Admin健康检查功能的实现的相关内容吗,骑马看象在本文为您仔细讲解SpringBoot 健康检查的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:SpringBoot,健康检查,SpringBoot,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
实现效果
所有应用信息
在线状态
查看单个服务信息
所有配置信息,包括默认值都是显示出来,这样就旁边查看配置信息。
环境信息,这个包含本地环境信息,运行环境信息。
异常通知
邮件通知
依赖加载
<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邮箱怎么获取授权码
当服务异常就会收到邮件
其他通知
自定义通知类型类继承AbstractStatusChangeNotifier类重写doNotify(InstanceEvent event, Instance instance)方法,加载bean初始就可以了。
代码地址
https://gitee.com/zhang798/spring-cloud/tree/admin
分支:admin
git clone https://gitee.com/zhang798/spring-cloud.git -b admin
加载全部内容