SpringCloud(11)之豪猪HystrixDashboard监控

SpringCloud(11)之豪猪HystrixDashboard监控

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

介绍

HystrixDashboard 是 Hystrix 提供的准实时的调用监控,Hystrix 会持续地记录所有通过 Hystrix 发起的请求的执行信息,并以统计报表和图形的形式展示给用户,包括每秒执行多少次请求、多少成功、多少失败等。Netflix 通过 hystrix-metrics-events-stream 项目实现了对以上指标的监控。SpringCloud 也提供了 HystrixDashboard 的整合,对监控内容转化成可视化界面。

使用

1、新建名为 "microservicecloud-consumer-hystrix-dashboard" 的子工程作为监控微服务工程,添加相关依赖:

<!--Hystrix Dashboard 相关依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>

2、新建配置文件,配置占用端口:

# application.yml
server:
  port: 9001

3、新建主启动类,使用注解添加监控支持:

// zze.springcloud.Application_9001
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

@SpringBootApplication
@EnableHystrixDashboard // 开启监控支持
public class Application_9001 {

    public static void main(String[] args) {
        SpringApplication.run(Application_9001.class, args);
    }
}

4、保证所有的 Provider 服务都添加了监控依赖:

<!--监控信息-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

5、测试监控服务自身是否正常,启动 microservicecloud-consumer-hystrix-dashboard 服务,访问“http://localhost:9001/hystrix”如果出现下面页面则测试通过:

image.png

6、监控测试:

1、启动 7001、7002、7003 Eureka 集群
2、启动 microservicecloud-provider-dept-hystrix-8001 带有熔断功能的 Provider 服务
3、启动 microservicecloud-consumer-dept-80 消费者服务
4、启动 microservicecloud-consumer-hystrix-dashboard 监控服务
5、访问监控服务提供的可视化 web 页,http://localhost:9001/hystrix:
6、随后出现如下界面:

image.png

7、访问被监控的服务,会发现曲线会根据访问频率发生变化

image.png

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/springcloud11.html

Buy me a cup of coffee ☕.