Hystrix Dashboard 断路器监控
Hystrix Dashboard 是 Hystrix 提供的一个可以查看 Hystrix 监控数据的控制面板 . Hystrix提供了近实时的数据监控 , Hystrix 会实时、累加的记录所有关于 HystrixCommand 的执行信息 , 包括每秒执行多少请求 , 多少成功和多少失败等.
创建 Hystrix Dashboard 工程
依赖 pom.xml
1 | <dependency> |
application.yml
1 | server: |
启动类增加注解
1 |
|
@EnableHystrixDashboard:启动Hystrix Dashboard断路器看板相关配置
启动应用 , 打开浏览器 http://localhost:13000/hystrix
以上便配置好了 Dashboard . 通过主页的文字 , 我们可以知道 Hystrix Dashboard 支持三种不同的监控方式 .
- 默认的集群监控. 通过
http://turbine-hostname:port/turbine.stream
开启 , 实现对默认集群的监控 - 指定的集群监控. 通过
http://turbine-hostname:port/turbine.stream?cluster=[clusterName]
开启 , 实现对 clusterName 集群的监控 - 单体应用的监控 . 实现对具体某个服务实例的监控 . 通过
http://hystrix-app:port/actuator/hystrix.stream
Actuator 2.x 以后 endpoints 全部在/actuator
下 ,可以通过management.endpoints.web.base-path
修改
被监控服务配置
pom.xml
1 | <dependency> |
为启动类添加 @EnableCircuitBreaker
或@EnableHystrix
注解 , 开启断路器功能
配置文件 application.yml
中添加
1 | management: |
management.endpoints.web.exposure.include
这个事用来暴露 endpoints 的 . 由于 endpoints 中会包含很多敏感信息 , 除了 health 和 info 两个支持 web 访问外 , 其他的默认不支持 web 访问 . 详情请参考 50.Endpoints
使用
在 Dashboard 主界面输入对应的地址 , 然后点击 Monitor Stream 按钮进入页面 . 然后请求对应服务 , 会出现以下界面
如果在该界面出现报错
Unable to connect to Command Metric Stream.
, 可以参考这个 Issue
界面解读
以上图来说明其中各元素的具体含义:
- 实心圆:它有颜色和大小之分 , 分别代表实例的监控程度和流量大小 . 如上图所示 , 它的健康度从绿色、黄色、橙色、红色递减 . 通过该实心圆的展示 , 我们就可以在大量的实例中快速的发现故障实例和高压力实例 .
- 曲线:用来记录 2 分钟内流量的相对变化 , 我们可以通过它来观察到流量的上升和下降趋势 .
- 其他一些数量指标如下图所示