博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
服务容错保护断路器Hystrix之四:断路器监控(Hystrix Dashboard)-turbine集群监控
阅读量:6496 次
发布时间:2019-06-24

本文共 3953 字,大约阅读时间需要 13 分钟。

turbine 英[ˈtɜ:baɪn] n. 汽轮机; 涡轮机; 透平机;

OK,上文我们看了一个监控单体应用的例子,在实际应用中,我们要监控的应用往往是一个集群,这个时候我们就得采取Turbine集群监控了。Turbine有一个重要的功能就是汇聚监控信息,并将汇聚到的监控信息提供给Hystrix Dashboard来集中展示和监控。那我们就来看看Turbine集群监控如何使用。本文通过引入Turbine来聚合ribbon-consumer服务的监控信息,并输出给hystrix dashboard来进行展示。

先上部署拓扑图:

构建turbine项目:

1、添加依赖,pom文件:主要是:spring-cloud-starter-turbine和spring-boot-starter-actuator

4.0.0
com.dxz.turbine
turbine
0.0.1-SNAPSHOT
jar
hystrix-dashboard
dashboard project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
1.3.5.RELEASE
UTF-8
1.8
org.springframework.cloud
spring-cloud-starter-turbine
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-test
test
org.springframework.cloud
spring-cloud-starter-parent
Brixton.SR3
pom
import
org.springframework.boot
spring-boot-maven-plugin

2、添加注解

启动类TurbineApplication

package com.dxz.turbine;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;import org.springframework.cloud.netflix.turbine.EnableTurbine;@EnableTurbine@EnableDiscoveryClient@SpringBootApplicationpublic class TurbineApplication {    public static void main(String[] args) {        SpringApplication.run(TurbineApplication.class, args);    }}

3、修改配置   配置信息

spring.application.name=turbineserver.port=2260management.port=8990eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/turbine.app-config=ribbon-consumerturbine.cluster-name-expression="default"turbine.combine-host-port=true

其中说明:

1.turbine.app-config=ribbon-consumer指定了要监控的应用名字为ribbon-consumer 2.turbine.cluster-name-expression="default",表示集群的名字为default 3.turbine.combine-host-port=true表示同一主机上的服务通过host和port的组合来进行区分,默认情况下是使用host来区分,这样会使本地调试有问题

查看监控图

OK,监控服务创建成功之后,我们再次依次启动eureka-server、provider和consumer,其中consumer启动两个实例,两个实例的端口不一致,再分别启动hystrix-dashboard和turbine,

启动turbine项目,

http://127.0.0.1:2260/turbine.stream

将http://127.0.0.1:2260/turbine.stream填入dashboard里,

然后在hystrix监控地址栏输入如下地址(监控之前要记得先访问一下服务中的任意一个接口):,访问结果如下:

结果:小伙伴们可以看到,集群下的主机报告一栏显示已经有所不同了。

 与消息代理结合

 

 详细见《spring cloud微服务实战》

2.2 turbine AMQP

在某些环境中(如在PaaS),典型的turbine模型的指标从所有分布式Hystrix命令不起作用。在这种情况下,你可能想要你Hystrix命令推动指标turbine,和spring cloud,就要使用AMQP消息传递。所有您需要做的是在客户端添加一个依赖spring-cloud-netflix-hystrix-amqp并确保代rabbitmq可用。(有关详细信息,请参阅弹簧引导文档如何配置客户端凭据,但它应该工作的当地代理或云计算)。

转载地址:http://vrkyo.baihongyu.com/

你可能感兴趣的文章
ORACLE 11G静默安装配置分解
查看>>
为什么大家不相信国产虚拟化技术?
查看>>
华为首提“业务驱动基础架构”(SDI)
查看>>
Word2010使用技巧之一:熟悉功能区
查看>>
Citrix XenDektop 7 实施十 创建License Server
查看>>
RookeyFrame 通用页面 加载数据 原理
查看>>
hbuilder APP服务器端(C#)推送
查看>>
统计c盘的PE文件的个数 (遍历所有文件)
查看>>
大白话Vue源码系列目录
查看>>
EffectKeyMap系列1(Ubuntu)
查看>>
iOS手势
查看>>
Webpack源码基础-Tapable从使用Hook到源码解析
查看>>
【转载】NBU异机恢复oracle
查看>>
魅族mx5详细打开usb调试模式的步骤
查看>>
php里关于文件下载的方法(两种)
查看>>
数据绑定(数据源控件 -- ObjectDataSource)
查看>>
微信点单
查看>>
selenium操作页面元素总结
查看>>
vim 命令
查看>>
Ubuntu 16.04 LTS安装sogou输入法详解
查看>>