SpringCloud系列(35)--使用HystrixDashboard進行服務監控

前言:在上一節中我們使用了Hystrix進行服務熔斷處理,至此關于Hystrix的使用到此為止,本節內容關注的是如何使用HystrixDashboard對調用進行監控。

1、HystrixDashboard概述

Hystrix提供的準實時的調用監控(HystrixDashboard),Hystrix會持續地記錄所有通過Hystrix發起的請求的執行信息,并以統計報表和圖形的形式展示給用戶,包括每秒執行多少請求多少成功,多少失敗等。Netflix通過hystrix-metrics-event-stream項目實現了對以上指標的監控。SpringCloud也提供了HystrixDashboard的整合,對監控內容轉化成可視化界面。
?

2、創建一個監控程序模塊,命名為cloud-consumer-hystrix-dashboard9001
(1)在父工程下新建模塊

?(2)選擇模塊的項目類型為Maven并選擇模塊要使用的JDK版本

(3)填寫子模塊的名稱,然后點完成即可完成創建

效果圖:

3、修改cloud-consumer-hystrix-dashboard9001子模塊的pom.xml文件,然后reolad一下,下載依賴

例:

<?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"><parent><artifactId>springcloud01</artifactId><groupId>com.ken.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-consumer-hystrix-dashboard9001</artifactId><dependencies><!--hystrix dashboard--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId></dependency><!--監控--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--熱部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!--lombok插件--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>
</project>

4、為cloud-consumer-hystrix-dashboard9001子模塊添加名為application的yml配置文件(注:yml是官方推薦的配置文件格式,最好使用yml文件而不是properties文件)

效果圖:

5、修改application.yml文件配置
server:port: 9001

6、為cloud-consumer-hystrix-dashboard9001子模塊新建一個主啟動類,類名輸入com.ken.springcloud.HystrixDashboardMain9001,然后創建即可

效果圖:

7、編寫HystrixDashboardMain9001啟動類
package com.ken.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;@SpringBootApplication
@EnableHystrixDashboard
public class HystrixDashboardMain9001 {public static void main(String[] args) {SpringApplication.run(HystrixDashboardMain9001.class, args);}}

8、啟動cloud-consumer-hystrix-dashboard9001項目

效果圖:

9、在瀏覽器地址欄里輸入http://localhost:9001/hystrix然后回車進入Hystrix Dashboard監控頁面

效果圖:

