踩了幾個小時坑,使用儀表盤監控單個服務的時候很容易,但是一到多個服務,瞬間坑就來了,大概碰到下面三個:
1InstanceMonitor$MisconfiguredHostException, No message available","path":"/actuator/hystrix.stream:
因為我用的是springboot2.0.6版本,這個版本默認路徑不是/hystrix.stream,而turbine默認路徑是這個,所以要修改一下,可以有兩種修改方式:
一: 配置Bean,設置路徑
/** * springboot 版本如果是2.0則需要添加 ServletRegistrationBean * 因為springboot的默認路徑不是 "/hystrix.stream" * @return */ @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; }
二: 配置文件配置Bean
頁面不顯示服務:
這個問題挺坑的,具體原因是因為監控的服務不光要開啟熔斷和儀表盤,同樣也要開啟turbine,即啟動類需要以下注解,缺一不可:
一直loading:
最后是這個,實際中發現無論怎么訪問接口,就是沒監控數據,后台測試發現,你所訪問的接口必須要有熔斷,即普通方法要有fallback:
訪問其他方法是不會有監控數據的;
feign接口也要有fallback實現類,才會監控到數據!!!!!!