zoukankan      html  css  js  c++  java
  • spring cloud 2.x版本 Hystrix Dashboard断路器教程

    前言

    本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3
    

    本文基于前两篇文章eureka-server、eureka-client、eureka-ribbon和eureka-feign的实现。
    参考

    概念

    Hystrix Dashboard时Hystrix提供的一个可以查看hystrix监控数据的控制面板。Hystrix提供了近实时的数据监控,Hystrix会实时、累加的记录所有关于HystrixCommand的执行信息,包括每秒执行多少请求,多少成功和多少失败等。

    创建Hystrix Dashboard工程

    1.1 创建sping boot工程:hysteric-dashboard

    1.2 添加pom.xml相关依赖

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
    </dependency>
    

    1.3 application添加配置信息

    spring:
      application:
        name: hystrix-dashboard
    server:
      port: 8500
    
    eureka:
      instance:
        hostname: localhost
        lease-renewal-interval-in-seconds: 5
        lease-expiration-duration-in-seconds: 10
      client:
        service-url:
          defaultZone: http://eureka1.server.com:8701/eureka/,http://eureka2.server.com:8702/eureka/,http://eureka3.server.com:8703/eureka/
    

    1.4 启动类HystrixDashboardApplication增加注解

    package spring.cloud.demo.hystrixdashboard;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
    
    @EnableHystrixDashboard
    @EnableDiscoveryClient
    @SpringBootApplication
    public class HystrixDashboardApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(HystrixDashboardApplication.class, args);
        }
    
    }
    

    @EnableHystrixDashboard:启动Hystrix Dashboard断路器看板相关配置

    1.5 启动hystrix-dashboard服务

    打开浏览器,输入http://localhost:8500/hystrix显示结果如下:

    file

    url输入框:代表要监控的服务消费者

    Single Hystrix App: https://hystrix-app:port/actuator/hystrix.stream:要监控路径url格式

    1.6 监控ribbon服务

    1.6.1 eureka-ribbon增加Hystrix的Configuration

    package spring.cloud.demo.eurekaribbon.config;
    
    import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * @auther: maomao
     * @DateT: 2019-09-17
     */
    @Configuration
    public class HystrixConfig {
    
        @Bean
        public ServletRegistrationBean getServlet() {
            HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
            ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
            registrationBean.setLoadOnStartup(1);
            registrationBean.addUrlMappings("/hystrix.stream");
            registrationBean.setName("HystrixMetricsStreamServlet");
            return registrationBean;
        }
    }
    
    

    启动eureka-client和eureka-ribbon服务。然后在hystrix dashboard控制面板url框中输入:
    file

    点击Monitor Stream会显示:
    file

    • Unable to connect to Command Metric Stream问题原因:因为我们开启监控的断路器流Hystrix Stream路径http://localhost:8901/hystrix.stream不是spring boot的默认路径,也不是hystrix的默认路径,所有要增加Hystrixconfig来制定断路器的指标流Servlet。

    • 首次成功启动页面也有可能会显示loading,这代表还没有访问我们要监控的服务,这是我们可以多次请求要访问的服务就可以看到指标数据

    按照同样的方式我可以设置eureka-feign的配置来进行监看。

    总结

    本文简单的搭建了Hystrix Dashborad数据监控平台。

    Hystrix现在已经是停止开发,处于维护阶段,在Github上Hystrix已经说明,建议我们使用Resilience4J。后续会更新关于Resilience4J的简单实用。

    代码地址

    gitHub地址


    《Srping Cloud 2.X小白教程》目录

    转载请注明出处,

    • 联系方式:4272231@163.com
  • 相关阅读:
    zabbix邮件报警设置(加密)
    Linux实战(10):ssh密码被拒绝
    Linux实战(9):Docker一键搭建kms服务
    Linux实战(8):查看文件大小
    Linux实战(7):centos7安装xrdp
    Linux实战(6):Centos8上传镜像
    Linux实战(5):Centos8安装python
    Linux实战(4):Centos7升级python
    nginx实战(1):宝塔设置反向代理
    Dell服务器R710修改iDRAC密码
  • 原文地址:https://www.cnblogs.com/fengfujie/p/11820535.html
Copyright © 2011-2022 走看看