【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 使用Turbine监控多个微服务

使用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。

扫描二维码关注公众号,回复: 9614039 查看本文章

在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集群监控

Hystrix快速入门(7) Turbine

Spring Cloud中Hystrix仪表盘与Turbine集群监控

源代码

https://gitee.com/cckevincyh/spring-cloud-demo/tree/turbine

发布了647 篇原创文章 · 获赞 816 · 访问量 98万+

猜你喜欢

转载自blog.csdn.net/cckevincyh/article/details/101119962