6. 使用熔断器仪表盘监控(Sentinel 控制台)

Sentinel 控制台提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。您只需要对应用进行简单的配置,就可以使用这些功能。

注意: 集群资源汇总仅支持 500 台以下的应用集群,有大概 1 - 2 秒的延时。
6. 使用熔断器仪表盘监控(Sentinel 控制台)_第1张图片

下载并打包

# 下载源码
git clone https://github.com/alibaba/Sentinel.git

# 编译打包
mvn clean package
注:下载依赖时间较长,请耐心等待... 错误不用管

启动控制台

Sentinel 控制台是一个标准的 SpringBoot 应用,以 SpringBoot 的方式运行 jar 包即可。
// 先进入 克隆路径/Sentinel/sentinel-dashboard/target
cd sentinel-dashboard\target

// cmd 进入 执行以下指令
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
如若 8080 端口冲突,可使用 -Dserver.port=新端口 进行设置。

访问服务

打开浏览器访问:http://localhost:8080/
6. 使用熔断器仪表盘监控(Sentinel 控制台)_第2张图片

配置需要在仪表盘监听显示的熔断器 (以 [Feign] 配置熔断器为例)

application.yml 配置文件中增加如下配置:
spring:
  application:
    name: nacos-consumer-feign
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    # 该服务对应的 sentinel 端口
    sentinel:
      transport:
        port: 8719
        # Sentinel 控制台地址
        dashboard: localhost:8080
这里的 spring.cloud.sentinel.transport.port 端口配置会在应用对应的机器上启动一个 Http Server,该 Server 会与 Sentinel 控制台做交互。比如 Sentinel 控制台添加了 1 个限流规则,会把规则数据 push 给这个 Http Server 接收,Http Server 再将规则注册到 Sentinel 中

测试 Sentinel

使用之前的 Feign 客户端,application.yml 完整配置如下:
spring:
  application:
    name: nacos-consumer-feign
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    # 该服务对应的 sentinel 端口
    sentinel:
      transport:
        port: 8719
        # Sentinel 控制台地址
        dashboard: localhost:8080

server:
  port: 9092

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

# Sentinel 适配了 Feign 组件 打开熔断器 (默认是关闭)
feign:
  sentinel:
    enabled: true
注:由于 8719 端口已被 sentinel-dashboard 占用,故这里修改端口号为 8720;不修改也能注册,会自动帮你在端口号上 + 1

打开浏览器访问:http://localhost:8080

此时会多一个名为 nacos-consumer-feign 的服务
6. 使用熔断器仪表盘监控(Sentinel 控制台)_第3张图片

Sentinel

# 下载源码
git clone https://github.com/alibaba/Sentinel.git

# 编译打包(在此之前别忘记在 Linux 上安装 Java 和 Maven )
mvn clean package
附:环境变量配置
/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
使用户环境变量生效: source /etc/profile

你可能感兴趣的:(6. 使用熔断器仪表盘监控(Sentinel 控制台))