用SpringBoot Admin实现健康检查功能
更新:HHH   时间:2023-1-7


本篇内容主要讲解“用SpringBoot Admin实现健康检查功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用SpringBoot Admin实现健康检查功能”吧!

目录
  • 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
    实现效果

    所有应用信息

    在线状态

    查看单个服务信息


    所有配置信息,包括默认值都是显示出来,这样就旁边查看配置信息。

    环境信息,这个包含本地环境信息,运行环境信息。

    异常通知

    邮件通知

    依赖加载

    <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

    到此,相信大家对“用SpringBoot Admin实现健康检查功能”有了更深的了解,不妨来实际操作一番吧!这里是天达云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    返回开发技术教程...