写点什么

Hystrix Dashboard

作者:李子捌
  • 2021 年 12 月 16 日
  • 本文字数:1468 字

    阅读完需:约 5 分钟

Hystrix Dashboard

1、简介

Hystrix Dashboard 是一个通过收集 actuator 端点提供的 Hystrix 流数据,并将其图表化的客户端。如果需要通过图表化的界面查看被断路器保护的方法相关调用信息、或者实时监控这些被断路器保护的应用的健康情况,就可以使用 Hystrix Dashboard。​

2、正文

2.1 启动 Hystrix Dashboard

创建一个 Spring Boot 项目添加 Hystrix Dashboard 依赖


<dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId></dependency>
复制代码


在启动类上使用 @EnableHystrixDashboard 注解来启动 Hystrix Dashboard


@SpringBootApplication@EnableHystrixDashboardpublic class Application {
public static void main(String[] args) { SpringApplication.run(Application.class, args); }}
复制代码


指定 Hystrix Dashboard 服务启动端口


server:  port: 17777
复制代码


启动服务,访问/hystrix 端点,看到如下界面则证明 Hystrix Dashboard 启动成功


2.2 启用 Actuator 端点

Hystrix Dashboard 是通过实时获取 Actuator 端点提供的 Hystrix 流来实时监控这些被断路器保护的应用的健康情况;因此在这些被断路器保护的应用中需要开启 Hystrix 流的 Actuator 端点(注意:如下所有配置都是在已经集成了 Hystrix 的服务中进行的相关操作)。引入 actuator 依赖


<!--actuator 依赖--><dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-actuator</artifactId></dependency>
复制代码


暴露 hystrix 端点


# 暴露hystrix端点management:  endpoints:    web:      exposure:        include: 'hystrix.stream'
复制代码


在 Hystrix Dashboard 中输入服务暴露的 hystrix 流地址http://localhost:18888/actuator/hystrix.stream



点击 Monitor Stream 之后进入的初始界面如下所示(如果没出现页面,只是显示 loading,那就说明断路器方法未被调用,只需向断路器方法发送一次请求即可):


2.3 Hystrix Dashboard 面板参数介绍

Hystrix Dashboard 面板可分上下两部分来查询,上面部分是断路器方法调用的相关信息,Circuit,下面部分是 Hystrix 为断路器方法提供的线程池相关信息,Thread Pools。​


Circuit:




Circuit 这里展示的当前方法的相对信息,如果有多个方法被断路器保护,那么这里将会依此展示多个方法的相关信息。



在图表中,左上角的圆圈代表了该方法的流量和状态:


  • 圆圈越大代表方法流量越大

  • 圆圈为绿色代表断路器健康、黄色代表断路器偶发故障、红色代表断路器故障


右上角的计数器(三列数字):第一列从上到下


  • 绿色代表当前成功调用的数量

  • 蓝色代表短路请求的数量

  • 蓝绿色代表错误请求的数量


第二列从上到下


  • 黄色代表超时请求的数量

  • 紫色代表线程池拒绝的数量

  • 红色代表失败请求的数量


第三列


  • 过去 10s 的错误请求百分比


Thread Pools:Hystrix 会针对一个受保护的类创建一个对应的线程池,这样做的目的是 Hystrix 的命令被调用的时候,不会受方法请求线程的影响(或者说 Hystrix 的工作线程和调用者线程相互之间不影响)



在图表中,左上角的圆圈代表了该线程池的流量和状态:


  • 圆圈越大代表线程池越活越,流量越大

  • 圆圈颜色代表的是线程池的健康状况


左下角从上至下:


  • Active 代表线程池中活跃线程的数量

  • Queued 代表排队的线程数量,该功能默认禁止,因此默认情况下始终为 0

  • Pool Size 代表线程池中线程的数量(上面图我搞错了,困得死 MMP


右下角从上至下:


  • Max Active 代表最大活跃线程,这里展示的数据是当前采用周期中,活跃线程的最大值

  • Execcutions 代表线程池中线程被调用执行 Hystrix 命令的次数

  • Queue Size 代表线程池队列的大小,默认禁用,无意义

发布于: 刚刚阅读数: 3
用户头像

李子捌

关注

华为云享专家 2020.07.20 加入

公众号【李子捌】

评论

发布
暂无评论
Hystrix Dashboard