SpringBoot Admin健康检查

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 https://gitee.com/zhang798/spring-cloud.git -b admin
上一篇:springboot(十):邮件服务


下一篇:邮箱客户端的设计与实现(SSM)毕业论文+任务书+开题报告+设计源码