6. 使用熔斷器儀表盤監(jiān)控(Sentinel 控制臺)

Sentinel 控制臺提供一個輕量級的控制臺,它提供機(jī)器發(fā)現(xiàn)、單機(jī)資源實時監(jiān)控、集群資源匯總,以及規(guī)則管理的功能。您只需要對應(yīng)用進(jìn)行簡單的配置,就可以使用這些功能。

注意: 集群資源匯總僅支持 500 臺以下的應(yīng)用集群,有大概 1 - 2 秒的延時。

下載并打包

# 下載源碼
git clone https://github.com/alibaba/Sentinel.git

# 編譯打包
mvn clean package
注:下載依賴時間較長,請耐心等待... 錯誤不用管

啟動控制臺

Sentinel 控制臺是一個標(biāo)準(zhǔn)的 SpringBoot 應(yīng)用,以 SpringBoot 的方式運(yùn)行 jar 包即可。
// 先進(jìn)入 克隆路徑/Sentinel/sentinel-dashboard/target
cd sentinel-dashboard\target

// cmd 進(jìn)入 執(zhí)行以下指令
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
如若 8080 端口沖突,可使用 -Dserver.port=新端口 進(jìn)行設(shè)置。

訪問服務(wù)

打開瀏覽器訪問:http://localhost:8080/

配置需要在儀表盤監(jiān)聽顯示的熔斷器 (以 [Feign] 配置熔斷器為例)

application.yml 配置文件中增加如下配置:
spring:
  application:
    name: nacos-consumer-feign
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    # 該服務(wù)對應(yīng)的 sentinel 端口
    sentinel:
      transport:
        port: 8719
        # Sentinel 控制臺地址
        dashboard: localhost:8080
這里的 spring.cloud.sentinel.transport.port 端口配置會在應(yīng)用對應(yīng)的機(jī)器上啟動一個 Http Server,該 Server 會與 Sentinel 控制臺做交互。比如 Sentinel 控制臺添加了 1 個限流規(guī)則,會把規(guī)則數(shù)據(jù) push 給這個 Http Server 接收,Http Server 再將規(guī)則注冊到 Sentinel 中

測試 Sentinel

使用之前的 Feign 客戶端,application.yml 完整配置如下:
spring:
  application:
    name: nacos-consumer-feign
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    # 該服務(wù)對應(yīng)的 sentinel 端口
    sentinel:
      transport:
        port: 8719
        # Sentinel 控制臺地址
        dashboard: localhost:8080

server:
  port: 9092

management:
  endpoints:
    web:
      exposure:
        include: "*"

# Sentinel 適配了 Feign 組件 打開熔斷器 (默認(rèn)是關(guān)閉)
feign:
  sentinel:
    enabled: true
注:由于 8719 端口已被 sentinel-dashboard 占用,故這里修改端口號為 8720;不修改也能注冊,會自動幫你在端口號上 + 1

打開瀏覽器訪問:http://localhost:8080

此時會多一個名為 nacos-consumer-feign 的服務(wù)

Sentinel

# 下載源碼
git clone https://github.com/alibaba/Sentinel.git

# 編譯打包(在此之前別忘記在 Linux 上安裝 Java 和 Maven )
mvn clean package
附:環(huán)境變量配置
/etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

export JAVA_HOME=/usr/local/jdk1.8.0_152
export JRE_HOME=/usr/local/jdk1.8.0_152/jre
export MAVEN_HOME=/usr/local/apache-maven-3.5.3
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$MAVEN_HOME/bin
/etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_152
export JRE_HOME=/usr/local/jdk1.8.0_152/jre
export MAVEN_HOME=/usr/local/apache-maven-3.5.3
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:$MAVEN_HOME/bin
使用戶環(huán)境變量生效: source /etc/profile
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容