• SpringCloud - Spring Cloud Netflix 之 Hystrix Dashboard仪表盘监控(九)


    阅读本文前可先参考

    SpringCloud - Spring Cloud根/父项目,开发准备(二)_MinggeQingchun的博客-CSDN博客

    https://blog.csdn.net/MinggeQingchun/article/details/125308948

    https://blog.csdn.net/MinggeQingchun/article/details/125312594

    一、Hystrix Dashboard

    Hystrix 仪表盘(Hystrix Dashboard是Spring Cloud的仪表盘组件,可以查看Hystrix实例的执行情况,支持查看单个实例和查看集群实例,但是需要结合spring-boot-actuator一起使用。

    Hystrix Dashboard主要用来实时监控Hystrix的各项指标信息。Hystrix Dashboard可以有效地反映出每个Hystrix实例的运行情况,帮助我们快速发现系统中的问题,从而采取对应措施

    1、新建一个springboot Module(springcloud-6-service-eureka-hystrix-dashboard),设置父项目

    2、添加 spring-cloud-starter-hystrix-dashboard等 依赖

    1. <!-- spring-cloud-starter-netflix-hystrix-dashboard -->
    2. <dependency>
    3. <groupId>org.springframework.cloud</groupId>
    4. <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
    5. </dependency>
    1. <!--继承统一的父项目-->
    2. <parent>
    3. <groupId>com.company</groupId>
    4. <artifactId>springcloud-demo</artifactId>
    5. <version>1.0.0</version>
    6. </parent>
    7. <groupId>com.company</groupId>
    8. <artifactId>springcloud-6-service-eureka-hystrix-dashboard</artifactId>
    9. <version>1.0.0</version>
    10. <name>springcloud-6-service-eureka-hystrix-dashboard</name>
    11. <description>Demo project for Spring Boot</description>
    12. <properties>
    13. <java.version>1.8</java.version>
    14. </properties>
    15. <dependencies>
    16. <!--spring web 起步依赖-->
    17. <dependency>
    18. <groupId>org.springframework.boot</groupId>
    19. <artifactId>spring-boot-starter-web</artifactId>
    20. </dependency>
    21. <!-- springboot 开发自动热部署 -->
    22. <dependency>
    23. <groupId>org.springframework.boot</groupId>
    24. <artifactId>spring-boot-devtools</artifactId>
    25. <optional>true</optional>
    26. </dependency>
    27. <!-- spring-cloud-starter-netflix-hystrix-dashboard -->
    28. <dependency>
    29. <groupId>org.springframework.cloud</groupId>
    30. <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
    31. </dependency>
    32. </dependencies>
    33. <build>
    34. <plugins>
    35. <plugin>
    36. <groupId>org.springframework.boot</groupId>
    37. <artifactId>spring-boot-maven-plugin</artifactId>
    38. </plugin>
    39. </plugins>
    40. </build>

    3、application.prperties配置文件中配置访问端口3721

    4、在 Spring Boot 的启动类中,添加@EnableHystrixDashboard 注解,开启仪表盘功能

    1. @EnableHystrixDashboard //启用Dashboard服务可用
    2. @SpringBootApplication
    3. public class EurekaHystrix6DashboardApplication {
    4. public static void main(String[] args) {
    5. SpringApplication.run(EurekaHystrix6DashboardApplication.class, args);
    6. }
    7. }

    5、启动springboot启动类,访问应用,再去查看 Hystrix Dashboard 控制台服务 http://localhost:3721/hystrix

    Hystrix 仪表盘工程创建好之后,需要一个服务,让这个服务提供 一个路径为/actuator/hystrix.stream 接口,然后就可以使用 Hystrix 仪表盘来对该服务进行监控了

    1、在消费者项目(springcloud-6-service-eureka-hystrix-consumer)添加 hystrix 的依赖 和springboot的一个监控actuator 依赖

    1. <!-- spring-cloud-starter-netflix-hystrix -->
    2. <dependency>
    3. <groupId>org.springframework.cloud</groupId>
    4. <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    5. </dependency>
    6. <!--springboot的一个监控actuator
    7. 让这个服务提供一个路径为/actuator/hystrix.stream 接口,然后就可以使用 Hystrix 仪表盘来对该服务进行监控
    8. -->
    9. <dependency>
    10. <groupId>org.springframework.boot</groupId>
    11. <artifactId>spring-boot-starter-actuator</artifactId>
    12. </dependency>

    2、配置文件需要配置 spring boot 监控端点的访问权限

    1. #配置 spring boot 监控端点的访问权限
    2. #暴露 endpoints,由于endpoints 中会包含很多敏感信息,除了 health 和 info 两个支持直接访问外,其他的默认不能直接访问
    3. #或者指定
    4. #management.endpoints.web.exposure.include=hystrix.stream
    5. management.endpoints.web.exposure.include=*

    3、访问入口 http://localhost:8081/actuator/hystrix.stream

    要访问/hystrix.stream 接口,首先得访问 consumer 工程中的任意一个其他接口,否则直接访问/hystrix.stream 接口时会输出出一连串的 ping: ping: …,先访问 consumer 中的任意一个其他接口,然后再访问/hystrix.stream 接口即可

    首先访问 consumer 工程中的任意一个其他接口

    这时在访问 http://localhost:8081/actuator/hystrix.stream 就有数据

    4、在DashBoard中输入 http://localhost:8081/actuator/hystrix.stream ,点击 Monitor Stream 

     ​​​​​​

     仪表盘开始监控

    Hystrix 仪表盘监控数据解读

  • 相关阅读:
    Python批处理(一)提取txt中数据存入excel
    快速从0-1完成聊天室开发——环信ChatroomUIKit功能详解
    进程和线程的区别 && 线程之间共享的资源
    基于SpringBoot+Vue+ElementUI+Mybatis前后端分离管理系统超详细教程(五)——多条件搜索并分页展示
    代码随想录算法训练营19期第59天
    SPARK:性能调优之RSS
    @SentinelResource注解的使用
    RabbitMQ-04(SpringBoot整合RabbitMQ,基本使用)
    MMEdu离线版的使用:实现石头剪刀布图像分类的检测
    JSP六大动作
  • 原文地址:https://blog.csdn.net/MinggeQingchun/article/details/125315839