微服务配置了Hystrix熔断规则,Hystrix-DashBoard可以帮我们分析熔断的情况
该技术,主要用来帮助项目经理,统计/分析熔断数据
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-actuatorartifactId>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboardartifactId>
dependency>
spring:
application:
name: micro-hystrix-dashboad-server
server:
port: 7070
启动类上,添加@EnableHystrixDashboard
/**
* @EnableHystrixDashboard 开启熔断器的监控功能
*/
@EnableHystrixDashboard
@SpringBootApplication
public class MicroHystrixDashboadServerApplication {
public static void main(String[] args) {
SpringApplication.run(MicroHystrixDashboadServerApplication.class, args);
}
}
例如:可以在micro-user-server中导入
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-actuatorartifactId>
dependency>
SpringCloud使用G及其之前的版本不用写配置类,升级到H以后还有写个配置信息
在启动类身上,添加下面的代码
/**
* 此配置是为了服务监控而配置,与服务器容错本身无关,springcloud升级后的坑
* ServletRegistrationBean因为springboot的默认路径不是/hystrix.stream
* 只要在自己的项目里配置上下面的servlet就可以了
*
* **/
@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;
}
hystrix:
dashboard:
proxy-stream-allow-list: "localhost"
添加对本机放行
通过这里的截图,我们可以发现9092所在的微服务,已经在向DashBoard发送消息
访问:DashBoard所在的地址:http://localhost:7070/hystrix/monitor?stream=http%3A%2F%2Flocalhost%3A9092%2Fhystrix.stream&title=%E7%94%A8%E6%88%B7%E5%BE%AE%E6%9C%8D%E5%8A%A1
1、圆点:微服务的健康状态,颜色有绿色、黄色、橙色、红色,健康状态依次降低
2、线条:流量变化 3、请求的方法 4、成功请求(绿色)5、短路请求(蓝色)
6、坏请求(青色)7、超时请求(黄色)8、被拒绝的请求(紫色)9、失败请求(红色)10、最近10秒钟内请求错误的百分比
色,健康状态依次降低
2、线条:流量变化 3、请求的方法 4、成功请求(绿色)5、短路请求(蓝色)
6、坏请求(青色)7、超时请求(黄色)8、被拒绝的请求(紫色)9、失败请求(红色)10、最近10秒钟内请求错误的百分比
11、请求频率 12、熔断器状态 13、数据延迟统计 14、线程池