10、監控指定的服務,我這里選擇監控cloud-provider-hystrix-payment8001服務
(1)修改cloud-provider-hystrix-payment8001服務的主啟動類
package com.ken.springcloud;import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.Bean;@SpringBootApplication
//使用Feign,激活并開啟
@EnableEurekaClient
//開啟斷路器功能
@EnableCircuitBreaker
public class PaymentHystrixMain8001 {public static void main(String[] args) {SpringApplication.run(PaymentHystrixMain8001.class, args);}//此配置是為了服務監控而配置,與服務容錯本身無關,springcLoud升級后的坑,ServletRegistrationBean因為springboot的默認路徑不是"/hystrix.stream" ,只要在自己的項目里配置上下面的servlet就可以了@Beanpublic ServletRegistrationBean getServlet() {HystrixMetricsStreamServlet hystrixMetricsStreamServlet = new HystrixMetricsStreamServlet();ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(hystrixMetricsStreamServlet);servletRegistrationBean.setLoadOnStartup(1);servletRegistrationBean.addUrlMappings("/hystrix.stream");servletRegistrationBean.setName("HystrixMetricsStreamServlet");return servletRegistrationBean;}}
(2)先啟動eureka-server7001然后再啟動cloud-provider-hystrix-payment8001

效果圖:

(3)再次來到Hystrix Dashboard監控頁面,在對應的地方填寫上相應的信息
[1]填寫Turbine訪問地址http://localhost:8001/hystrix.stream
[2]Delay填寫2000
[3]Title填寫Test

例:

(4)點擊按鈕開始監控cloud-provider-hystrix-payment8001服務

效果圖:

注:這里一開始是空白的,開始沒有請求的話會一直顯示Loading,不用擔心,不是程序問題

11、 查看請求正常的情況下斷路器的狀態

在瀏覽器的地址欄里連續多次的輸入http://localhost:8001/payment/circuit/1,調用接口后返回到HystrixDashboard的頁面監控cloud-provider-hystrix-payment8001服務的狀態

例:

?

可以看出在請求正常的情況下斷路器的狀態是CLOSED

?

12、根據圖形化界面判斷服務、請求的狀態
(1)根據右邊對應狀態的7種顏色可以在左邊看出對應狀態下的請求次數

每個狀態都對應著一個顏色,可以通過顏色在界面左邊的那對數字那里看出對應請求狀態的出現次數

(2)根據左邊的實心圓判斷實例的健康程度、請求數量

實心圓共有兩種含義,其一是通過顏色的變化代表了實例的健康程度,它的健康度從綠色<黃色<橙色<紅色遞減;其二是實心圓的大小也會根據實例的請求流量發生變化,流量越大該實心圓就越大,所以通過觀察實心圓的變化,就可以在大量的實例中快速的發現故障實例和高壓力實例。

綠色:

紅色:

(3)根據左邊的曲線判斷流量的情況

曲線記錄了2分鐘內流量的相對變化,可以通過它來觀察到流量的上升和下降趨勢。

(4)圖形化化頁面匯總說明

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/86759.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/86759.shtml
英文地址,請注明出處:http://en.pswp.cn/web/86759.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

爬蟲簡單實操2——以貼吧為例爬取“某吧”前10頁的網頁代碼

需求是將貼吧的【某個吧】里面【n頁】的網頁代碼爬取下來&#xff0c;保存至本地 首先我們要思考這個貼吧爬蟲的框架&#xff0c;要有方法可以構造url列表&#xff08;就可以一次獲取多個url&#xff09;&#xff0c;能請求獲取相應&#xff0c;能把html保存到本地。 import …

webpack5 css-loader 配置項中的modules

在 Webpack 的 css-loader 中&#xff0c;modules 選項是一個核心配置&#xff0c;它直接關系到 CSS 的模塊化處理方式。下面從概念、原理、使用場景和實踐技巧四個方面詳細解析&#xff1a; 概念解析&#xff1a;CSS Modules 是什么&#xff1f; CSS Modules 是一種讓 CSS 類…

springboot+Vue駕校管理系統

概述 基于springbootVue開發的駕校管理系統。該系統采用主流技術棧開發&#xff0c;功能完善&#xff0c;既包含用戶端便捷的操作界面&#xff0c;又具備強大的后臺管理功能。 主要內容 一、用戶端功能模塊 ??核心功能導航??&#xff1a; 首頁展示駕校推薦信息及最新動態…

#華為鯤鵬#華為計算#鯤鵬開發者計劃2025#

#華為鯤鵬#華為計算#鯤鵬開發者計劃2025# <新版開發者計劃>的內容鏈接&#xff1a;鯤鵬開發者計劃2025-鯤鵬社區 通過學習畢昇編譯器整體介紹&#xff0c;以及安裝使用流程、新增特性、調優工具的使用及相關指導文件獲取&#xff0c;對畢異編譯器有了更深的認識。 我剛…

小程序學習筆記:聲明式導航的多種玩法

在小程序開發中&#xff0c;頁面導航是實現用戶流暢交互體驗的關鍵環節。今天&#xff0c;咱們就一起來深入學習小程序里通過聲明式導航實現頁面跳轉、切換 tab 頁、后退等功能的技巧&#xff0c;還會附上詳細代碼示例&#xff0c;讓大家輕松掌握&#xff01; 一、什么是頁面導…

Linux中《動/靜態庫原理》

目錄 目標文件ELF文件ELF從形成到加載輪廓ELF形成可執行readelf命令ELF可執行文件加載 理解連接與加載靜態鏈接ELF加載與進程地址空間虛擬地址/邏輯地址 重新理解進程虛擬地址空間 動態鏈接與動態庫加載進程如何看到動態庫進程間如何共享庫的動態鏈接動態鏈接到底是如何工作的&…

Android大圖加載優化:BitmapRegionDecoder深度解析與實戰

在移動端開發中&#xff0c;超大圖片加載一直是性能優化的難點。本文將深入剖析BitmapRegionDecoder原理&#xff0c;提供完整Kotlin實現方案&#xff0c;并分享性能調優技巧。 一、為什么需要大圖加載優化&#xff1f; 典型場景&#xff1a; 醫療影像&#xff1a;2000015000…

基于ApachePOI實現高德POI分類快速導入PostgreSQL數據庫實戰

目錄 前言 一、高德POI分類簡介 1、數據表格 2、分類結構 二、從Excel導入到Postgresql 1、Excel解析流程 2、Mybatis批量導入 3、數據入庫 三、總結 前言 在大數據與地理信息深度交融的當下&#xff0c;地理信息系統&#xff08;GIS&#xff09;的觸角已延伸至各個領域…

如何打造Apache Top-Level開源時序數據庫IoTDB

引言 數據與時間結合后&#xff0c;便擁有了生命。在金融、系統日志、工業產線和智能設備等領域&#xff0c;時序數據每毫秒都在不斷產生。管理這些海量時序數據需要專業的數據庫系統。時序數據庫產品正逐漸受到市場的關注&#xff0c;本文將分享如何通過開源的方式&#xff0…

高并發內存池實戰指南

項目源碼&#xff1a;https://gitee.com/kkkred/thread-caching-malloc 目錄 一、脫離new&#xff1a;高并發內存池如何替代傳統動態分配 1.1 new的痛點&#xff1a;碎片、延遲與鎖競爭 1.2 高并發內存池的替代方案&#xff1a;分層預分配無鎖管理 二、大內存&#xff08;…

基于springboot+vue的數字科技風險報告管理系統

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7數據庫工具&#xff1a;Navicat12開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.3.9 系統展示 管理員登錄 管理…

實戰篇----利用 LangChain 和 BERT 用于命名實體識別-----完整代碼

上一篇文章講解了Langchain,實現一個簡單的demo,結合利用 LangChain 和 BERT 用于命名實體識別。 一、命名實體識別模型訓練(bert+CRF) bert作為我們的預訓練模型(用于將輸入文本轉換為特征向量),CRF作為我們的條件隨機場(將嵌入特征轉為標簽),既然要訓練,那么我們的損失函…

現代 C++ 容器深度解析及實踐

一、線性容器&#xff1a;std::array 與 std::forward_list 1. std::array&#xff1a;固定大小的高效容器 在傳統 C 中&#xff0c;數組與 vector 的抉擇常讓人糾結&#xff1a;數組缺乏安全檢查&#xff0c;vector 存在動態擴容開銷。C11 引入的std::array完美平衡了兩者優…

數據集|豬姿態檢測PigBehaviorRecognitionDataset

數據集|豬姿態檢測PigBehaviorRecognitionDataset 一、數據集介紹1.1 介紹1.2 用途1.3 數據集統計 二、樣本類別介紹1. Lying&#xff08;躺臥&#xff09;2. Sleeping&#xff08;睡眠&#xff09;3. Investigating&#xff08;探索&#xff09;4. Eating&#xff08;進食&…

Vue-13-前端框架Vue之應用基礎路由器的使用步驟

文章目錄 1 路由和路由器2 基本切換效果2.1 App.vue(根組件)2.2 components(子組件)2.2.1 Home.vue(首頁)2.2.2 News.vue(新聞)2.2.3 About.vue(關于)2.3 路由器2.3.1 router/index.ts2.3.2 main.ts2.4 效果展示2.5 程序流程3 筆記3.1 路由組件和一般組件3.1.1 Header.vue(一般…

GaussDB實例級自動備份策略:構建數據安全的“自動防護網”

GaussDB實例級自動備份策略&#xff1a;構建數據安全的“自動防護網” 在數字化轉型的浪潮中&#xff0c;數據庫作為企業核心數據的載體&#xff0c;其安全性與可恢復性直接關系到業務的連續性。對于分布式數據庫GaussDB而言&#xff0c;實例級自動備份策略是保障數據安全的關…

推薦幾本關于網絡安全的書

對于網絡安全從業者、相關專業學生以及對網絡安全感興趣的人士而言&#xff0c;掌握扎實的網絡安全知識和技能至關重要。以下推薦的幾本網絡安全書籍&#xff0c;涵蓋了網絡安全領域的多個重要方面&#xff0c;是學習和研究網絡安全的優質參考資料。 1、攻擊網絡協議&#xff…

工業4.0浪潮下PROFIBUS DP轉ETHERNET/IP在軋鋼廠的創新實踐

在工業自動化4.0推動制造業向智能化升級的背景下&#xff0c;軋鋼廠生產對設備互聯與數據協同提出更高要求。PROFIBUS DP與ETHERNET/IP協議的特性差異&#xff0c;制約著西門子PLC與工業測距儀等設備的高效協作。通過協議轉換技術實現兩者互通&#xff0c;為軋鋼生產線注入智能…

從0開始學習R語言--Day31--概率圖模型

在探究變量之間的相關性時&#xff0c;由于并不是每次分析數據時所用的樣本集都能囊括所有的情況&#xff0c;所以單純從樣本集去下判斷會有武斷的嫌疑&#xff1b;同樣的&#xff0c;我們有時候也想要在數據樣本不夠全面時就能對結果有個大概的了解。 例如醫生在給患者做診斷…

微信小程序進度條progress支持漸變色

微信小程序自帶進度條progress支持漸變色代碼 .wx-progress-inner-bar {border-radius: 8rpx !important;background: linear-gradient(90deg, #FFD26E 8%, #ED0700 100%) !important; }<view class"progress-box"><progress percent"80" back…