美文网首页
HystrixDashboard 服务监控

HystrixDashboard 服务监控

作者: CodeYang | 来源:发表于2021-09-01 07:53 被阅读0次

    HystrixDashboard 服务监控

    除了隔离依赖服务的调用以外,Hystrix还提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求、多少成功、多少失败等。Netflix通过hystrix-metrics-event-stream 项目实现了对以上指标的监控。Spring Cloud 也提供了 Hystrix Dashboard的整合,对监控内容转化成可视化界面。

    一、创建监控项目 cloud-hystrix-dashoboard-9001

    1. Pom 引入依赖项
        <dependencies>
            <!-- Hystrix 监控 -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
            </dependency>
            <!-- actuator 监控信息完善  所有微服务的提供类都要依赖这个监控依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
        </dependencies>
    
    1. 创建 application.yml,配置端口号
    server:
      port: 9001
    
    1. 创建启动类,开启 Hystrix Dashboard 监控 注解
    @SpringBootApplication
    @EnableHystrixDashboard //开启 Hystrix Dashboard 监控
    public class HystrixDashboardApp9001 {
        public static void main(String[] args) {
            SpringApplication.run(HystrixDashboardApp9001.class);
        }
    }
    

    二、服务提供者,引入监控依赖 [pom修改]

    <!-- actuator 监控信息完善  所有微服务的提供类都要依赖这个监控依赖-->
    <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    

    三、启动测试

    1. 启动注册中心 cloud-eureka-7001
    2. 启动服务提供者 cloud-provider-8001
    3. 启动监控平台 cloud-hystrix-dashoboard-9001
    4. 访问 http://localhost:9001/hystrix
    5. 出现界面


      Dashoboard.png
    6. 填写监控的地址、延迟时间及标题,点击进入


      填写相关信息.png

    7.进入页面发现提示红字错误信息。

    这是坑 Spring Cloud 升级之后留下的。

    image.png
    1. 解决方法

    在被监控服务(cloud-provider-8001)的启动类上新增以下代码,重启。

        /**
         * 此配置是为了服务监控而配置,与服务容错本身无关,spring cloud 升级后的坑
         * ServletRegistrationBean 因为spring boot 默认路劲不是 ”/hystrix.stream“
         * 只要在自己的项目里面配置上下面的servlet 就可以了。
         * @return
         */
        @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;
        }
    
    1. 再次查看,查看正常。


      监控初始界面.png
    2. 发起请求测试
      http://localhost:8001/provider/circuitbreaker/1
      http://localhost:8001/provider/circuitbreaker/-1
    3. 观察图标


      出现变化.png
    4. 不断请求错误界面,发现断路器打开


      断路器打开.png

    四、监控图形说明

    监控图形说明.png

    相关文章

      网友评论

          本文标题:HystrixDashboard 服务监控

          本文链接:https://www.haomeiwen.com/subject/ruqdiltx.html