hystrix-turbine 监控的使用

Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。

本实例是在consul做为服务发现时的配置。

Turbine聚合器:

可以参照:https://springcloud.cc/spring-cloud-consul.html 的最后作为参照

1、pom 引入

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

2、配置文件

turbine:
  appConfig: clientdemo,servicedemo
  clusterNameExpression: new String('default')

3、类文件

@EnableTurbine
@EnableDiscoveryClient
@SpringBootApplication
@EnableHystrix
@EnableHystrixDashboard
@RestController
public class TurbineApplication {
    public static void main(String[] args){
        SpringApplication.run(TurbineApplication.class, args);}
}
EnableHystrixDashboard  Hystrix仪表板显示每个断路器的健康高效的方式,是一种更直观的方式 

Turbine客户(监控的对象)

1、pom引入

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
        </dependency>

2、配置文件

3、类文件:

@EnableHystrix

Demo地址:http://git.oschina.net/zhou666/spring-cloud-7simple/tree/master/cloud-hystrix-turbine

hystrix-turbine集成了hystrix看板和 turbine,用来监控实现了hystrix的工程项目:

1

每一个监控项目的具体解释:

2

原本的hystrix看板只能监控一台服务器上的服务调用情况,使用了turbine后就可以监控多台服务器的情况。Turbine原理如下:

3

2.   主要配置文件

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

<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>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-turbine</artifactId>

</dependency>

配置文件:

eureka:

instance:

leaseRenewalIntervalInSeconds: 10 #心跳间隔

client:

registerWithEureka: true #注册本工程为服务

fetchRegistry: true

serviceUrl:

defaultZone: http://localhost:8761/eureka/ #注册服务器地址

turbine:

aggregator:

clusterConfig: CLOUD-SIMPLE-SERVICE  #turbine监控的服务名称,可以多个

appConfig: cloud-simple-service  #turbine监控的服务,可以有多个

clusterNameExpression: metadata['cluster']

 

3.   启动与调试

启动应用输入http://localhost:8989/hystrix会看到hystrix面板,在这个面板里的监控url输入,http://localhost:8989/turbine.stream??cluster=CLOUD-SIMPLE-SERVICE,其中cluster对应配置文件中clusterConfig中的名称。