`

Turbine——Hystrix集群监控

阅读更多

一、Hystrix Turbine简介
看单个的Hystrix Dashboard的数据并没有什么多大的价值,要想看多个系统或集群系统的Hystrix Dashboard数据就需要用到Hystrix Turbine。Hystrix Turbine将每个服务Hystrix Dashboard数据进行了整合。Hystrix Turbine的使用非常简单,只需要引入相应的依赖和加上注解和配置就可以了。

二、准备工作
因为我们需要监控多个服务的Dashboard,所以需要搭建一个Turbine服务来聚合监控 Hystrix 断路器,取名为spring-cloud-hystrix-turbine。了解springcloud架构可以加求求:三五三六二四七二五九

三、创建spring-cloud-hystrix-turbine
1、引入pom依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
    </parent>
    <artifactId>spring-cloud-hystrix-turbine</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-consul-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>        
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>
                        spring-cloud-starter-netflix-eureka-client
                    </artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
</project>

 2、配置文件application.yml

spring:
  application:
    name: spring-cloud-hystrix-turbine
  cloud:
    consul:
      discovery: 
        prefer-ip-address: true
        instanceId: ${spring.application.name}:${server.port}
      host: localhost
      port: 8500
server:
  port: 8810
turbine:
  aggregator:
    #监控所有微服务集群
    #hytrix仪表盘:http://localhost:8810/hystrix/
    #监控地址:http://localhost:8810/turbine.stream
    #在hystrix仪表盘中监控上面的地址即可
    clusterConfig: default
  #要监控的微服务serviceId   
  appConfig: mcc-feign-hystrix,mcc-ribbon-hystrix,mcc-ribbon-hystrix-propagating
  clusterNameExpression: "'default'"

 

 3、TurbineApplication——Turbine入口程序

package com.lynch.consumer.turbine;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;

@SpringBootApplication
//开启Turbine支持,用来进行集群监控
@EnableTurbine
//开启Hystrix仪表盘
@EnableHystrixDashboard
public class TurbineApplication {
    public static void main(String[] args) {
        SpringApplication.run(TurbineApplication.class, args);
    }
}

 四、Turbine演示

依次开启mcc-feign-hystrix、mcc-ribbon-hystrix、mcc-ribbon-hystrix-propagating、spring-cloud-hystrix-turbine工程。

打开浏览器输入:http://localhost:8810/turbine.stream,界面如下:

 

依次多次请求:
http://localhost:8807/ribbon/get/aa

http://localhost:8808/feign1/get/aa

 

hystrix断路器生效。

打开:http://localhost:8810/hystrix/,输入监控流http://localhost:8810/turbine.stream

点击monitor stream 进入页面:

可以看到这个页面聚合了2个service的hystrix dashbord数据。

分享到:
评论

相关推荐

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

    Hystrix Dashboard 和 Turbine 是配套的监控工具,帮助开发者实时监控服务的运行状态,确保系统的稳定性和高可用性。下面将详细介绍这两个工具的功能、使用方法以及集成步骤。 **Hystrix Dashboard** Hystrix ...

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

    结合 Hystrix Dashboard,Turbine Web 可以让开发者看到整个微服务集群的综合监控视图,而不仅仅是单个实例的情况。 使用 `Hystrix-dashboard` 和 `turbine-web` 集成,你需要完成以下步骤: 1. **配置 Hystrix**...

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

    Spring Cloud 断路器集群监控(Turbine)知识点总结 在 Spring Cloud 中,断路器集群监控是指对多个服务实例的监控信息进行聚合和展示,以便更好地管理和维护分布式系统。在本文中,我们将详细介绍 Spring Cloud 断路...

    Hystrix监控异常处理集.zip

    总的来说,处理Hystrix监控异常需要对Spring Cloud Hystrix和Turbine有深入的理解,同时具备一定的排查问题和调试能力。通过本文的介绍,以及"附件"提供的资源,相信你可以顺利解决Hystrix监控异常,保障微服务架构...

    springcloud2.0+版本集成eureka注册中心、feign、zuul、ribbon、hystrix、turbine监控

    springcloud高版本的整合:包括eureka注册中心、feign、zuul、ribbon、hystrix、turbine监控,如有需要后续上传sleuth+elk、config服务集群、admin等demo,这些资源都是我亲自编写,绝对可用

    springcloud 熔断监控Hystrix Dashboard和Turbine

    Hystrix Dashboard用于单个应用的实时监控,而Turbine则负责聚合多个服务的监控信息,提供全局视图。这两个工具的使用有助于开发者及时发现和处理服务异常,提升系统的整体稳定性。在实际开发中,结合Eureka、Zuul等...

    springcloud全家桶(eureka+ribbon+feign+hystrix+turbine)

    hystrix,熔断 turbine Spring Cloud Starters 同一个服务中的多数据库支持(AOP) 全链路traceId追踪 velocity 前端模板 mybatis, pageHelper (分页), druid (连接池) redis(序列化采用的是jdk默认序列化方案) ...

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

    在微服务架构中,Hystrix Dashboard 和 Turbine 是两个重要的工具,用于监控服务的健康状态和性能。本文将深入探讨这两个组件,并结合提供的源代码,解析它们在实际项目中的应用。 **Hystrix Dashboard** Hystrix ...

    turbine-web-1.0.0.war

    hystrix turbine 服务监控 服务降级

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

    Hystrix Dashboard支持对单个服务实例以及整个服务集群的监控。 首先,为了设置Hystrix Dashboard,你需要创建一个新的模块,如`hystrix-dashboard`,并在`pom.xml`中添加必要的依赖,包括`spring-cloud-starter-...

    turbine.zip

    1. **turbine**: 这可能是一个实现Netflix Turbine的项目,Turbine是Spring Cloud的一个组件,用于聚合微服务实例的Hystrix指标,如健康状况、请求速率等,提供一个统一的监控视图。 2. **eureka-server**: Eureka是...

    SpringCloud10-2 Hystrix整合Dashboard教程

    2. **配置Hystrix**:在`application.yml`或`application.properties`中,配置Hystrix的超时时间、线程池大小等参数,以及Turbine的聚合策略,通常会设置成`cluster`模式,以便收集同一集群的服务数据。 3. **添加...

    springCloud_hystrix(断路由服务降级)

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

    Spring Cloud Hystrix

    Hystrix 提供了一个强大的监控工具——Hystrix Dashboard,用于实时展示服务的运行状况和断路器的状态。通过 Hystrix Metrics Stream,我们可以将服务的指标暴露出来,以便于监控和诊断。此外,Turbine 可以聚合多个...

    springcloud hystrix 断路由

    5. **启用监控**:引入 Hystrix Dashboard 和 Turbine,配置监控端点,并在浏览器中访问监控界面查看服务状态。 在 `SpringCloudDemo-Hystrix` 压缩包中,通常包含了示例代码,演示了如何在 Spring Boot 应用中配置...

    SpringCloud turbine监控实现过程解析

    Turbine 可以与 Hystrix、Eureka 等组件集成,提供了更加全面的监控功能。 pom.xml 文件解析 在 pom.xml 文件中,我们可以看到以下关键依赖项: * `spring-cloud-starter-netflix-hystrix-dashboard`:依赖 ...

    spring-cloud-netflix-hystrix应用

    6. **集成监控**:集成Hystrix Dashboard和Turbine,实现对Hystrix指标的可视化监控。 通过以上步骤,我们可以有效地利用Spring Cloud Netflix Hystrix构建一个健壮的微服务架构,增强系统的容错性,确保在面临高...

    Turbine-Demo

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

    spring-cloud-netflix-hystrix原理.rar

    这些数据可以通过 Hystrix Dashboard 和 Turbine 集中展示,帮助开发者实时了解服务的健康状况,及时发现和解决问题。 四、Hystrix 在 Spring Cloud 中的应用 在 Spring Cloud 中,Hystrix 可以轻松集成到微服务...

Global site tag (gtag.js) - Google Analytics