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

相關文章
相關標籤/搜索