组团学

用Turbine聚合监控数据

阅读 (838405)

1、用Turbine聚合监控数据

Hystrix Dashboard实现了数据监控,但是只能看到单个应用内的服务信息,Netflix提供了Turbine,可以把多个"hystrix.stream"的内容聚合为一个数据源供Dashboard展示。

1.1、添加依赖并启用支持

1.1.1、创建多个"服务提供者"

复制项目,修改应用名称和端口号

1.1.2、创建多个"服务消费者"

复制Feign项目,修改应用名称和端口号

1.1.3、创建Turbine工程

1、添加Turbine依赖

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!--Hystrix的依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId> <version>1.2.6.RELEASE</version> </dependency> <!--Actuator依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!--Hystrix依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> <!--Turbine依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-turbine</artifactId> </dependency>

2、配置Turbine支持

在启动类上添加注解@EnableTurbine,以激活Turbine的支持。

@SpringBootApplication @EnableDiscoveryClient @EnableCircuitBreaker //开启熔断器 @EnableHystrixDashboard @EnableTurbine //开启Turbine public class HystrixSpringcloudApplication { public static void main(String[] args) { SpringApplication.run(HystrixSpringcloudApplication.class, args); } }

3、配置多个监控

spring.application.name=turbine
server.port=50009
eureka.client.fetch-registry=true
eureka.client.register-with-eureka=true
eureka.client.service-url.defaultZone=http://eureka01:50001/eureka/,http://eureka02:50002//eureka/
#开启支持
feign.hystrix.enabled=true
#配置"服务中心"的serviceid列表,表明监控哪个dashboard
turbine.app-config=hystrix1,hystrix2
#集群名称表达式,默认为应用名
turbine.cluster-name-expression=new String("default")

4、启动"服务提供者"和"服务消费者"

5、测试Turbin聚合监控

  • 输入http://localhost:50009/hystrix

  • 再输入http://localhost:50009/turbine.stream点击Monitor Stream

需要 登录 才可以提问哦