Alibaba Sentinel 配置项总结,鉴权配置,配置使用说明

时间:2025-04-14 07:03:07

 

从 Sentinel 1.5.0 开始,控制台提供通用的鉴权接口 AuthService,用户可根据需求自行实现。

从 Sentinel 1.6.0 起,Sentinel 控制台引入基本的登录功能,默认用户名和密码都是 sentinel

用户可以通过如下参数进行配置:

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

同样也可以直接在 Spring properties 文件中进行配置。

注意:部署多台控制台时,session 默认不会在各实例之间共享,这一块需要自行改造。

控制台配置项

控制台的一些特性可以通过配置项来进行配置,配置项主要有两个来源:() 和 (),同时存在时后者可以覆盖前者。

通过环境变量进行配置时,因为不支持 . 所以需要将其更换为 _

配置项 类型 默认值 最小值 描述
boolean true - 是否开启登录鉴权,仅用于日常测试,生产上不建议关闭
String sentinel - 登录控制台的用户名,默认为 sentinel
String sentinel - 登录控制台的密码,默认为 sentinel
Integer 0 60000 是否隐藏无健康节点的应用,距离最近一次主机心跳时间的毫秒数,默认关闭
Integer 0 120000 是否自动删除无健康节点的应用,距离最近一次其下节点的心跳时间毫秒数,默认关闭
Integer 60000 30000 主机失联判定,不可关闭
Integer 0 300000 距离最近心跳时间超过指定时间是否自动删除失联节点,默认关闭
Integer 60000 30000 主机失联判定,不可关闭
String sentinel_dashboard_cookie - 控制台应用的 cookie 名称,可单独设置避免同一域名下 cookie 名冲突

配置示例:

  • 命令行方式:
java -=60000
  • Java 方式:
("", "60000");
  • 环境变量方式:
sentinel_dashboard_app_hideAppNoMachineMillis=60000

 

TIPS

本文基于Sentinel 1.6.2编写,未来Sentinel发布新版本后,各位看官可按照本文中的“参考文档”,自行查阅新版本的配置项目。

Spring Cloud Alibaba Sentienl相关配置项

TIPS

参考文档:/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-docs/src/main/asciidoc-zh/

配置项 含义 默认值
Sentinel自动化配置是否生效 true
取消Sentinel控制台懒加载 false
应用与Sentinel控制台交互的端口,应用本地会起一个该端口占用的HttpServer 8719
Sentinel 控制台地址  
-interval-ms 应用与Sentinel控制台的心跳间隔时间  
-ip 客户端IP  
Servlet Filter的加载顺序。Starter内部会构造这个filter Integer.MIN_VALUE
-patterns 数据类型是数组。表示Servlet Filter的url pattern集合 /*
Enable to instance CommonFilter true
metric文件字符集 UTF-8
-single-size Sentinel metric 单个文件的大小  
-total-count Sentinel metric 总文件数量  
Sentinel 日志文件所在的目录  
-pid Sentinel 日志文件名是否需要带上pid false
-page 自定义的跳转 URL,当请求被限流时会自动跳转至设定好的 URL  
-factor 冷启动因子 3

配置说明如下:
("", "sentinel-demo");
("", "localhost:8080");

相当于:应用中配置 JVM 启动参数
-=sentinel-demo -=localhost:8080

后有之前缓存应用项目时,要控制台中的机器列表去移除无效的 机器。

 

Alibaba Sentinel启动配置项

TIPS

参考文档:/alibaba/Sentinel/wiki/启动配置项

sentinel-core 配置项

名称 含义 类型 默认值 是否必需 备注
指定程序的名称 String null  
指定程序的类型 int 0 (APP_TYPE_COMMON) 1.6.0 引入
单个监控文件的大小 long 52428800  
监控文件的总数上限 int 6  
Sentinel 日志文件目录 String ${}/logs/csp/ 1.3.0 引入
日志文件名中是否加入进程号,用于单机部署多个应用的情况 boolean false 1.3.0 引入
最大的有效响应时长(ms),超出此值则按照此值记录 int 4900ms 1.4.1 引入

其中  项用于指定应用名(appName)。若未指定,则默认从  中解析出对应的类名作为应用名。实际项目使用中建议指定应用名

注意:若需要在单台机器上运行相同服务的多个实例,则需要加入 -=true 来保证不同实例日志的独立性。

sentinel-transport-common 配置项

名称 含义 类型 默认值 是否必需
控制台的地址,指定控制台后客户端会自动向该地址发送心跳包。地址格式为:hostIp:port String null
心跳包发送周期,单位毫秒 long null 非必需,若不进行配置,则会从相应的 HeartbeatSender中提取默认值
本地启动 HTTP API Server 的端口号 int null 是,且不可冲突

使用说明

所有参数均可通过 JVM -D 参数指定。除  以及日志的配置项(如 )之外,其余参数还可通过 properties 文件指定,路径为 ${user_home}/logs/csp/${}.properties

优先级顺序:JVM -D 参数的优先级最高,若 properties 和 JVM 参数中有相同项的配置,以 JVM -D 参数配置的为准。

 

========================

附上:启动配置项 原文

配置方式

Sentinel 提供如下的配置方式:

  • JVM -D 参数方式
  • properties 文件方式(1.7.0 版本开始支持)

其中, 参数只能通过 JVM -D 参数方式配置(since 1.8.0 取消该限制),其它参数支持所有的配置方式。

优先级顺序:JVM -D 参数的优先级最高。若 properties 和 JVM 参数中有相同项的配置,以 JVM 参数配置的为准。

用户可以通过 - 参数配置 properties 文件的路径,支持 classpath 路径配置(如 classpath:)。默认 Sentinel 会尝试从 classpath: 文件读取配置,读取编码默认为 UTF-8。

注:1.7.0 以下版本可以通过旧的 ${user_home}/logs/csp/${}.properties 配置文件进行配置(除  和日志相关配置项)。

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

配置项列表

sentinel-core 的配置项

基础配置项

名称 含义 类型 默认值 是否必需 备注
指定应用的名称 String null  
指定应用的类型 int 0 (APP_TYPE_COMMON) 1.6.0 引入
单个监控日志文件的大小 long 52428800 (50MB)  
监控日志文件的总数上限 int 6  
最大的有效响应时长(ms),超出此值则按照此值记录 int 4900 1.4.1 引入
SPI 加载时使用的 ClassLoader,默认为给定类的 ClassLoader String default 若配置 context 则使用 thread context ClassLoader。1.7.0 引入

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

日志相关配置项

名称 含义 类型 默认值 是否必需 备注
Sentinel 日志文件目录 String ${}/logs/csp/ 1.3.0 引入
日志文件名中是否加入进程号,用于单机部署多个应用的情况 boolean false 1.3.0 引入
Record 日志输出的类型,file 代表输出至文件,console 代表输出至终端 String file 1.6.2 引入

注意:若需要在单台机器上运行相同服务的多个实例,则需要加入 -=true 来保证不同实例日志的独立性。

sentinel-transport-common 的配置项

名称 含义 类型 默认值 是否必需
控制台的地址,指定控制台后客户端会自动向该地址发送心跳包。地址格式为:hostIp:port String null
心跳包发送周期,单位毫秒 long null 非必需,若不进行配置,则会从相应的 HeartbeatSender 中提取默认值
本地启动 HTTP API Server 的端口号 int 8719
指定心跳包中本机的 IP String - 若不指定则通过 HostNameUtil 解析;该配置项多用于多网卡环境

注: 可不提供,默认为 8719,若端口冲突会自动向下探测可用的端口。