springcloud(9.2)Alibaba-Sentinel 控制台

本文介绍了如何启动和接入阿里巴巴的Sentinel控制台。Sentinel-Dashboard作为一个轻量级控制台,提供了机器发现、资源监控和规则管理等功能。首先,通过下载源码、编译和设置JVM参数来启动控制台。接着,客户端通过添加依赖和配置启动参数来接入控制台,例如设置Dashboard地址和端口。此外,文章还提到了服务端和客户端的具体操作步骤,包括使用IDEA下载项目、Maven打包、启动命令以及客户端的YML配置调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dashboard控制台

sentinel-dashboard是一个单独的应用,通过spring-boot进行启动,主要提供一个轻量级的控制台,它提供机器发现、单机资源实时监控、集群资源汇总,以及规则管理的功能。

启动控制台

下载代码并编译控制台

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

启动

使用如下命令启动编译后的控制台:

$ java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -jar target/sentinel-dashboard.jar

上述命令中我们指定了一个JVM参数,-Dserver.port=8080 用于指定 Spring Boot 启动端口为 8080

客户端接入控制台

控制台启动后,客户端需要按照以下步骤接入到控制台。

引入客户端jar包

通过 pom.xml 引入 jar 包:

<dependency>
    <groupId>com.alibaba.csp</groupId>
    <artifactId>sentinel-transport-simple-http</artifactId>
    <version>x.y.z</version>
</dependency>

配置启动参数

启动时加入 JVM 参数 -Dcsp.sentinel.dashboard.server=consoleIp:port 指定控制台地址和端口。若启动多个应用,则需要通过 -Dcsp.sentinel.api.port=xxxx 指定客户端监控 API 的端口(默认是 8719)。

除了修改 JVM 参数,也可以通过配置文件取得同样的效果。更详细的信息可以参考 启动配置项

触发客户端初始化

确保客户端有访问量,Sentinel 会在客户端首次调用的时候进行初始化,开始向控制台发送心跳包。

sentinel-dashboard是一个独立的web应用,可以接受客户端的连接,然后与客户端之间进行通讯,他们之间使用http协议进行通讯。他们之间的关系如下图所示:

 

dashboard

dashboard启动后会等待客户端的连接,具体的做法是在 MachineRegistryController 中有一个 receiveHeartBeat 的方法,客户端发送心跳消息,就是通过http请求这个方法。

dashboard接收到客户端的心跳消息后,会把客户端的传递过来的ip、port等信息封装成一个 MachineInfo 对象,然后将该对象通过 MachineDiscovery 接口的 addMachine 方法添加到一个ConcurrentHashMap中保存起来。

这里会有问题,因为客户端的信息是保存在dashboard的内存中的,所以当dashboard应用重启后,之前已经发送过来的客户端信息都会丢失掉。

 

具体操作:

服务端控制台:

1. 使用idea 从git上下载sentinel完整的项目文件 https://github.com/alibaba/Sentinel.git

2. 使用maven,进行打包

先打包父工程:

再 控制台 子工程: 

 

出现下面情况,注意本地maven仓里依赖jar包是否下载完整,确认父工程是否clean-install

 

 

 打好jar后,在jar包所在的文件夹下,打开cmd,使用命令启动jar

命令:

java -Dserver.port=8088 -Dcsp.sentinel.dashboard.server=localhost:8088 -jar sentinel-dashboard.jar

其中: 

java -Dserver.port=8084 \      指定端口号
-Dcsp.sentinel.dashboard.server=localhost:8084 \ 外部服务连接sentinel控制台地址
-jar sentinel-dashboard.jar 启动控制台

注意:

从 Sentinel 1.6.0 开始,Sentinel 控制台支持简单的**登录**功能,默认用户名和密码都是 `sentinel`。用户可以通过如下参数进行配置:

- `-Dsentinel.dashboard.auth.username=sentinel` 用于指定控制台的登录用户名为 `sentinel`;
- `-Dsentinel.dashboard.auth.password=123456` 用于指定控制台的登录密码为 `123456`;如果省略这两个参数,默认用户和密码均为 `sentinel`;
- `-Dserver.servlet.session.timeout=7200` 用于指定 Spring Boot 服务端 session 的过期时间,如 `7200` 表示 7200 秒;`60m` 表示 60 分钟,默认为 30 分钟;

也可本地使用idea启动

 

客户端配置:

客户端配置是在此基础上添加的:https://blog.youkuaiyun.com/lettuce_/article/details/102547930

1. 修改applicatiom.yml,添加下面代码

spring:
  cloud:  #    配置sentinel客户端,注册进控制台里
    sentinel:
      transport:
        dashboard: localhost:8088

2. 启动项目,访问 控制台

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值