Hystrix 监控
1 添加依赖
spring-cloud- starter-hystrix 依赖,
spring-boot-starter-actuator依赖(能够让hystrix-stream 端点获取到Hystrix 的监控数据)
2 启动服务
启动服务后,在浏览器中输入http : //locaohost:8080/hystrix.stream 可以看到页面会重复输出一些统计数据(注: 需要先尝试访问所提供的服务才会有这些数据输出〉。至于这些数据到底是什么,这里就不一一解析了, 因为Hystrix 还为我们
提供了一个可视化界面来查看这些数据。
3 Hystrix 仪表盘
- 在pom. xml 中增加下面的依赖,代码如下
《dependency》
《groupid》org.springframework.cloud《/groupid》
《artifactid》spring cloud-starter-hystrix -dashboard《/artifactId》
《/dependency》
- 主启动类中增加入 @EnableHystrixDashboard 注解
- 在浏览器中输入http://llocalhost:2200/hystrix
- 在界面中输入之前的地址http://localhost:2200/hystrix.stream ,单击Monitor Stream 按钮,就可以看到统计报表页面。
- 图形介绍:
实心圆:包含两个含义,颜色表示实例的健康程度,健康程度从绿色、黄色、橙色、
红色递减; 大小则根据请求流量的大小发生变化,流量越大则实心圆越大,反之则
越小。
曲线:统计了2 分钟内的请求流量的变化,通过该曲线可以对流量进行上升和下降
的趋势分析。 - Dashboard 首页时,我们知道Hystrix Dashboard 支持3 种监控方式。
1 默认集群监控:地址是http://[turbine-hostname:port] /turbine. stream ,可以开启实现
对默认集群的监控:
2 指定集群监控:地址是http://[turbine-hostname:port]/trrbine.stream? cluster=[ cluster
Name],可以开启对指定clusterName 集群的监控;
3 单机应用监控:地址是http://[hystrix-app:port]/hystrix.由earn ,可以开启对某个服务
实例的监控。
Q 注意:以上地址中中括号部分的内容,需要替换为具体部署后的地址才可以访问。
4 Turbine 仪表盘集群监控
Turbine 是一个应用程序服务器,对集群进行监控。汇集相应服务器的/hystrix.stream端点到/turbine.stream,然后用于Hystrix 仪表盘分析展现
-
搭建Turbine 服务器
-
启动类注解
在启动类中加入@E nableTurbine 注解,用以启动Turbine 服务 -
编写配置文件
Turbine 服务器配置内容如下:
server .port=8280
management.port=8281
spring.application.name=TURBINE
eureka.client.service-url.defaultZone=http : //localhost : 8260/eureka
#配置需要监控的微服务的服务名称。
turbine.app-config=PRODUCTSERVICE
#该参数可以在Hystrix 的Dashboard 中定位不同的服务集群,这里设置为default
turbine.cluster-name-expression= "default ”
#配置为True , 表示对于同一个服务器中的服务可以通过端口区分为不同的服务示例。
turbine.combine-host-port=true
logging.level.org.springframework=INFO -
启动井通过Turbine 进行监控
• 依次启动EurekaServer 、UserService 、ProductService 和Turbine-Server
• 开启对http://localhost: 8280/turbine.stream 的监控