使用Turbine对集群进行监控

为何要使用Turbine

Turbine是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个节点,实际生产中都为集群,所以能够经过turbine来监控集群下hystrix的metrics状况,经过eureka来发现hystrix服务。spring

如何使用Turbine

前提

新建一个springboot项目springboot-turbinespringboot

引入Turbine

pom.xml:服务器

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

修改启动类

在启动类上加上注解@EnableTurbineapp

配置yml配置文件

server: 
  port: 8010


spring:
    application:
      name: xing-turbine #指定服务名
turbine:
  aggregator:
    clusterConfig: default # 指定聚合哪些集群,多个使用","分割,默认为default。
  appConfig: XING-MOVIE # 配置Eureka中的serviceId列表,代表监控哪些服务
  clusterNameExpression: new String("default")   
          
eureka:
  client:
    registerWithEureka: true #是否将本身注册到Eureka服务中,默认为true
    fetchRegistry:  true  #是否从Eureka中获取注册信息,默认为true
    serviceUrl: #Eureka客户端与Eureka服务端进行交互的地址
      defaultZone: http://xing-eurekaServer:8090/eureka/
    eurekaServerConnectTimeoutSeconds: 60
    eurekaServerReadTimeoutSeconds: 60
  instance:
    prefer-ip-address: true  #将本身的ip地址注册到Eureka服务中
    ip-address: 127.0.0.1
    instance-id: xing-turbine:8010 #指定实例id
    lease-expiration-duration-in-seconds: 30 #续约更新时间间隔(默认30秒)
    lease-renewal-interval-in-seconds: 10 # 续约到期时间(默认90秒)
    leaseRenewalIntervalInSeconds: 10 #心跳时间
hostname: xing-turbine 

查看Turbine

启动项目,访问http://127.0.0.7:8010/turbine.stream 会看到以下图相似的界面spring-boot

   

 

接着访问http://127.0.0.1:8081/hystrix ,这是使用了hystrix的电影服务出现Hystrix Dashboard的界面工具

  

以后会看到这个界面fetch

相关文章
相关标签/搜索