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