使用HystrixDashboard进行监控一直处于Loading状态解决(转载)
SpringCloud Hystrix dashboard2.2.3踩到的坑
小伙伴们,好久不见,我最近学SpringCloud的时候,使用HystrixDashboard插件时候,遇到了许多的坑,今天特地总结了一下,分享给大家,希望大家遇到的时候,能够快速解决,就不用像我一样,傻傻的浪费了大半天时间…
好了,废话不多说,开始今天的干货分享。
相信使用Hystrix与dashboard2.2.3的时候会遇到一下几个问题
1.界面不能成功加载
如上图,插件一直处于Loading状态,我当时傻傻等了许久,后来想着使用浏览器的F12查看是否有异常,结果好家伙,果真报错了,因为我们这个插件的页面使用的是HTML+JQuery等组件写的,很明显,这个组件报的是JQuery的错误,意思是说,js代码里monitor的load方法过时了,过时了怎么办,找个更加新的呗,没错,这个时候我们就得去找Hystrixdashboard的源代码了,去改源代码里的load方法
我们首先先去到我们的Maven仓库,
我们的Maven仓库路径\org\springframework\cloud\spring-cloud-netflix-hystrix-dashboard\2.2.3.RELEASE
- 1
就到了我们Hystrixdashboard存放源码的根目录下了
如图
那个jar文件就是我们的源码,这里有注意一点,如果jar包才10几kb,那就证明此源码不全面,那要怎么办呢,我们就彻底把它源码下下来,怎么下,看下图
首先跟进去我们的@EnableHystrixDashBoard注解,注意,只要是hystrixdashboard包的就可以
然后我们就会发现,右上角,有个Download Sources 意思为下载所有源码 ,点击下载稍等一会就可以了
下载完回到Maven地址,将spring-cloud-netflix-hystrix-dashboard-2.2.3.RELEASE.jar解压
目录结构如下:
选择templates(模板)
再选择hystrix
看到了,我们刚刚报错的地方monitor.ftlh文件
用记事本打开或者Notepad++都可以
找到如下代码
$(window).load(function() {
- 1
更改为
$(window).on('load', function() {
- 1
注意有两处地方需要修改
保存一下退出即可,然后你可以选择,把原本jar包的monitor.ftlh文件
删掉,将我们修改的复制上去,也可以重新打jar,这边我们是直接删掉,复制我们修改的
2.万恶之源Unable to connect to Command Metric Stream
然后重新运行一下,你会发现可能还是报错,只不过是不一样了
说是无法连接到命令度量流
然后你会发现IDEA/Eclipse控制台多出了日志信息
Proxy opening connection to: http://localhost:8080/actuator/hystrix.stream
2020-08-01 00:18:12.230 WARN 9408 --- [nio-8080-exec-2] ashboardConfiguration\(ProxyStreamServlet : Failed opening connection to http://localhost:8080/actuator/hystrix.stream : 404 : HTTP/1.1 404
2020-08-01 00:18:12.230 WARN 9408 --- [nio-8080-exec-9] ashboardConfiguration\)ProxyStreamServlet : Failed opening connection to http://localhost:8080/actuator/hystrix.stream : 404 : HTTP/1.1 404
- 1
- 2
- 3
- 4
- 5
- 6
404!!!
然后你会想我明明没写错啊!!!
这是因为在2版本后官方使用了endpoint
所以我们需要在做熔断监控的地方,添加以下配置
以下是yml配置格式
management:
endpoints:
web:
exposure:
include: '*'
- 1
- 2
- 3
- 4
- 5
这段配置,你可以理解为,将本服务的所有请求,受到熔断监控
改完之后重新启动
见证奇迹
效果展示出来了
提示:这里还没发送对应请求时,上下都是为Loading,为什么会显示,因为我是发送完请求,才截的图
好啦,觉得今天的文章有帮助到大家的话,可以支持我一下,动动你们发财的小手,点点赞,也可以顺便给个关注,我会不定时给大家分享干货与教学