踩了几个小时坑,使用仪表盘监控单个服务的时候很容易,但是一到多个服务,瞬间坑就来了,大概碰到下面三个:
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实现类,才会监控到数据!!!!!!