Spring Cloud 学习笔记五:搭建微服务工程之使用 Turbine 实现集群监控

目录

使用 Turbine 实现集群监控


使用 Turbine 实现集群监控

在实际应用中,单个实例的监控数据没有多大的价值,我们更需要的是一个集群系统的监控信息,这时我们就需要 Turbine。

Turbine 是用来监控集群的,通过它来汇集监控信息,并将聚合后的信息提供给 Hystrix Dashboard 来集中展示和监控。

Turbine 是聚合服务器发送事件流数据的一个工具。Hystrix 只能监控单个节点,然后通过 dashboard 进行展示。实际生产中都为集群,这个时候我们可以通过 Turbine 来监控集群下 Hystrix 的 metrics 情况,通过 Eureka 来发现 Hystrix 服务。

首先增加 Turbine 的依赖,代码如下所示:

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

在启动类上增加 @EnableTurbine。在属性文件中配置如下内容:

turbine:
  # 配置需要聚合的服务名称,多个使用","分割
  app-config: ${spring.application.name}
  # Turbine 需要聚合的集群名称,多个使用","分割
  aggregator:
    cluster-config: default
  # 指定集群名称  
  cluster-name-expression: new String("default")

重启服务,就可以使用 http://localhost:8091/turbine.stream 来访问集群的监控数据了。Turbine 会通过在 Eureka 中查找服务的 homePageUrl 加上 hystrix.stream 来获取其他服务的监控数据,并将其汇总显示。

如果被监控的服务中设置了 context-path,则会导致 Turbine 无法获取监控数据,需要在 Turbine 中指定 turbine.instanceUrlSuffix 来解决这个问题:

turbine.instanceUrlSuffix=/sub/hystrix.stream

sub 用于监控服务的 context-path。上面这种方式是全局配置,会有一个问题,就是一般我们在使用中会用一个集群去监控多个服务,如果每个服务的 context-path 都不一样,这个时候有一些就会出问题,那么就需要对每个服务做一个集群,然后配置集群对应的 context-path:

 turbine.instanceUrlSuffix.集群名称=/sub/hystrix.stream

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stary1993

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值