-
Notifications
You must be signed in to change notification settings - Fork 448
启动配置
louyuting edited this page Sep 27, 2020
·
3 revisions
Sentinel 会通过以下策略读取配置项:
- 若通过
InitWithConfigFile(path)函数初始化,Sentinel 则会从 path 指定的 yaml 文件中读取配置项,同时会通过环境变量读取基础的配置; - 若通过
InitDefault()函数初始化,Sentinel 则会尝试从SENTINEL_CONFIG_FILE_PATH环境变量读取 path 并读取对应的文件。若未指定则默认从项目目录下的sentinel.yml文件读取配置;若均不存在,Sentinel 会通过环境变量读取基础的配置(如项目名称),其它配置项采用默认值。 - 若通过
InitWithConfig(confEntity *config.Entity)函数初始化,用户需要自己制定配置项config.Entity, Sentinle 会使用用户输入的配置项初始化。如果存在环境变量,那么环境变量优先级最高。 - 环境变量配置优先级最高。若同时存在,则环境变量的配置会覆盖 YAML 文件的配置。
以下配置项中,应用名称(sentinel.app.name)为必需的配置项。
| key | 对应的 yaml 配置项 | 含义 | 备注 |
|---|---|---|---|
SENTINEL_CONFIG_FILE_PATH |
- | yaml 配置文件路径 | 若未指定则默认从项目目录下的 sentinel.yml 文件读取配置 |
SENTINEL_APP_NAME |
sentinel.app.name | 项目名称 |
必需的配置项。若环境变量和文件中均未配置,则标为 unknown_go_service
|
SENTINEL_APP_TYPE |
sentinel.app.type | 项目类型 | 必需的配置项。若环境变量和文件中均未配置,则标为 1 |
SENTINEL_LOG_DIR |
- | 日志路径 | 默认路径为 ~/logs/csp
|
SENTINEL_LOG_USE_PID |
- | 日志文件是否带 pid | 默认为 false |
| key | 含义 | 默认值 | 备注 |
|---|---|---|---|
version |
配置的版本 | v1 | 无 |
sentinel.app.name |
项目名称 | unknown_go_service |
必需的配置项。若环境变量 SENTINEL_APP_NAME 和文件中均未配置,则标为 unknown_go_service
|
sentinel.app.type |
项目类型 | 0 |
必需的配置项。若环境变量 SENTINEL_APP_TYPE 和文件中均未配置,则标为 0
|
sentinel.log.dir |
日志路径 | ${user.home}/logs/csp |
|
sentinel.log.usePid |
监控日志文件名是否带上进程 PID | false | |
sentinel.log.metric.maxFileCount |
监控日志最大文件数目 | 8 | |
sentinel.log.metric.singleFileMaxSize |
监控日志单个文件大小上限 | 50 MB (1024*1024*50) |
|
sentinel.log.metric.flushIntervalSec |
监控日志聚合和刷盘的时间频率 | 1s | 若无特殊需要,请采用默认值。若设为 0 则关闭监控日志输出。 |
sentinel.stat.system.collectIntervalMs |
系统指标收集的间隔时间 | 1000 | |
sentinel.useCachedTime |
是否通过异步协程缓存时间 (ms) | true |
YAML 配置文件示例:
version: "v1"
sentinel:
app:
name: sentinel-go-demo
type: 0
log:
dir: "~/logs/csp"
pid: false
metric:
maxFileCount: 14
flushIntervalSec: 1
stat:
system:
collectIntervalMs: 1000-
文档
-
Documents (EN)