Hystrix之Dashboard的常见问题
Hystrix Dashboard (斷路器:Hystrix 儀表盤)只監(jiān)控一個(gè)實(shí)例,而Turbine監(jiān)控多個(gè)實(shí)例,要使用Turbine必須使用Hystrix,因?yàn)門urbine是為了監(jiān)控?cái)嗦菲鞯臓顟B(tài)產(chǎn)生的。turbine.stream來(lái)聚合hystrix.stream端點(diǎn)。
1、Dashboard的實(shí)質(zhì)是將微服務(wù)訪問的API來(lái)顯示出來(lái),所以只有訪問了服務(wù)接口,Dashboard上面才會(huì)出現(xiàn)數(shù)據(jù),否則是不出現(xiàn)的。
ribbon和feign中如何使用dashboard:
參考如下連接:http://blog.csdn.net/seapeak007/article/details/77261729
2、在使用feign整合dashboard的時(shí)候,注意:Feign整合了Hystrix,但是我們還是需要添加Hystrix的依賴。
另外,在使用監(jiān)控的時(shí)候,網(wǎng)絡(luò)要好!否則根本不行!
這里重點(diǎn)看下訪問dashboard界面的url:
博客:
https://www.cnblogs.com/wangjing666/p/7049985.html
(1)查看數(shù)據(jù):
http://localhost:2345/hystrix.stream
(2)查看dashboard:
http://localhost:2345/hystrix
?
默認(rèn)是上面紅框的依賴,我們需要添加springcloud的Hystrix的依賴。
另外需要在啟動(dòng)類上面添加啟動(dòng)Hystrix的注解。
3、需要啟動(dòng)Hystix需要添加監(jiān)控依賴:
<dependency>???
??<groupId>org.springframework.boot</groupId>???
??<artifactId>spring-boot-starter-actuator</artifactId>??
</dependency>??
4、Turbine(特本)的出現(xiàn)的原因:
?
生產(chǎn)環(huán)境中服務(wù)往往是集群部署的,我們需要監(jiān)控多個(gè)服務(wù),Turbine可以做一些監(jiān)控?cái)?shù)據(jù)的聚合,監(jiān)控多個(gè)服務(wù)。
作用:匯總系統(tǒng)內(nèi)多個(gè)服務(wù)的數(shù)據(jù)并顯示到 Hystrix Dashboard 上。?
Turbine的使用:
?
寫一個(gè)Turbine的服務(wù)類,注冊(cè)到Eureka上去,
在此服務(wù)中加入依賴,加入注解,配置需要監(jiān)控的實(shí)例。
?
老版本的坑:
5、幾個(gè)概念
hystrix.stream出現(xiàn):
在引入spring-boot-starter-actuator依賴后,Spring Boot應(yīng)用會(huì)暴露出/hystrix.stream端點(diǎn)以供監(jiān)控工具讀取該應(yīng)用的Hystrix Metrics數(shù)據(jù)。
有個(gè)actuator的文章:http://blog.csdn.net/neosmith/article/details/70800663
?
這里監(jiān)控有數(shù)據(jù)之后,我們就可以在dashboard上面看到波動(dòng)。
spring-boot-starter-actuator的作用:在生產(chǎn)環(huán)境中,需要實(shí)時(shí)或定期監(jiān)控服務(wù)的可用性。spring-boot 的actuator(監(jiān)控)功能提供了很多監(jiān)控所需的接口。所以說(shuō)actuator即只要有監(jiān)控就要使用這個(gè)依賴。http://blog.csdn.net/clementad/article/details/52045495
?
Turbine的使用:
創(chuàng)建一個(gè)單獨(dú)的服務(wù),然后添加依賴:添加注解,turbine需要注冊(cè)到Eureka上面去,因?yàn)樗O(jiān)控多個(gè)服務(wù)端點(diǎn)。
依賴:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.springcloud.learning</groupId><artifactId>hystrix-turbine</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>hystrix-turbine</name><description>Demo project for Spring Boot</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.10.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Edgware.SR1</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix-dashboard</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-turbine</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
注解:
如何監(jiān)控服務(wù)呢?
1、首先查看是否有數(shù)據(jù):查看turbine端口是否有數(shù)據(jù)?
?
根據(jù)上面在配置文件中的配置添加配置即可,配置監(jiān)控服務(wù)的名稱
2、在所監(jiān)控的服務(wù)路徑上面查看hystrix的dashboard上面查看服務(wù)狀況
?
?
?結(jié)果:
如何監(jiān)控多個(gè)服務(wù)呢?
配置文件:
測(cè)試:這個(gè)時(shí)候監(jiān)控?cái)?shù)據(jù)的鏈接已經(jīng)改變:
注意這里不加后面的服務(wù)名稱了,因?yàn)樯厦媾渲媚J(rèn)了,是由多個(gè)服務(wù)列表。
查看界面圖:
?
?
?結(jié)果:
?
總結(jié)
以上是生活随笔為你收集整理的Hystrix之Dashboard的常见问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: confirm弹框修改按钮确认取消为是否
- 下一篇: 队列工厂之RabbitMQ