使用Turbine对集群进行监控
Posted xing-12
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Turbine对集群进行监控相关的知识,希望对你有一定的参考价值。
为什么要使用Turbine
T
urbine
是聚合服务器发送事件流数据的一个工具,hystrix的监控中,只能监控单个节点,实际生产中都为集群,因此可以通过turbine来监控集群下hystrix的metrics情况,通过eureka来发现hystrix服务。
如何使用Turbine
前提
新建一个springboot项目springboot-turbine
引入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>
修改启动类
在启动类上加上注解@EnableTurbine
配置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:xxxx/turbine.stream 会看到如下图类似的界面
接着访问http://127.0.0.1:xxxx/hystrix 出现Hystrix Dashboard的界面
之后会看到这个界面
以上是关于使用Turbine对集群进行监控的主要内容,如果未能解决你的问题,请参考以下文章
服务容错保护断路器Hystrix之四:turbine集群监控