<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 3662字,需瀏覽 8分鐘

           ·

          2021-08-09 02:31

          前言

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

          今天我們補(bǔ)充的內(nèi)容主要是關(guān)于Hystrix監(jiān)控面板的,這一塊雖然不算核心內(nèi)容,但是也比較重要。好了,下面我們直接開(kā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)情況下是沒(méi)有這個(gè)依賴的,這個(gè)依賴主要是為了監(jiān)控spring boot服務(wù)的監(jiān)控狀況。

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

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

          項(xiàng)目配置

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

          @SpringBootApplication
          @EnableHystrixDashboard
          public class SpringCloudHystrixDashboardDemoApplication {

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

          }

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

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

          http://localhost:9991/hystrix

          頁(yè)面效果如下

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

          服務(wù)地址

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

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

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

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

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

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

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

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

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

          標(biāo)題

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

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

          擴(kuò)展

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

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

          踩坑

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

          提示Unable to connect to Command Metric Stream

          如果訪問(wèn)之后,你的頁(yè)面有如下提示:

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

          404錯(cuò)誤

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

          如果檢查完,發(fā)現(xiàn)地址也沒(méi)有問(wè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)有如下提示信息,表面你沒(méi)有配置允許訪問(wèn)熔斷監(jiān)控頁(yè)面的地址:

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

          hystrix.dashboard.proxy-stream-allow-list= localhost
          頁(yè)面一直Loading

          如果一直如下顯示,這是因?yàn)槟愕姆?wù)一直沒(méi)有被訪問(wèn),所以沒(méi)有監(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è)賮?lái)剖析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è)倉(cāng)庫(kù)下,目前已經(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)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  麻豆传媒在线观看视频 | 欧美A片网 | 久久免费视频,久久免费视频 | 97国产精品视频人人做人人爱 | 音影先锋一区二区 |