Turbine是HystrixDashboard的聚合展示,它可以通过配置,实现多个服务的监控以及同一服务多台实例的聚合报告。下面使用Turbine监控Provider服务和Consumer服务的运行情况。
(1)创建工程
新建一个工程,工程名为SpringCloudTurbine,其他配置遵循前面介绍的Spring Boot工程的配置方法即可。
(2)添加依赖
由于Turbine需要监控各个服务,所以它需要连接到Eureka上,同时还要引入Turbine的功能组件;为了有显示页面,还要有hystrix-dashboard依赖。
(3)启动类添加注解
在启动类中开启Eureka、HystrixDashborad和Turbine。
@EnableEurekaClient
@EnableTurbine
@EnableHystrixDashboard
(4)服务监控分组
在Consumer和Provider服务的配置文件中,eureka.instance路径下,添加matadata- map.cluster配置,把应用服务加入一个监控组,具体如下:
(5)Turbine配置(www.xing528.com)
在Turbine服务中,除了配置常规的端口、名字,还要配置Eureka和Turbine特有的配置。其中turbine.app-config配置要监控的服务名;turbine.aggregator.clusterConfig配置可选分组;turbine.clusterNameExpression会根据页面参数传入的分组进行不同的分组监控;turbine.combine- host-port为true表示根据host和port进行实例区分。
(6)页面展示
打开turbine服务部署地址的Hystrix Dashboard页面,即47.95.113.117:18030/hystrix;在页面中输入turbine数据流地址和监控的分组,如图9-18所示。
图9-18 Turbine配置
由于使用浏览器打开的是Turbine服务自己的链接地址,所以在输入数据流时,使用的是本机的IP地址,并且设定分组为main,输入框具体输入的地址为http://127.0.0.1:18030/turbine. stream?cluster=main,进入后可以看到监控页面,如图9-19所示。
图9-19 服务聚合监控
可见,两个服务的监控数据已经聚合,并且由于provider启动的是两个实例,所以在图中provider-getuser接口显示的Hosts数为2。
(7)多分组监控
Turbine的多分组设置相对简单,只要在被监控的不同实例中配置不同的分组名,然后在Turbine服务的clusterConfig配置项中配置要监控的分组列表,中间通过逗号隔开;在Dashboard页面中,用cluster选择不同的分组即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。