github地址:

​https://github.com/alibaba/Sentinel/wiki/控制台​

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

Sentinel之控制台_spring


写一个bat脚本,将如下代码放入,可省去每次启动输入代码的繁琐操作

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

该命令是以8080作为控制台服务端口,并且Dcsp.sentinel.dashboard.server为8080代表监听控制台自己的服务,访问localhost:8080后会看到控制台自己的监听状态。

如何监听发布的服务的状态?

引入依赖

<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-sentinel -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

yml配置文件

将启动的服务的运行状态发送到localhost:8080所在的控制台服务上

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

定义资源

这里的资源就是java中的方法,使用@SentinelResource注解定义资源,资源方法被调用后, 就会在控制台的实时监控和簇点链路中显示

定义规则

在控制台的流控规则和降级规则等等规则中可以新增删除规则,包含的参数在另一篇文章中有详细介绍。

因为控制台的规则是保存在内存中的,服务重启后原先定义的规则就丢失了,如果想持久化定义规则,有这些方式:

文件配置规则
yml文件,服务启动将会加载自定义的json规则文件

spring:
cloud:
sentinel:
transport:
port: 8719
dashboard: localhost:8080
#动态配置规则,通过文件加载
datasource:
ds1:
file:
file: classpath:flowRule.json
data-type: json
rule-type: flow

json文件的一个模板,都是按照规则的定义属性来配置的,具体参数的含义在另一篇文章有详细介绍

[
{
"resource": "getOrderById",
"limitApp":"default",
"grade":1,
"count":2,
"strategy":0,
"controlBehavior":0,
"clusterMode":false
}
]

这样,在服务重启后,控制台也可以重新自动加载规则,免去了重新配置各种规则的繁琐。