Hystrix提供了Hystrix Dashboard来实时监控HystrixCommand方法的执行状况。 Hystrix Dashboard能够有效地反映出每一个Hystrix实例的运行状况,帮助咱们快速发现系统中的问题,从而采起对应措施。app
Hystrix 单个实例监控3d
咱们先经过使用Hystrix Dashboard监控单个Hystrix实例来了解下它的使用方法。cdn
建立一个hystrix-dashboard模块server
用来监控hystrix实例的执行状况。xml
在pom.xml中添加相关依赖:blog
在application.yml进行配置:接口
在启动类上添加@EnableHystrixDashboard来启用监控功能:it
启动相关服务io
此次咱们须要启动以下服务:eureka-server、user-service、hystrix-service、hystrix-dashboard,启动后注册中心显示以下。class
Hystrix实例监控演示
访问Hystrix Dashboard:http://localhost:8501/hystrix
填写好信息后点击监控按钮,这里咱们须要注意的是,因为咱们本地不支持https,因此咱们的地址须要填入的是http,不然会没法获取监控信息;
还有一点值得注意的是,被监控的hystrix-service服务须要开启Actuator的hystrix.stream端点,配置信息以下:
调用几回hystrix-service的接口:http://localhost:8401/user/testCommand/1
能够发现曾经咱们在@HystrixCommand中添加的commandKey和threadPoolKey属性都显示在上面了,而且有7次调用都成功了。
Hystrix Dashboard 图表解读
图表解读以下,须要注意的是,小球表明该实例健康状态及流量状况,颜色越显眼,表示实例越不健康,小球越大,表示实例流量越大。曲线表示Hystrix实例的实时流量变化。
Hystrix 集群实例监控
这里咱们使用Turbine来聚合hystrix-service服务的监控信息,而后咱们的hystrix-dashboard服务就能够从Turbine获取聚合好的监控信息展现给咱们了。
建立一个turbine-service模块
用来聚合hystrix-service的监控信息。
在pom.xml中添加相关依赖:
在application.yml进行配置,主要是添加了Turbine相关配置:
在启动类上添加@EnableTurbine来启用Turbine相关功能:
启动相关服务
使用application-replica1.yml配置再启动一个hystrix-service服务,启动turbine-service服务,此时注册中心显示以下。
Hystrix集群监控演示
访问Hystrix Dashboard:http://localhost:8501/hystrix
添加集群监控地址,须要注意的是咱们须要添加的是turbine-service的监控端点地址:
调用几回hystrix-service的接口:http://localhost:8401/user/testCommand/1以及http://localhost:8402/user/testCommand/1
能够看到咱们的Hystrix实例数量变成了两个。
使用到的模块