配置Hystrix DashBoard 及 BUG:Unable to connect to Command Metric Stream解决

2020/3/13 17:02:33

本文主要是介绍配置Hystrix DashBoard 及 BUG:Unable to connect to Command Metric Stream解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言:

最近学习Hystrix时用到Hystrix DashBoard工具,Hystrix用于服务降级,服务限流,服务熔断,有一个Hystrix DashBoard工具可以监测使用了Hystrix的服务的状态。这里记录一下这玩意的配置,做个总结。


Hystrix DashBoard配置使用

1. 新建module

这里笔者用之前建立的模块 cloud-consumer-hystrix-dashboard9001 为例 



2. 配置pom

这里列举重要的dependency,此外还需要服务注册,笔者用的是Eureka

<dependency>    
    <groupId>org.springframework.cloud</groupId>    
    <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
<dependency>    
    <groupId>org.springframework.boot</groupId>    
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
<dependency>    
    <groupId>org.springframework.boot</groupId>    
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>    
    <groupId>org.springframework.cloud</groupId>    
    <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>复制代码

3. 配置application.yml

server:  
    port: 9001

eureka:  
    instance:    
        hostname: localhost
    ...
    ...  
spring:  
    application:    
        name: hystrix-dashboard复制代码


4. 主启动类

 5. 启动HystrixDashBoard服务

简单的配置后就可以启动9001 HystrixDashBoard服务了

浏览器输入 http://localhost:9001/hystrix,成功访问


通过Hystrix Dashboard主页面的文字介绍,我们可以知道,Hystrix Dashboard共支持三种不同的监控方式

  1. 默认的集群监控:通过URL:http://turbine-hostname:port/turbine.stream开启,实现对默认集群的监控。
  2. 指定的集群监控:通过URL:http://turbine-hostname:port/turbine.stream?cluster=[clusterName]开启,实现对clusterName集群的监控。
  3. 单体应用的监控:通过URL:http://hystrix-app:port/hystrix.stream开启,实现对具体某个服务实例的监控。
  4. Delay:控制服务器上轮询监控信息的延迟时间,默认为2000毫秒,可以通过配置该属性来降低客户端的网络和CPU消耗。
  5. Title:该参数可以展示合适的标题。


看一下Eureka服务注册中心,注册成功了



6. 启动服务监控

选定要注册监控的服务这个服务必须要使用了Hystrix,不然会一直loading..然后报错 Unable to connect to Command Metric Stream


这里笔者就用原先配置好的Hystrix服务降级 cloud-provider-hystrix-payment8005


浏览器返回 http://localhost:9001/hystrix


不出意外就的话,就出来了,YEAH!o(* ̄▽ ̄*)ブ


当然,可能没那么顺利 ≡(▔﹏▔)≡


7. BUG:Unable to connect to Command Metric Stream

可能还会出现这个BUG,原因是spring cloud版本升级后出现的BUG,笔者用的Hoxton.SR1就会  ( ̄、 ̄)

解决办法是在 8005这个要被监听的服务的主启动类上添加下面的代码

@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;
}
复制代码


就像这样,之后就能正常访问了



至于启动后要怎么使用这个hystrix.stream就要大家去参考官网或者其他资料了 

希望对你有帮助!(~ ̄▽ ̄)~




这篇关于配置Hystrix DashBoard 及 BUG:Unable to connect to Command Metric Stream解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程