启动sentinel入门

2024-10-06 21:33:53 浏览数 (2)

启动sentinel

java -Dserver.port=8849 -Dcsp.sentinel.dashboard.server=localhost:8849 -Dcsp.sentinel.heartbeat.client.ip=192.168.101.9 -Dcsp.sentinel.log.dir=${HOME}/UserData/programs/sentinel/logs -Dproject.name=mysentinel -jar sentinel-dashboard-1.8.8.jar

配置参数

名称

含义

类型

默认值

是否必须

备注

project.name

指定应用的名称

String

null

若未指定,则默认解析 main 函数的类名作为应用名。实际项目使用中建议手动指定应用名。

csp.sentinel.app.type

指定应用的类型

int

0 (APP_TYPE_COMMON)

1.6.0 引入

csp.sentinel.metric.file.single.size

单个监控日志文件的大小

long

52428800 (50MB)

csp.sentinel.metric.file.total.count

监控日志文件的总数上限

int

6

csp.sentinel.metric.flush.interval

Sentinel metric log 任务的时间频率,单位为秒(s)

int

1

若配置0,则代表不打印 metric log。该配置项于 1.8.x 版本引入

csp.sentinel.spi.classloader

SPI 加载时使用的 ClassLoader,默认为给定类的 ClassLoader

String

default

若配置 context 则使用 thread context ClassLoader。1.7.0 引入

csp.sentinel.log.dir

Sentinel 日志文件目录

String

${user.home}/logs/csp/

1.3.0 引入

csp.sentinel.log.use.pid

日志文件名中是否加入进程号,用于单机部署多个应用的情况

boolean

false

1.3.0 引入

csp.sentinel.log.output.type

Record 日志输出的类型,file 代表输出至文件,console 代表输出至终端

String

file

1.6.2 引入

csp.sentinel.dashboard.server

控制台的地址,指定控制台后客户端会自动向该地址发送心跳包。地址格式为:hostIp:port

String

null

csp.sentinel.heartbeat.interval.ms

心跳包发送周期,单位毫秒

long

null

非必需,若不进行配置,则会从相应的HeartbeatSender 中提取默认值

csp.sentinel.api.port

本地启动 HTTP API Server 的端口号,默认为 8719,若端口冲突会自动向下探测可用的端口

int

8719

csp.sentinel.heartbeat.client.ip

指定心跳包中本机的 IP

String

sentinel.dashboard.auth.username

用于指定控制台的登录用户名为 sentinel

String

sentinel

sentinel.dashboard.auth.password

用于指定控制台的登录密码为 123456;如果省略这两个参数,默认用户和密码均为 sentinel

String

sentinel

server.servlet.session.timeout

用于指定 Spring Boot 服务端 session 的过期时间,如 7200 表示 7200 秒;60m 表示 60 分钟,默认为 30 分钟;

7200

spring-boot安装配置

安装依赖

代码语言:xml复制
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

docker

docker pull bladex/sentinel-dashboard

docker run --name sentinel -d -p 8858:8858 imageid

配置

spring.cloud.sentinel.transport.port: 8719 对应 csp.sentinel.api.port配置

spring.cloud.sentinel.dashboard: 127.0.0.1:8849 控制台地址,对应csp.sentinel.dashboard.server配置

代码语言:properties复制
spring.cloud.sentinel.datasource.ds2.nacos.server-addr=127.0.0.1:8848 
spring.cloud.sentinel.datasource.ds2.nacos.data-id=sentinel
spring.cloud.sentinel.datasource.ds2.nacos.group-id=DEFAULT_GROUP
spring.cloud.sentinel.datasource.ds2.nacos.data-type=json // json xml ,默认json
spring.cloud.sentinel.datasource.ds2.nacos.rule-type=degrade //flow,degrade,authority,system, param-flow, gw-flow, gw-api-group

// 配置内容可以如下
[

  {

    "resource": "/provider/hello/{name}",

    "controlBehavior": 0,

    "count": 1,

    "grade": 1,

    "limitApp": "default",

    "strategy": 0

  }

]

代码研究

SentinelAutoConfiguration

QA

启动后提示 Failed to fetch metric from <**>: socket timeout,且无法连接到sentinel的Dashboard

参考文档(待研究)

代码语言:java复制
public static void main(String[] args) {
    System.setProperty("csp.sentinel.dashboard.server","localhost:8849");
    System.setProperty("csp.sentinel.app.name","apptwo");
    ...
}

0 人点赞