但願能在Spring Cloud的Finchley版本遇到Unable.to.connect.to.Command.Metric異常的朋友可以先看到我這篇文章。html
初始遇到這個問題,在網上搜到的答案是Finchley版本的問題,而且有人試過之前的版本確實能用。而後提供瞭解決辦法,配置web
@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; }
確實能用了。可是總以爲Spring Cloud團隊不能這麼傻,因此通過繼續查找,找到我以爲最正確的解決辦法,增長:spring
management.endpoints.web.exposure.include=hystrix.stream
訪問的時候使用地址:app
http://localhost:port/actuator/hystrix.streamspring-boot
解釋:查看ui
WebEndpointProperties.class
結果一目瞭然,不作解釋。htm
我獲得啓發是從如下兩篇文章中:get
https://stackoverflow.com/questions/41300418/hystrix-unable-to-connect-to-command-metric-streamit
https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-monitoring.htmlio
補充:若是使用Feign出現該異常時,注意檢查一下是否添加了@EnableCircuiteBreaker。
這是由於只使用Ribbon時,會使用@EnableHystrix註解,而該註解已包含@EnableCircuiteBreaker註解。
使用Feign時,會使用@EnableFeignClinets註解,該註解不包含@EnableCircuiteBreaker註解。因此要專門加上。