`
raymond.chen
  • 浏览: 1436938 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用Turbine聚合Hystrix监控数据

 
阅读更多

Hystrix Dashboard只能监控单个实例节点,如果要监控集群下hystrix的metrics情况,则需要借助Hystrix Turbine。Hystrix Turbine将每个服务的Hystrix监控数据进行了整合。

 

Turbine是Netflix提供的一个开源项目,用来提供把多个hystrix.stream的内容聚合为一个数据源供Dashboard展示。Turbine有一个重要的功能就是汇聚监控信息,并将汇聚到的监控信息提供给Hystrix Dashboard来集中展示和监控。

 

创建一个新的工程hystrix-turbine

    pom.xml文件关键配置:

<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.0.7.RELEASE</version>
	<relativePath/>
</parent>

<properties>
	<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	<java.version>1.8</java.version>
</properties>

<dependencies>
	<dependency>
		<groupId>org.springframework.cloud</groupId>
		<artifactId>spring-cloud-starter-netflix-turbine</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-actuator</artifactId>
	</dependency>
</dependencies>

<dependencyManagement>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-dependencies</artifactId>
			<version>Finchley.RELEASE</version>
			<type>pom</type>
			<scope>import</scope>
		</dependency>
	</dependencies>
</dependencyManagement>

 

    application.properties文件:

spring.application.name=hystrix-turbine
server.port=5001

eureka.instance.hostname=${spring.cloud.client.ip-address}
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}
eureka.instance.prefer-ip-address=true

#注册中心地址
eureka.client.service-url.defaultZone=http://root:123456@${eureka.instance.hostname}:7001/eureka/

#需要监控的服务名,多个名称用逗号分隔
turbine.app-config=service-consumer-3,service-consumer-2

#聚合的集群名称
turbine.aggregator.cluster-config=default

#集群名
turbine.cluster-name-expression=new String("default")

#设置为true,让同一主机上的服务通过主机名与端口号的组合来进行区分,默认情况下会以host来区分不同的服务。
turbine.combine-host-port=true

#turbine实例URL的后缀
turbine.instanceUrlSuffix=hystrix.stream

 

    启动类:

        主要是引入@EnableTurbine注解

@SpringBootApplication
@EnableTurbine //开启Turbine
public class Main {
	public static void main(String[] args) {
		SpringApplication.run(Main.class, args);
	}
}

 

    浏览器访问 http://localhost:5001/turbine.stream 即可查看监控数据

 

    在Hystrix Dashboard主界面上输入turbine的监控地址http://localhost:5001/turbine.stream,点击“Monitor Stream”按钮进行实时监控。


 

    微服务各个节点的关系如下图所示:


 

  • 大小: 80.5 KB
  • 大小: 16.8 KB
分享到:
评论

相关推荐

    SpringCloud -Hystrix监控面板及数据聚合(Turbine)介绍与使用示例

    数据流可以从单个服务实例获取(通过 `/actuator/hystrix.stream`),也可以从 Turbine 获取聚合数据。注意,在 Spring Boot 2.0 以后,监控端点的默认路径是 `/actuator/hystrix.stream`,并且可以通过 `management...

    Hystrix监控异常处理集.zip

    这可能是由于Hystrix Command没有开启metrics publishing,或者是Turbine聚合数据出现问题。解决策略是确保每个Hystrix Command都配置了`@HystrixCommand(fallback = ...)`注解,并且启用了`metrics.stream`,使得...

    Hystrix-dashboard+turbine-web+说明文档

    在多实例环境下,各个 Hystrix 实例都会生成自己的监控数据流,Turbine 则把这些流聚合到一起,形成一个统一的视图,这样开发者可以更方便地监控整个微服务架构的健康状况。 **Hystrix Dashboard** 是一个可视化...

    Hystrix Dashboard的使用-代码部分.zip

    1. **聚合流数据**: Turbine 将来自不同服务实例的 Hystrix 流数据聚合到单一的 `/turbine.stream` 端点,这样 Hystrix Dashboard 只需连接一个地址即可查看所有服务的监控信息。 2. **Turbine 配置**: 配置 Turbine...

    Turbine-Demo

    Turbine是Spring Cloud的一个子项目,主要功能是聚合Hystrix Dashboard上多个Hystrix Stream的流数据,以便于统一监控和管理分布式系统中的服务状态。在微服务架构中,每个服务可能有多个实例运行,而Hystrix Stream...

    SpringCloud10-2 Hystrix整合Dashboard教程

    6. **配置Dashboard**:创建一个Spring Boot的Web端点,路由到Turbine聚合的Hystrix Stream。这样,用户可以通过浏览器访问`/hystrix`端点,看到Hystrix Dashboard。 7. **测试与使用**:启动服务,通过浏览器访问...

    springcloud 熔断监控Hystrix Dashboard和Turbine

    Turbine是一个聚合流工具,它可以收集多个Hystrix Stream(即Hystrix Dashboard的数据源)的数据,并提供一个统一的流供Hystrix Dashboard消费。这样,我们就可以在一个页面上看到整个系统的熔断监控情况。 在配置...

    springcloud hystrix的使用

    6. **集成Turbine**:如果系统中有多个服务实例,可以使用Turbine聚合各个服务的Hystrix Stream数据,提供全局视图。 7. **测试与优化**:通过Hystrix Dashboard监控服务调用的性能和失败率,根据实际情况调整...

    turbine.zip

    4. **turbine-stream-rabbitmq**: 这个项目可能实现了将Turbine聚合的Hystrix指标通过Spring Cloud Stream发送到RabbitMQ,以便进行实时监控和分析。 5. **hystrix-dashboard**: Hystrix Dashboard是Netflix Hystrix...

    Hystrix实现容错

    6. **集成Turbine**:如果有多个服务实例,可以使用Turbine聚合多个Hystrix Dashboard的数据,提供全局视图。 7. **测试与优化**:根据监控数据调整Hystrix的配置,优化服务调用性能和容错能力。 通过以上步骤,...

    springCloud_hystrix(断路由服务降级)

    Spring Cloud 也集成了一些现成的监控工具,如 Turbine 和 Hystrix Dashboard,便于对多个服务实例上的 Hystrix 监控数据进行聚合和可视化。 通过上述步骤,我们不仅能够在微服务架构中有效利用 Hystrix 实现服务...

    Spring Cloud之服务监控turbine的示例

    Spring Cloud之服务监控turbine的示例是一个深入讲解如何在Spring Cloud环境中集成和使用turbine进行服务监控的教程。Turbine是Spring Cloud生态中的一个重要组件,它旨在解决在分布式系统中对Hystrix命令执行指标...

    04Hystrix Dashboard:断路器执行监控1

    此外,Hystrix Dashboard还可以与其他工具(如Turbine)结合,实现对多实例的聚合监控,进一步提高监控的全面性。 总的来说,Hystrix Dashboard是Spring Cloud微服务架构中不可或缺的一部分,它提供了一种强大的...

    详解Spring Cloud 断路器集群监控(Turbine)

    Turbine 是 Spring Cloud 中的一个组件,用于聚合多个服务实例的监控信息,并将其提供给 Hystrix Dashboard 进行集中展示和监控。Turbine 能够将多个服务实例的监控信息聚合到一起,为分布式系统提供了更好的可视化...

    turbine-dashboard-parent:博客中的涡轮监控项目的源代码

    配置可能包括Turbine聚合策略(如根据主机名或集群进行聚合),以及Hystrix Stream端点的URL。 2. **Turbine Server**:这是处理聚合流的核心部分,它监听来自各个Hystrix Stream的HTTP端点,并将数据聚合在一起。...

    spring cloud 的监控turbine-rabbitmq的示例

    - `@EnableTurbineStream`:启用Turbine Stream,使得Turbine可以监听并聚合Hystrix Stream。 - `@EnableCircuitBreaker`:启用Hystrix的断路器功能。 - `@EnableHystrixDashboard`:启用Hystrix Dashboard,用于...

    SpringCloud10-Hystrix熔断器学习代码及指定默认的全局兜底方法

    同时,Spring Cloud还提供了Hystrix Dashboard和Turbine来监控和聚合Hystrix命令的运行状况,帮助开发者了解服务的健康状态和性能指标。 在实际项目中,合理地配置和使用Hystrix不仅能提高系统的容错能力,还能优化...

    SpringCloud(Hystrix服务降级)

    Turbine 是一个聚合多个 Hystrix Dashboard 数据的工具,用于大型分布式系统中的集中监控。 总的来说,Spring Cloud Hystrix 通过服务降级、断路器模式、线程隔离等策略,提高了微服务架构的容错性和稳定性。开发者...

    turbine:使用 Turbine OOB-Spring Boot 示例克隆的示例

    Turbine是Netflix开源的一个项目,主要用于聚合多个Hystrix Dashboard的流数据,提供一个统一的视图来监控微服务架构中的服务健康状况。在微服务架构中,每个服务可能有自己的Hystrix Dashboard,Turbine的作用就是...

Global site tag (gtag.js) - Google Analytics