Turbine集群监控

一 turbine简介

Hystrix Dashboard首页提到监控端点/turbine.stream,它是用来监控集群的。从端点的命名来看,它需要引入Turbine,通过它来汇集监控信息,并将聚合后的信息提供给Hystrix Dashboard来集中展示和监控。

二 项目介绍

引入Turbine来聚合Ribbon-consumer服务的监控信息,并输出给Hystrix Dashboard来进行展示。

三 项目架构图

核心实现见上图红色框起来部分。

四 实战步骤

1 创建标准Spring Boot工程,命名为turbine

2 编辑pom.xml,引入相关依赖

 
  1. <dependencies>

  2. <dependency>

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

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

  5. </dependency>

  6. <dependency>

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

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

  9. </dependency>

  10. </dependencies>

3 创建应用主类,并使用@EnableTurbine注解开启Turbine。

 
  1. package com.didispace;

  2.  
  3. import org.springframework.boot.SpringApplication;

  4. import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

  5. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

  6. import org.springframework.cloud.netflix.turbine.EnableTurbine;

  7. import org.springframework.context.annotation.Configuration;

  8.  
  9. @Configuration

  10. @EnableAutoConfiguration

  11. @EnableTurbine

  12. @EnableDiscoveryClient

  13. public class TurbineApplication {

  14.  
  15. public static void main(String[] args) {

  16. SpringApplication.run(TurbineApplication.class, args);

  17. }

  18.  
  19. }

4 增加配置文件

 
  1. #服务名为turbine

  2. spring.application.name=turbine

  3.  
  4. server.port=8989

  5. management.port=8990

  6.  
  7. eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

  8.  
  9. #turbine.app-config=RIBBON-CONSUMER,RIBBON-CONSUMER-2

  10. #指定需要收集监控信息的服务名

  11. turbine.app-config=RIBBON-CONSUMER

  12. #指定集群的名称为default,当服务实例非常多的时候,可以启动多个Turbine来

  13. #构建不同的聚合集群,而该参数可以区分这些不同的集群,同时该参数可以在

  14. #Hystrix仪表盘中用来定位不同的聚合集群,只需在Hystrix Stream的URL中通过cluster

  15. #参数来指定。

  16. turbine.cluster-name-expression="default"

  17. #当该参数未true时,可以让同一主机上的服务通过主机名与端口号

  18. #的组合来进行区分,默认情况下会以host来区分不同的服务,这

  19. #会使得在本地调试的时候,本机上不同服务聚合成一个服务来统计

  20. turbine.combine-host-port=true

五 测试

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的访问。

4 说明

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

 

自己记录

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值