说明
Hystrix的监控只是准实时的接口的监控,如果要监控历史,就需要看sleuth这个调用链跟踪了。
#######1,pom.xml添加actuator依赖包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>
加上之后,启动,只需在根路径之后加上hystrix.stream就可以

这个json是实时的,看也看不出来什么东西,hystrix怎么能这么low呢?它肯定有一个可视化的东西,GO
#######2,Dashboard 一般是新建一个monitor项目,来监控你的业务系统
在新建的项目的pom.xml中添加:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
<version>1.4.0.RELEASE</version>
</dependency>
并在启动类上增加@EnableHystrixDashboard
浏览器访问根路径加上/hystrix


输入title,输入什么随你,点你monitor stream

访问一下,监控中里有一些数据


这里只能监控一个微服务,不太好用,接下来介绍将监控整个集群
#######3,Turbine
在pom.xml中添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-turbine</artifactId>
</dependency>
并在启动类上添加@EnableTurbine
还有一点:在application.yml中添加
turbine:
appConfig: 这里是你要监控的微服务,多个用“,”隔开,这也是spring boot的套路,要记住
clusterNameExpression: "'default'"
instanceUrlSuffix:
default: /hystrix.stream
项目启动,浏览器输入:根路径+/turbine.stream

这里就是聚合了appConfig配置的多个微服务的接口日志信息
把这个地址 根路径+/turbine.stream 放到下图

因为我appConfig就配置了一个,所以和之前的一样。
到这里应用就完了。当线上发生异常,先查调用链,再看接口是否熔断,再看ELK日志,这样就能快速定位线上问题,一般情况直接查看ELK日志,前提是日志记录的很清晰
***如果将Dashboard和Turbine放到一个项目,Dashboard就会页面就有时会出现错误,豪猪的标志出不来,还是monitor 之后,一直loading,这个需要重启项目,希望这一点能帮到困惑中的朋友
望指正,不吝赐教
网友评论