介绍
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”如果出现下面页面则测试通过:
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、随后出现如下界面:
7、访问被监控的服务,会发现曲线会根据访问频率发生变化
评论区