問題一、請求 /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 了
如有不對之處,請各位大佬指教, 如果還是有問題,可以聯絡我