github地址:
https://github.com/alibaba/Sentinel/wiki/控制台
您可以从 release 页面 下载最新版本的控制台 jar 包。
写一个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
}
]
这样,在服务重启后,控制台也可以重新自动加载规则,免去了重新配置各种规则的繁琐。