使用Turbine聚合监控数据
上一篇博文中讲到使用/hystrix.stream端点监控单个微服务实例。然而,使用微服务架构的应用系统一般会包含若干个微服务,每个微服务通常都会部署多个实例。如果每次只能查看单个实例的监控数据,就必须在Hystrix Dashboard上切换想要监控的地址,这显然很不方便。如何解决该问题呢?
Turbine简介
Turbine是一个聚合Hystrix监控数据的工具,它可将所有相关/hystrix.stream端点的数据聚合到一个组合的/turbine.stream中,从而让集群的监控更加方便。
使用Turbine监控多个微服务
我们先新建一个module,命名为cloud-turbine,然后我们在pom中添加turbine的依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-turbine</artifactId>
</dependency>
<artifactId>spring-cloud-starter-turbine</artifactId>
已经过期,推荐使用<artifactId>spring-cloud-starter-netflix-turbine</artifactId>
然后写一个启动类,并加入注解@EnableTurbine
package com.cc.cloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.turbine.EnableTurbine;
@SpringBootApplication
@EnableTurbine
public class TurbineApp {
public static void main(String[] args) {
SpringApplication.run(TurbineApp.class, args);
}
}
编写配置文件application.yml。
server:
port: 6100
spring:
application:
name: cloud-turbine
eureka:
client:
service-url:
defaultZone: http://localhost:8888/eureka/
turbine:
appConfig: cloud-service-order,cloud-service-member #指定了要监控的应用名字
clusterNameExpression: "'default'" #默认就是default
- turbine.appConfig :配置Eureka中的serviceId列表,表明监控哪些服务
- turbine.cluster-name-expression或者turbine.cluster-name-expression 参数指定了集群名称为 new String(“default”) 或者"‘default’",当我们服务数量非常多的时候,可以启动多个 Turbine 服务来构建不同的聚合集群,而该参数可以用来区分这些不同的聚合集群,同时该参数值可以在 Hystrix 仪表盘中用来定位不同的聚合集群,只需要在 Hystrix Stream 的 URL 中通过 cluster 参数来指定
最后启动我们的应用:cloud-eureka,cloud-service-order,cloud-service-memeber,cloud-hystrix-dashboard,cloud-turbine。
然后访问cloud-hystrix-dashboard的页面:http://localhost:8766/hystrix。
在URL中输入 http://localhost:6100/turbine.stream
然后分别访问我们的order还有member服务。http://localhost:8762/member/orders 和 http://localhost:8765/order/members,
然后就可以看到如下的界面:
参考
SpringCloud与Docker微服务架构实战-完整版.pdf
跟我学Spring Cloud(Finchley版)-15-Hystrix监控详解
springcloud(五):熔断监控Hystrix Dashboard和Turbine
Spring Cloud(六):Hystrix 监控数据聚合 Turbine【Finchley 版】
Spring Cloud中Hystrix仪表盘与Turbine集群监控
Spring Cloud中Hystrix仪表盘与Turbine集群监控