SpringCloud-Turbine【多个服务和集群监控】

  Turbine 是聚合服务器发送事件流数据的一个工具,hystrix 的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过 turbine 来监控集群服务。

SpringCloud-Turbine【多个服务和集群监控】_第1张图片

案例介绍

  本案例中我们启动两个consumer,集成的有dashboard。创建一个新的turbine项目,通过turbine项目类聚合监控数据,然后通过dashboard-view项目来展示可视化的监控数据

一、创建turbine项目

1.添加依赖

 
 <dependency>
     <groupId>org.springframework.cloudgroupId>
     <artifactId>spring-cloud-starter-turbineartifactId>
 dependency>
 <dependency>
     <groupId>org.springframework.cloudgroupId>
     <artifactId>spring-cloud-netflix-turbineartifactId>
 dependency>

2.配置文件设置

  配置文件中添加turbine的设置

#---------------------------------------turbine------------
--------------
#配置 Eureka 中的 serviceId 列表,表明监控哪些服务
turbine.appConfig=shop-product-consumer-hystrix-dashboard,eureka-ribbon-consumer-threadpool
#指定聚合哪些集群,多个使用","分割,默认为 default。可使用http://.../turbine.stream?cluster={clusterConfig 之一}访问turbine.aggregator.clusterConfig= default
# 1. clusterNameExpression 指定集群名称,默认表达式 appName;此时:turbine.aggregator.clusterConfig 需要配置想要监控的应用名称;
# 2. 当 clusterNameExpression: default 时,turbine.aggregator.clusterConfig 可以不写,因为默认就是 default;
# 3. 当 clusterNameExpression: metadata['cluster']时,假设想要监控的应用配置了 eureka.instance.metadata-map.cluster: ABC,
# 则需要配置,同时 turbine.aggregator.clusterConfig:ABC
turbine.clusterNameExpression="default"

3.启动类修改

SpringCloud-Turbine【多个服务和集群监控】_第2张图片

二、分别启动两个consumer

  注意端口不要冲突
服务一:

SpringCloud-Turbine【多个服务和集群监控】_第3张图片
SpringCloud-Turbine【多个服务和集群监控】_第4张图片

服务二:

SpringCloud-Turbine【多个服务和集群监控】_第5张图片
SpringCloud-Turbine【多个服务和集群监控】_第6张图片

启动turbine服务

  访问如下地址:http://localhost:1002/turbine.stream

SpringCloud-Turbine【多个服务和集群监控】_第7张图片

四、启动dashboard-view服务

  如下即实现了同时监控多个服务的数据。

SpringCloud-Turbine【多个服务和集群监控】_第8张图片

你可能感兴趣的:(#,SPRING-CLOUD系列)