六、Spring Cloud Alibaba Sentinel 控制台

Spring Cloud Alibaba Sentinel 控制台

Sentinel 控制台

Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。另外,鉴权在生产环境中也必不可少。这里,我们将会详细讲述如何通过简单的步骤就可以使用这些功能。

获取 Sentinel 控制台

您可以从 release 页面 下载最新版本的控制台 jar 包。

您也可以从最新版本的源码自行构建 Sentinel 控制台:

  • 下载 控制台 工程
  • 使用以下命令将代码打包成一个 fat jar: mvn clean package

启动控制台

注意:启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本。

使用如下命令启动控制台:

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

其中 -Dserver.port=8080 用于指定 Sentinel 控制台端口为 8080,如果8080端口被其他应用占用,可以修改-Dserver.port=为其它端口。

从 Sentinel 1.6.0 起,Sentinel 控制台引入基本的登录功能,默认用户名和密码都是 sentinel。可以参考 鉴权模块文档 配置用户名和密码。

注:若您的应用为 Spring Boot 或 Spring Cloud 应用,您可以通过 Spring 配置文件来指定配置,详情请参考 Spring Cloud Alibaba Sentinel 文档

image.png

访问服务

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

image.png

项目配置控制台信息

修改idreamyou4cloud-auth模块中的application.yml配置文件:

spring:
  cloud:
    sentinel:
      transport:
        port: 8719
        dashboard: localhost:8080

整体配置如下:

server:
  # 服务端口
  port: 8082

spring:
  application:
    # 应用名称,这里采用Maven项目的模块名
    name: @artifactId@
  cloud:
    nacos:
      # 注册中心nacos的地址
      server-addr: localhost:8848
    # sentinel控制台配置
    sentinel:
      transport:
        port: 8720
        dashboard: localhost:8080

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

feign:
  sentinel:
    enabled: true

这里的 spring.cloud.sentinel.transport.port 端口配置会在应用对应的机器上启动一个 Http Server,该 Server 会与 Sentinel 控制台做交互。比如 Sentinel 控制台添加了 1 个限流规则,会把规则数据 push 给这个 Http Server 接收,Http Server 再将规则注册到 Sentinel 中。

注:由于 8719 端口已被 sentinel-dashboard 占用,故这里修改端口号为 8720;不修改也能注册,会自动帮你在端口号上 + 1

先用浏览器访问两次http://localhost:8082/test/hello,再次访问sentinel-dashboard,此时sentinel-dashboard列表会出现idreamyou4cloud-auth模块的选项:

image.png

sentinel-dashboard配置成功

上一篇 下一篇