Hystrix-Dashboard儀表盤的使用
Hystrix-Dashboard儀表盤的使用
Hystrix Dashboard,主要用來實時監控Hystrix的各項指標資訊。通過Hystrix Dashboard反饋的實時資訊,可以幫助我們快速發現系統中存在的問題。下面通過一個例子來學習。
一、新建一個Spring Cloud 專案,命名為hystrix-dashboard
1.1在pom.xml引入相關的依賴
<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.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
1.2在spring boot 的啟動類上面引入註解@EnableHystrixDashboard,啟用Hystrix Dashboard功能。
import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@EnableHystrixDashboard
@SpringCloudApplication
public class HystrixDashboardApplication {
public static void main(String[] args) {
SpringApplication.run(HystrixDashboardApplication.class, args);
}
}
1.3修改配置檔案application.properties
spring.application.name=hystrix-dashboard
server.port=2001
1.4啟動應用,然後再瀏覽器中輸入http://localhost:2001/hystrix可以看到如下介面
通過Hystrix Dashboard主頁面的文字介紹,我們可以知道,Hystrix Dashboard共支援三種不同的監控方式
☞預設的叢集監控:通過URL:http://turbine-hostname:port/turbine.stream開啟,實現對預設叢集的監控。
☞指定的叢集監控:通過URL:http://turbine-hostname:port/turbine.stream?cluster=[clusterName]開啟,實現對clusterName叢集的監控。
☞單體應用的監控:通過URL:http://hystrix-app:port/hystrix.stream開啟,實現對具體某個服務例項的監控。
☞Delay:控制伺服器上輪詢監控資訊的延遲時間,預設為2000毫秒,可以通過配置該屬性來降低客戶端的網路和CPU消耗。
☞Title:該引數可以展示合適的標題。
二、要有一個eureka-server用來提供eureka的服務註冊中心,在碼雲上有,可以作為參考。此處不再粘程式碼。
三、要有一個eureka-service來提供服務,工程名為hello-service,專案地址同上。
四、新建一個服務被監控的工程,工程名為ribbon-customer。
4.1pom.xml引入相關依賴
<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>
4.2在啟動類上新增@EnableCircuitBreaker 開啟斷路器功能
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@EnableCircuitBreaker //開啟斷路器功能
@EnableDiscoveryClient
@SpringBootApplication
public class ConsumerApplication {
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(ConsumerApplication.class, args);
}
}
4.3 RestController
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ConsumerController {
@Autowired
HelloService helloService;
@RequestMapping(value = "/ribbon-consumer", method = RequestMethod.GET)
public String helloConsumer() {
return helloService.hello();
}
}
4.4 application.properties配置檔案
spring.application.name=ribbon-consumer
server.port=9000
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=2000
通過上面的步驟,已經基本完成了準備工作,下面我們進行測試。
1.啟動eureka-server
2.啟動hello-service
3.啟動ribbon-customer
4.啟動hystrix-dashboard
5.在瀏覽器輸入http://localhost:2001/hystrix
6.在瀏覽器的新視窗輸入http://localhost:9000/ribbon-consumer
7.在Hystrix-Dashboard的主介面上輸入: http://localhost:9000/hystrix.stream然後點選 Monitor Stream按鈕
在監控的介面有兩個重要的圖形資訊:一個實心圓和一條曲線。
▪實心圓:1、通過顏色的變化代表了例項的健康程度,健康程度從綠色、黃色、橙色、紅色遞減。2、通過大小表示請求流量發生變化,流量越大該實心圓就越大。所以可以在大量的例項中快速發現故障例項和高壓例項。
▪曲線:用來記錄2分鐘內流浪的相對變化,可以通過它來觀察流量的上升和下降趨勢。
注意:當使用Hystrix Board來監控Spring Cloud Zuul構建的API閘道器時,Thread Pool資訊會一直處於Loading狀態。這是由於Zuul預設會使用訊號量來實現隔離,只有通過Hystrix配置把隔離機制改成為執行緒池的方式才能夠得以展示。
參考:
[1]《Spring Cloud微服務實戰》,翟永超
[2]部落格,純潔的微笑,http://blog.csdn.net/ityouknow/article/details/72625646
[3]部落格,尋找風口的豬
https://www.cnblogs.com/happyflyingpig/p/8372485.html
相關文章
- 儀表盤場景的前端優化前端優化
- Python pyecharts繪製儀表盤PythonEcharts
- 簡單介紹Vue使用echarts定製特殊的儀表盤VueEcharts
- 用canvas寫出ui想要的儀表盤CanvasUI
- 裝置儀器儀表盤讀數識別系統
- 開源儀表盤-Dashboard-C#/WFC#
- 過分簡單,Tabluea儀表板與Smartbi自助儀表盤製作流程分享
- react實戰系列 —— 我的儀表盤(bizcharts、antd、moment)React
- 從儀表盤探索 MongoDB 關鍵指標MongoDB指標
- C#自定義控制元件—儀表盤C#控制元件
- 教你如何透過vue實現echarts中的儀表盤VueEcharts
- win10桌面cpu儀表盤怎麼顯示_win10系統cpu儀表盤如何開啟Win10
- Android-儀表盤控制元件仿芝麻信用Android控制元件
- Grafana新手教程-實現儀表盤建立和告警推送Grafana
- dxGaugeControl雙圓環百分比儀表盤
- Tabluea、Smartbi視覺化儀表盤建立流程圖分享視覺化流程圖
- 互動方式,Smartbi儀表盤還支援動態的資料展示
- 自助儀表盤佈局不合理?空白元件來搞定!元件
- 分散式 PostgreSQL 叢集(Citus)官方示例 - 實時儀表盤分散式SQL
- k8s多節點儀表盤(web介面)部署與谷歌瀏覽器訪問k8s儀表盤問題解決!K8SWeb谷歌瀏覽器
- AI應用任何PDF轉換為互動式儀表盤AI
- 資料視覺化神器,深入解讀Smartbi自助儀表盤視覺化
- 年底了!Smartbi教你做一個好看又實用的自助儀表盤!
- 從探索式資料分析到現代 BI 儀表盤:Superset 2.0
- Android自定義view系列:手擼一個帶點兒科技感的儀表盤!AndroidView
- 使用 Cassandra、Astra 和 Stargate 構建儀表板 | baeldungAST
- 如何使用 Rancher Desktop 訪問 Traefik Proxy 儀表板
- 儀器儀表水銀價格多少錢
- Bonree ONE十大功能(第一講)|儀表盤功能詳解
- Canvas繪製一個類似老版支付寶信用分儀表盤效果Canvas
- 四步就能輕鬆GET到自助儀表盤製作Smartbi小技巧
- 上手後才知道,這套儀表盤系統用起來是真的爽!
- 適用多平臺的報表、儀表板工具2021年最新使用教程|影片教程|demo
- 使用KPI儀表板,建立完整的資訊資料生態系統KPI
- Ain't Queue 1.0.0 釋出,新增儀表盤,實時監控佇列情況AI佇列
- 企業資料監測到分析探索,Smartbi自助儀表盤都能幫你搞定!
- ZingChart繪製金融儀表板GC
- 一文告訴你Excel融合分析如何利用Smartbi實現儀表盤效果Excel