zoukankan      html  css  js  c++  java
  • SpringCloud(七):Hystrix之Dashboard流监控

    SpringCloud(七):Hystrix之Dashboard流监控

    Hystrix Dashboard,它主要用来实时监控Hystrix的各项指标信息。通过Hystrix Dashboard反馈的实时信息,可以帮助我们快速发现系统中存在的问题。下面通过一个例子来学习

    1 Demo

    1.1 编写dashboard模块

    新建module,springcloud-consumer-hystrix-dashboard

    导入依赖

        <dependencies>
            <!--hystrix依赖-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-hystrix</artifactId>
                <version>1.4.6.RELEASE</version>
            </dependency>
            <!--hystrix监控-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
                <version>1.4.6.RELEASE</version>
            </dependency>
            <!--ribbon-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-ribbon</artifactId>
                <version>1.4.6.RELEASE</version>
            </dependency>
            <!--eureka-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka</artifactId>
                <version>1.3.1.RELEASE</version>
            </dependency>
    
            <dependency>
                <groupId>com.cpaulyz</groupId>
                <artifactId>springcloud-api</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
            </dependency>
        </dependencies>
    

    配置文件application.yml

    编写启动类

    @SpringBootApplication
    @EnableHystrixDashboard
    public class DeptConsumerDashboard_9001 {
        public static void main(String[] args) {
            SpringApplication.run(DeptConsumerDashboard_9001.class,args);
        }
    }
    

    启动后,访问localhost:xxxx/hystrix可以看到以下页面

    image-20210209171738255

    1.2 修改服务提供者

    这里以springcloud-provider-dept-hystrix-8001为例

    保证服务提供者有以下依赖

        	 <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-hystrix</artifactId>
                <version>1.4.6.RELEASE</version>
            </dependency>        
    		<!--actuator监控-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
    

    在主启动类中添加一个servlet

    @SpringBootApplication
    @EnableEurekaClient
    @EnableDiscoveryClient // 服务发现
    @EnableCircuitBreaker // 添加对熔断的支持
    public class DeptProviderHystrix_8001 {
        public static void main(String[] args) {
            SpringApplication.run(DeptProviderHystrix_8001.class,args);
        }
    
        //增加一个 Servlet
        @Bean
        public ServletRegistrationBean hystrixMetricsStreamServlet(){
            ServletRegistrationBean registrationBean = new ServletRegistrationBean(new HystrixMetricsStreamServlet());
            //访问该页面就是监控页面
            registrationBean.addUrlMappings("/actuator/hystrix.stream");
            return registrationBean;
        }
    }
    

    1.3 体验

    启动7001Eureka中心,8001服务提供者,9001监控,80客户端

    localhost:9001/hystrix中进行注册

    image-20210209172137689

    不断使用80客户端发请求,即可看到监控页面发生变化

    image-20210209172307832

    2 Dashboard详解

    在监控的界面有两个重要的图形信息:一个实心圆和一条曲线。

    • 实心圆:

      1. 通过颜色的变化代表了实例的健康程度,健康程度从绿色、黄色、橙色、红色递减。
      2. 通过大小表示请求流量发生变化,流量越大该实心圆就越大。所以可以在大量的实例中快速发现故障实例和高压实例。
    • 曲线:

      • 用来记录2分钟内流浪的相对变化,可以通过它来观察流量的上升和下降趋势。

    image-20210209172335197

    参考

    Hystrix-Dashboard仪表盘

    Hystrix官网

    Hystrix介绍

  • 相关阅读:
    c语言 数组名是常量指针
    c语言 动态数组
    c语言 指针的值
    c语言 &取地址运算符的理解
    c语言 指针与地址的区别
    c语言 指针与数组
    linux cheese摄像机工具在window电脑上显示
    C#实现简单的 Ping 的功能,用于测试网络是否已经联通
    c# 扫描局域网IP列表的几种方法
    c# 遍历局域网计算机(电脑)获取IP和计算机名称
  • 原文地址:https://www.cnblogs.com/cpaulyz/p/14393629.html
Copyright © 2011-2022 走看看