SpringCloud学习(七)使用Hystrix Dashboard 进行服务监控

Hystrix Dashboard:顾名思义就是熔断器仪表盘,可以使用可视化界面对服务进行监控

注意:网上的资料教程大多是SpringCloud和SpringBoot低版本的,我在使用最新版本的时候,遇到了一些坑,也就是版本不同导致的

使用的版本:
spring-cloud-starter-netflix-hystrix-dashboard : 2.1.0.RELEASE
SpringCloud版本:Greenwich.RELEASE
SpringBoot版本:2.1.4.RELEASE

步骤

  1. 新建一个模块,用于Hystrix Dashboard进行图形可视化监控,引入依赖

     		<!-- hystrix dashboard -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
            </dependency>
            
    	<dependencyManagement>
            <dependencies>
                <!-- <scope>import</scope>解决单继承问题,类似parent标签, -->
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Greenwich.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
  2. 在该模块的主启动类上加上@EnableHystrixDashboard注解,表示开启Hystrix Dashboard

  3. 到这里可以启动该模块,然后在浏览器输入localhost:8080/hystrix,看到下面界面表示成功
    在这里插入图片描述
    简单介绍一下:
    第1个地方填写需要监控的地址
    (单体应用监控:http://域名:端口/actuator/hystrix.stream),还有集群应用监控,下面的黑色文字就是对应的地址形式,可参考
    第2个地方表示:轮询监控的延迟时间,默认2000ms
    第3个地方表示,为此次监控取一个标题
    第4个地方表示,开启监控,执行

  4. 继续,在需要监控的微服务中引入监控actuator依赖(默认该服务已经使用了Hystrix熔断或者降级,即引入了Hystrix相关依赖)
    具体项目可以参考:SpringCloud学习(六)Feign中使用Hystrix进行服务熔断

  5. 在需要监控的微服务中注册一个Servlet,用于访问actuator的hystrix.stream端点(这也是新版本跟之前版本的不同,不然后面会一直出现Unable to connect to Command Metric Stream.错误)

    	@Bean
        public ServletRegistrationBean getServlet() {
            HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
            ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
            registrationBean.setLoadOnStartup(1);
            registrationBean.addUrlMappings("/actuator/hystrix.stream");
            registrationBean.setName("HystrixMetricsStreamServlet");
            return registrationBean;
        }
    
  6. 启动项目测试,依次启动Eureka注册中心,服务提供者,服务消费者(也是此次的被监控者),和Hystrix Dashboard监控模块

  7. 在第3步的那个图中填上相应的参数,地址,延迟时间等,点击Monitor Stream

  8. 如果跳转的界面显示Loading…则表示成功
    若是Unable to connect to Command Metric Stream则失败(重新检查前面的步骤吧)

  9. 这时疯狂给消费者(此次的被监控者)发送请求,第8步的图形界面会出现类似这样的
    在这里插入图片描述

在监控的界面有两个重要的图形信息:一个实心圆和一条曲线。

  • 实心圆:
    1、通过颜色的变化代表了实例的健康程度,健康程度从绿色、黄色、橙色、红色递减。
    2、通过大小表示请求流量发生变化,流量越大该实心圆就越大。所以可以在大量的实例中快速发现故障实例和高压实例。

  • 曲线:用来记录2分钟内流浪的相对变化,可以通过它来观察流量的上升和下降趋势。

另外不同颜色数字表示:
第1列数字表示:成功的请求,熔断数,错误的请求;
第2列表示:超时的请求,线程池拒绝数,失败的请求
第3列表示:最近10秒内错误的比率
如下图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值