在生产环境下,如果想查看某个微服务的熔断情况,这时我们就可以使用Hystrix Dashboard仪表盘以 GUI的形式展示消费者的执行情况,包括其处理器方法与Service方法的调用执行情况、熔断器CircuitBreaker的状态等。 (显示出的数据都是在指定时间窗内的执行情况及状态信息。) Dashboard 监控仪表盘 消费者工程 复制想监控的工程(这里以fallbackfactory-feign-consumer-8080为例),重命名为fallbackfactory-dashboard-consumer-8080并配置成maven项目。 将Hystrix Dashboard依赖添加到pom.xml文件中。12345复制代码类型:[java] 依赖添加完成后,修改配置文件。 # 开启actuator的hystrix.stream监控终端 management: endpoints: web: exposure: include: hystrix.stream # 设置服务熔断时限 hystrix: command: default: execution: isolation: thread: timeoutInMilliseconds: 4000123456789101112131415复制代码类型:[java] 在启动类上添加开启dashboard功能的注解。@EnableFeignClients @SpringCloudApplication // 开启dashboard功能 @EnableHystrixDashboard public class DashboardConsumerApplication { public static void main(String[] args) { SpringApplication.run(DashboardConsumerApplication.class, args); } }123456789复制代码类型:[java] 提供者工程 为了演示效果,我们再复制一个提供者工程(这里以feign-provider-8081为例),重命名为dashboard-provider-8081并配置成maven项目。 将com.javafamily.service.Impl中查询方法的sleep()参数改成id,这样做只是为了测试演示方便,在业务上没有特殊的意义,id<4就不会超时。try { TimeUnit.SECONDS.sleep(id); } catch (InterruptedException e) { e.printStackTrace(); }12345复制代码类型:[java] 查看仪表盘 在浏览器中访问: http://localhost:8080/hystrix,输入监控路径。 单独访问监控路径,可以看到大量的数据。 这就是SSE(Server-Send Events ,H5中的一个子规范),点击Monitor Stream就可以对这些数据进行解析。由于我们访问的id为5(超时),所以演示结果的为红色。 gitee: 得到的结果图,上半部分表示熔断情况,下半部分表示线程池。下面解释一下各部分含义。 gitee: https://gitee.com/javainfamily/spring-cloud 开课吧广场-人才学习交流平台 org.springframework.cloud spring-cloud-starter-netflix-hystrix-dashboard