java熔斷、降級、hystrix監控
一、hystrix
二、實現方式
1.通過註解實現
2.AOP實現
3.繼承方式實現
三、hystrix監控
1.單機監控
修改專案配置
1、pom.xml
<dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-core</artifactId> <version>1.4.10</version> </dependency> <dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-metrics-event-stream</artifactId> <version>1.4.10</version> </dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
說明: hystrix-core:hystrix核心介面包 hystrix-metrics-event-stream:只要客戶端連線還連著,hystrix-metrics-event-stream就會不斷的向客戶端以text/event-stream的形式推送計數結果(metrics)
2.在web.xml新增如下配置
<servlet> <display-name>HystrixMetricsStreamServlet</display-name> <servlet-name>HystrixMetricsStreamServlet</servlet-name> <servlet-class>com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HystrixMetricsStreamServlet</servlet-name> <url-pattern>/hystrix.stream</url-pattern> </servlet-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
下載hysttrix-dashboard
git clone https://github.com/kennedyoliveira/standalone-hystrix-dashboard.git
cd standalone-hystrix-dashboard
- 1
- 2
部署hystrix-dashboard
1.如果用方式一的下載方式,需要編譯進入目錄編譯
./gradlew runDashboard
- 1
2.如果用方式一的下載方式在C:\xxx\xxx\standalone-hystrix-dashboard-1.5.6\standalone-hystrix-dashboard-1.5.6\build\libs目錄下找到打好的jar包 3.將方式一下載打好的jar包或方式二下載的jar包上傳到伺服器 4.使用如下命令啟動
java -jar standalone-hystrix-dashboard-{VERSION}-all.jar
- 1
5.訪問 預設埠為7979
訪問介面檢視監控指標
監控介面引數說明
2.叢集監控
再生產環境下,一般都是部署的叢集,但是按照上面單機監控的思路去解決的話,很多指標都是針對單臺機器的,其實更多情況下我們不關注但臺機器指標,而是看hystrx相關指標是否正常,所以需要一個聚合各機器指標的地方,這個專案就是turbine。叢集hystrix指標監控的實現思路是 hysttrix-dashboard—–>turbine-web(集合監控資料)——->hystrix.stream
下載turbine-web
啟動你要監控的專案叢集
將要監控的專案叢集啟動
解壓turbine-web
下載下來的是一個war工程,可以直接修改後綴為.zip使用解壓軟體解壓,將解壓後的工程放到tomcat中的webapps目錄下。
配置聚合資訊
進入WEB-INF\classes目錄,開啟config.properties 該檔案中會配置: 1. Turbine在監控哪些叢集:turbine.aggregator.clusterConfig=cluster-1,cluster-2 2. Turbine怎樣獲取到節點的監控資訊(hystrix.stream):turbine.instanceUrlSuffix. = :/HystrixDemo/hystrix.stream 3. 叢集下有哪些節點:turbine.ConfigPropertyBasedDiscovery.cluster-1.instances=localhost:8080,localhost:8081 上面這些都是最簡單的配置方法 Turbine使用了Netflix的另一個開源專案Archaius(https://github.com/Netflix/archaius)來做配置檔案的管理,其提供了非常強大的配置檔案管理策略,有需要的同學可以深入研究(https://github.com/Netflix/Turbine/wiki/Configuration)。
啟動turbine
叢集監控方式
這樣點選monitorStream就會展示cluster-1叢集機器的彙總資料
說明:注意turbine的配置
--------------------- 本文來自 Awna 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/forwujinwei/article/details/81027245?utm_source=copy