玩转SpringCloud专题(十一)-SpringCloud之Hystrix可视化数据监控Dashboard

1.概述

Hystrix提供了准实时的调用监控(Hystrix Dashboard),Hystrix会持续地记录所有通过Hystrix发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少请求多少成功,多少失败等。

Hystrix-dashboard 是一款针对 Hystrix 进行准实时监控的工具,通过 Hystrix Dashboard 我们可以在直观地看到各 Hystrix Command 的请求响应时间, 请求成功率等数据。

Netflix通过hystrix-metrics-event-stream项目实现了对以上指标的监控。Spring Cloud也提供了Hystrix Dashboard的整合,对监控内容转化成可视化界面

2.环境搭建步骤

在前面几节中的消费者中添加pom依赖。 我们需要添加Hystrix,Actuator和Hystrix-dashboard的依赖,具体如下

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-actuator</artifactId>
 </dependency>

 <!-- hystrix和 hystrix-dashboard相关 -->
 <dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
 </dependency>

3.启动类设置

添加@EnableHystrixDashboard 开启Dashboard,如下

@SpringBootApplication
@EnableDiscoveryClient // 开启EurekaClient功能
@EnableFeignClients // 开启Feign功能
@EnableCircuitBreaker//对hystrixR熔断机制的支持
@EnableHystrixDashboard //开启仪表盘
public class SpringcloudFeignProdcutConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringcloudFeignProdcutConsumerApplication.class, args);
    }

}

4.注册HystrixMetricsStreamServlet

在2.x之前的版本中,会自动注入该Servlet的,但是在2.x之后的版本,没有自动注册该Servlet。看源码的解释。
在这里插入图片描述所以这里需要我们手动的注册该Servlet到容器中,代码如下:

/**
 * 配置Hystrix.stream的servlet
 * @return
 */
@Bean
public ServletRegistrationBean registrationBean() {
	HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
	ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
	registrationBean.setLoadOnStartup(1);
	registrationBean.addUrlMappings("/hystrix.stream");
	registrationBean.setName("HystrixMetricsStreamServlet");
	return registrationBean;
}

访问http://localhost:80/hystrix 这里是你部署dashboard服务的地址和端口,会出现如下所示界面:
在这里插入图片描述

5.启动服务

启动consumer服务,访问服务
在这里插入图片描述
获取监控数据:http://localhost:80/hystrix.stream
在这里插入图片描述

6.可视化监控

上面案例获取的监控数据是纯json数据,可读性不强,我们可以单独创建一个服务来做可视化监控。

然后启动服务,访问此地址:
http://localhost:80/hystrix
在这里插入图片描述
点击"Monitor Stream"进入监控页面

在这里插入图片描述
在这里插入图片描述

7.如何查看

  • 7色
  • 1圈 实心圆:
  共有两种含义。它通过颜色的变化代表了实例的健康程度,它的健康度从绿色<黄色<橙色<红色递减。
  该实心圆除了颜色的变化之外,它的大小也会根据实例的请求流量发生变化,流量越大该实心圆就越大。
  所以通过该实  心圆的展示,就可以在大量的实例中快速的发现故障实例和高压力实例。
  • 1线
  曲线:用来记录2分钟内流量的相对变化,可以通过它来观察到流量的上升和下降趋势。
  面板每个指标所代表的意义:

在这里插入图片描述

发布了57 篇原创文章 · 获赞 21 · 访问量 3932

猜你喜欢

转载自blog.csdn.net/wmlwml0000/article/details/105068096