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

CansonHai發表於2020-05-16

問題一、請求 /hystrix.stream 報錯,我這裡以埠9001為例

  請求 http://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;
    }

  重啟專案,訪問 http://localhost:9001/hystrix.stream ,大功告成

問題二、 Hystrix dashboard 一直 Loading……

  如果訪問 http://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 了

 

如有不對之處,請各位大佬指教, 如果還是有問題,可以聯絡我

相關文章