1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        整合spring-cloud-Hystrix監(jiān)控面板

        共 3662字,需瀏覽 8分鐘

         ·

        2021-08-09 02:31

        前言

        昨天我們分享了Hystrix熔斷的相關(guān)知識(shí)點(diǎn),但由于時(shí)間的關(guān)系,還有一些基礎(chǔ)內(nèi)容沒有來得及分享,今天我們花一點(diǎn)時(shí)間補(bǔ)充下。

        今天我們補(bǔ)充的內(nèi)容主要是關(guān)于Hystrix監(jiān)控面板的,這一塊雖然不算核心內(nèi)容,但是也比較重要。好了,下面我們直接開始吧。

        Hystrix控制面板

        首先你需要?jiǎng)?chuàng)建一個(gè)spring-boot項(xiàng)目,或者用我們之前的項(xiàng)目也可以,然后添加hystrix-dashboard相關(guān)依賴。

        依賴

        依賴文件也比較少,就一個(gè)pom依賴

         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
             <version>2.2.9.RELEASE</version>
        </dependency>

        但是你需要在斷路器服務(wù)中添加actuator依賴,默認(rèn)情況下是沒有這個(gè)依賴的,這個(gè)依賴主要是為了監(jiān)控spring boot服務(wù)的監(jiān)控狀況。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        如果這個(gè)包添加成功后,訪問服務(wù)的/actuator,應(yīng)該是有數(shù)據(jù)正常返回的:

        項(xiàng)目配置

        添加完依賴之后,我們還需要進(jìn)行一些簡單配置,才能啟用HystrixDashboard,不過啟用的方式很簡單,你只需要在項(xiàng)目主入口類加上@EnableHystrixDashboard注解即可,這種配置方式也算是Spring-boot配置的常規(guī)操作了。

        @SpringBootApplication
        @EnableHystrixDashboard
        public class SpringCloudHystrixDashboardDemoApplication {

            public static void main(String[] args) {
                SpringApplication.run(SpringCloudHystrixDashboardDemoApplication.classargs);
            }

        }

        添加監(jiān)控服務(wù)

        以上配置工作完成后,訪問如下地址即可訪問熔斷器管理頁面

        http://localhost:9991/hystrix

        頁面效果如下

        然后我們需要在頁面上配置我們需要訪問的服務(wù),下面我們簡單介紹下Hystrix Dashboard的簡單用法。

        服務(wù)地址

        開始之前我們先介紹下頁面上的文字描述,這些提示信息主要是告訴我們地址欄如何輸入的,第一行提示的意思是,如果我們要訪問Turbine默認(rèn)集群的話,訪問地址如下:

        https://turbine-hostname:port/turbine.stream

        第二行提示的意思是,如果我們要訪問指定turbine集群的話,訪問地址如下:

        https://turbine-hostname:port/turbine.stream?cluster=[clusterName]

        最后一行的意思是如果我們要訪問單節(jié)點(diǎn)的Hystrix服務(wù)的話,訪問地址如下:

        https://hystrix-app:port/actuator/hystrix.stream

        這里簡單介紹下,turbineNetflix提供了一個(gè)開源項(xiàng)目,主要是為了方便我們把多個(gè)hystrix.stream的內(nèi)容聚合為一個(gè)數(shù)據(jù)源供Dashboard展示。我們這里只是一個(gè)單點(diǎn)Hystrix,所以地址欄直接填寫第三個(gè)地址就可以了:

        http://localhost:9991/actuator/hystrix.stream
        刷新時(shí)間

        頁面上的Delay就是請(qǐng)求間隔時(shí)間,單位是ms,時(shí)間間隔越小,數(shù)據(jù)越詳細(xì),但是被監(jiān)控的服務(wù)請(qǐng)求壓力也越大

        標(biāo)題

        頁面上的Title設(shè)置的是我們監(jiān)控頁面顯示的標(biāo)題,這個(gè)可以根據(jù)自己的情況填寫

        填寫完成后,直接點(diǎn)擊底下Monitor Stream按鈕就可進(jìn)入監(jiān)控頁:

        擴(kuò)展

        我用瀏覽器訪問了下我們剛剛輸入的監(jiān)控地址,發(fā)現(xiàn)它的請(qǐng)求方式就是text/event-stream,也就是webflux,這也是webflux最典型的應(yīng)用場景。

        這也表面,如果你覺得hystrix-dashboard面板做的丑的話,你是可以自定義監(jiān)控頁面的,直接調(diào)用actuator/hystrix.stream接口即可。

        踩坑

        這里是可能遇到的問題,也算是我踩坑過程的一些記錄,如果遇到問題,可以參考解決。

        提示Unable to connect to Command Metric Stream

        如果訪問之后,你的頁面有如下提示:

        這時(shí)候你需要先看下后端控制臺(tái)提示信息

        404錯(cuò)誤

        這個(gè)錯(cuò)誤通常是因?yàn)槟愕谋O(jiān)控地址填寫不正確,好好檢查下應(yīng)該就可以解決

        如果檢查完,發(fā)現(xiàn)地址也沒有問題,那應(yīng)該是因?yàn)閿嗦菲鞣?wù)未添加actuator的依賴導(dǎo)致的,你只需要添加下面的依賴即可:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        后臺(tái)提示is not in the allowed

        如果控制臺(tái)有如下提示信息,表面你沒有配置允許訪問熔斷監(jiān)控頁面的地址:

        你只需要在你的hystrix-dashBoard配置文件中添加如下配置即可:

        hystrix.dashboard.proxy-stream-allow-list= localhost
        頁面一直Loading

        如果一直如下顯示,這是因?yàn)槟愕姆?wù)一直沒有被訪問,所以沒有監(jiān)控?cái)?shù)據(jù)

        只要你調(diào)用一下服務(wù)中用到斷路器的接口,就會(huì)看到監(jiān)控?cái)?shù)據(jù):

        總結(jié)

        好了,hystrix相關(guān)的知識(shí)點(diǎn)暫時(shí)就分享到這里,后面有機(jī)會(huì)的話,我們?cè)賮砥饰?code style="overflow-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(255, 100, 65);">hystrix的其他相關(guān)知識(shí)。

        最近這幾天一直忘記分享demo項(xiàng)目的地址了,今天一并發(fā)出,有興趣的小伙伴可以去看下:

        • spring-cloud之服務(wù)治理組件Eureka

          https://github.com/Syske/learning-dome-code/tree/dev/spring-cloud-eureka-demo
        • spring-cloud服務(wù)治理組件Eureka客戶端(包括feignribbon兩種)

          https://github.com/Syske/learning-dome-code/tree/dev/spring-cloud-client-demo
        • spring-cloud整合hystrix斷路器

          https://github.com/Syske/learning-dome-code/tree/dev/Spring-cloud-hystrix-demo
        • spring-cloud整合hystrix監(jiān)控面板

          https://github.com/Syske/learning-dome-code/tree/dev/spring-cloud-hystrix-dashboard-demo

        有興趣的小伙伴可以關(guān)注下這個(gè)項(xiàng)目,我所有的學(xué)習(xí)demo都在,之前推送到的內(nèi)容相關(guān)代碼也存在這個(gè)倉庫下,目前已經(jīng)有60多個(gè)項(xiàng)目,還在持續(xù)更新

        • 項(xiàng)目地址

          https://github.com/Syske/learning-dome-code
        • 項(xiàng)目截圖

        - END -


        瀏覽 33
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            av在线麻豆 | 狠狠狠狠狠狠狠狠 | 日韩av高清无码 中国婬乱a一级毛多女 | 韩日毛片 | 久久久99国产精品免费 | 8050午夜无码一区二区三区 | 人体艺术香蕉视频 | 欧美性猛交XXXX乱大交蜜桃 | 精品国产乱码久久久久久天美 | jlzz国产丝袜18老师女人 |