SpringCloud--Hystrix Turbine聚合监控(八)

一、Hystrix Turbine简介

  Hystrix Dashboard首页提到监控端点/turbine.stream,它是用来监控集群的。从端点的命名来看,它需要引入Turbine,通过它来汇集监控信息,并将聚合后的信息提供给Hystrix Dashboard来集中展示和监控。
  看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看这个系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。

二、Maven依赖

<!--Turbine-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

三、配置

  1. application.properties配置
# 服务名为turbine
spring.application.name=turbine
 # 服务端口
server.port=8989
# 管理端口
management.port=8990
# 注册中心
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
 # 应用配置
# turbine.app-config=RIBBON-CONSUMER,RIBBON-CONSUMER-2
# 指定需要收集监控信息的服务名
turbine.app-config=RIBBON-CONSUMER
# 指定集群的名称为default,当服务实例非常多的时候,可以启动多个Turbine来
# 构建不同的聚合集群,而该参数可以区分这些不同的集群,同时该参数可以在
# Hystrix仪表盘中用来定位不同的聚合集群,只需在Hystrix Stream的URL中通过cluster
# 参数来指定。
turbine.cluster-name-expression="default"
# 当该参数未true时,可以让同一主机上的服务通过主机名与端口号
# 的组合来进行区分,默认情况下会以host来区分不同的服务,这
# 会使得在本地调试的时候,本机上不同服务聚合成一个服务来统计
turbine.combine-host-port=true

  1. 创建应用主类,并使用@EnableTurbine注解开启Turbine。
@SpringBootApplication
@EnableTurbine
public class TurbineApplication {
    public static void main(String[] args) {
        SpringApplication.run(TurbineApplication.class, args);
    }
}

四、测试

1、 分别启动eureka、hello-Service、Ribbon-consumer(启动两个,1个是9000端口,1个是9001端口)、Turbine以及Hystrix Dashboard。
2、 浏览器输入http://localhost:2001/hystrix,进入Hystrix Dashboard首页。
3、 开启http://localhost:8989/turbine.stream的访问。

测试

  我们启动了两个Ribbon-consumer,但是在监控页面依然只是展示了一个监控图。但是可以发现集群报告区域中的Hosts属性已经变成了2个实例。由此我们知道ribbon-consumer启动了两个实例,只是展示在一个监控图中,是由于两个实例是同一个服务,而对于服务集群来说,我们关注的是服务集群的高可用,所以Turbine会将相同的服务作为整体看待,并汇总成一个监控图。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容