解决Hystrix dashboard Turbine 一直 Loading…… 及其他坑

问题一、请求 /hystrix.stream 报错,我这里以端口9001为例

  请求 //localhost:9001/hystrix.stream 报404

  

   是因为Srping Boot 2.0以后仪表盘的默认路径不在是 /hystrix.stream,这时就需要我们自己去设置,在主类中添加以下代码:

  @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;
    }

  重启项目,访问 //localhost:9001/hystrix.stream ,大功告成

问题二、 Hystrix dashboard 一直 Loading……

  如果访问 //localhost:9001/hystrix.stream  报错,请先移驾 问题一  设置 仪表盘路径

  否则 就是需要 通过负载均衡调用服务了,现在没调用,所以什么都没监控到,掉完服务再去仪表盘看就会有如下信息

问题三、Turbine 启动报错 EL1008E: Property or field ‘default’ cannot be found on object of type ‘com.netflix.appinfo.InstanceInfo

 这是配置的问题 将 “default”  修改为  new String(“default”) ,再启动,一切正常

 问题四、Turbine 一直 Loading……

 总结起来就以下几方面:

  1、保证问题一、二、三都已经解决

  2、检查服务名(app-config )配置是否正确

  3、检查  cluster-name-expression: new String(“default”)  配置是否正确

  4、检查 instanceUrlSuffix: /hystrix.stream   配置是否正确

修改配置后记得重启项目(没有配热部署的情况下)

调用服务再去仪表盘查看就OK 了

 

如有不对之处,请各位大佬指教, 如果还是有问题,可以联系我

Tags: