-
Notifications
You must be signed in to change notification settings - Fork 37
/
Copy pathconfig.yaml
448 lines (371 loc) · 13.5 KB
/
config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
# 支持以环境变量 DFF_ 前缀覆盖对应配置项,如:
# DFF_APP_NAME=MyFunc 可覆盖配置 APP_NAME
# 配置分类如下:
# 无特殊前缀 :用户可以根据需求自行修改的项目 (如:APP_NAME)
# 以 _ 为前缀:不推荐用户修改,仅在特殊用途、观测云附属 Func 中修改的项目(如:_IS_INSTALLED)
APP_NAME: DataFluxFunc
# 配置文件路径
# 必须使用绝对路径
CONFIG_FILE_PATH: '/data/user-config.yaml'
# 从环境变量读取的配置前缀
CONFIG_FROM_ENV_PREFIX: DFF_
# 自定义配置名称前缀
CUSTOM_CONFIG_PREFIX: CUSTOM_
# 资源文件根目录
# 必须使用绝对路径
RESOURCE_ROOT_PATH: '/data/resources'
# 文件上传/下载临时目录
UPLOAD_TEMP_ROOT_FOLDER : '.uploads'
DOWNLOAD_TEMP_ROOT_FOLDER: '.downloads'
# 运行模式
# 可选:
# "dev" : 开发模式
# "prod": 生产模式
# 注意:除特殊需要,应当总是使用生产模式
MODE: prod
# 私钥
# 用于登录令牌、连接器配置加密等
# 一旦配置后请勿修改,否则会导致系统无法正常运行
SECRET: 'your_secret'
# 日志等级
# 可选:
# ALL : 全部输出
# DEBUG : 调试、信息、警告和错误
# INFO : 信息、警告和错误
# WARNING: 警告和错误
# ERROR : 错误
# NONE : 不输出
LOG_LEVEL: WARNING
# 日志文件输出地址
# 必须使用绝对路径
LOG_FILE_PATH: '/data/logs/dataflux-func.log'
# 时区
TIMEZONE: 'Asia/Shanghai'
# 日志输出格式
# 可选:
# text: 纯文本格式
# json: JSON格式
LOG_FILE_FORMAT: text
# 终端日志是否着色
LOG_CONSOLE_COLOR: false
# 是否禁用应用级日志
# 可选:
# auto :自动
# true : 启用
# false: 禁用
LOG_APP_LEVEL_DISABLED: auto
# 数据库自动备份保留数量 / 大小
DB_AUTO_BACKUP_LIMIT: 168
DB_AUTO_BACKUP_SIZE_LIMIT: 5GB
# 数据库自动备份目录
# 必须使用绝对路径
DB_AUTO_BACKUP_DIR: '/data/sqldump/'
# Web服务器访问 URL
# 即用户在访问时,浏览器地址栏中需要输入的地址
# 注意:当系统部署在反向代理服务器后时,服务器绑定的地址、端口可能会不同
WEB_BASE_URL : ''
WEB_INNER_BASE_URL: http://server-inner.func2:8088
# Web 服务器绑定 IP
# 如:
# 0.0.0.0 : 为公开访问
# 127.0.0.1: 为仅本地访问
# 注意:当系统部署在反向代理服务器后时,应配置为 127.0.0.1
WEB_BIND: '0.0.0.0'
# Web 服务器绑定端口
# 注意:当系统部署在反向代理服务器后时,绑定端口与浏览器中输入地址的端口不必相同
WEB_PORT: 8088
# CORS 配置
WEB_CORS_ORIGIN : true
WEB_CORS_CREDENTIALS: true
# DB 引擎
# 可选:mysql, postgresql(默认 mysql)
DB_ENGINE: mysql
# MYSQL 配置
MYSQL_HOST : '127.0.0.1'
MYSQL_PORT : 3306
MYSQL_USER : root
MYSQL_PASSWORD: ''
MYSQL_DATABASE: dataflux_func
# PosgreSQL 配置
POSTGRESQL_HOST : '127.0.0.1'
POSTGRESQL_PORT : 5432
POSTGRESQL_USER : postgres
POSTGRESQL_PASSWORD: ''
POSTGRESQL_DATABASE: dataflux_func
# Redis连接配置
# 建议:为避免与其他应用冲突,不使用默认数据库0
REDIS_HOST : '127.0.0.1'
REDIS_PORT : 6379
REDIS_DATABASE : 5
REDIS_USER : ''
REDIS_PASSWORD : ''
REDIS_USE_TLS : false
REDIS_AUTH_TYPE: default # 可选 aliyun
REDIS_TS_MAX_AGE : 3600 # 1小时
REDIS_TS_MAX_PERIOD : 259200 # 3天
REDIS_TS_MIN_INTERVAL: 60 # 时间戳最小间隔(秒)
# 是否禁用集成登录
DISABLE_INTEGRATED_SIGNIN: false
# 因密码错误而临时锁定用户的次数 / 最大等待时间
BAD_SIGNIN_TEMP_LOCK_ACTIVE_COUNT: 10
BAD_SIGNIN_TEMP_LOCK_TIMEOUT_MAX : 900
# 接口延迟
SIGNIN_API_DEALY_TIMEOUT : 3
CAPTCHA_API_DEALY_TIMEOUT: 1
# 自动配置
AUTO_SETUP : false
AUTO_SETUP_ADMIN_USERNAME: ''
AUTO_SETUP_ADMIN_PASSWORD: ''
AUTO_SETUP_AK_ID : ''
AUTO_SETUP_AK_SECRET : ''
########################
# 以下配置请勿修改 #
########################
# 是否已安装完成
_IS_INSTALLED: false
# 是否停用鉴权(仅在作为观测云内部系统时打开)
_IS_STREAKING: false
# 预执行脚本目录
_PRE_RUN_SCRIPT_DIR: pre-run-scripts
# 文件存储根目录
_FILE_STORE_ROOT_DIR: uploaded-files
# 额外 Python 包安装目录
_EXTRA_PYTHON_PACKAGE_INSTALL_DIR: extra-python-packages
# 脚本市场操作锁定时长
_SCRIPT_MARKET_OPERATION_LOCK_AGE: 30
# 脚本市场操作锁等待事件
_SCRIPT_MARKET_OPERATION_LOCK_WAIT_AGE: 60
# 脚本市场 Git 库保存目录
_SCRIPT_MARKET_GIT_REPO_DIR: script-market/git
# 脚本市场 阿里云OSS 库保存目录
_SCRIPT_MARKET_ALIYUN_OSS_REPO_DIR: script-market/aliyun-oss
# 脚本市场 HTTP服务 库保存目录
_SCRIPT_MARKET_HTTP_SERVICE_REPO_DIR: script-market/http-service
# 脚本市场 TOKEN 文件名
_SCRIPT_MARKET_TOKEN_FILE: TOKEN
# 脚本市场 README 文件名
_SCRIPT_MARKET_README_FILE: README.md
# 脚本市场 CHANGELOG 文件名
_SCRIPT_MARKET_CHANGELOG_FILE: CHANGELOG.md
# 脚本市场 CHANGELOG-info 文件名
_SCRIPT_MARKET_CHANGELOG_INFO_FILE: CHANGELOG-info.yaml
# 脚本市场 META 文件名
_SCRIPT_MARKET_META_FILE: META.yaml
# 脚本市场脚本集代码文件目录名
_SCRIPT_MARKET_SCRIPT_SET_DIR: script-sets
# 脚本导出 NOTE 文件名
_SCRIPT_EXPORT_NOTE_FILE: NOTE.txt
# 脚本导出 META 文件名
_SCRIPT_EXPORT_META_FILE: META.yaml
# 脚本导出脚本集代码文件目录名
_SCRIPT_EXPORT_SCRIPT_SET_DIR: script-sets
# 客户端冲突过期时间
_CLIENT_CONFLICT_EXPIRES: 5
# 初始化 DataFlux Func ID 锁定时间
_INIT_DATAFLUX_FUNC_ID_LOCK_AGE: 15
# 更新脚本市场数据锁定时间
_UPDATE_OFFICIAL_SCRIPT_MARKET_LOCK_AGE: 15
# Init Script 锁定时间
_INIT_SCRIPTS_LOCK_AGE: 30
# 脚本集导出文件名
_FUNC_EXPORT_FILENAME: dataflux-func
# 脚本集导入确认超时
_FUNC_IMPORT_CONFIRM_TIMEOUT: 900
# 官方脚本市场
_OFFICIAL_SCRIPT_MARKET_ID : smkt-official
_OFFICIAL_SCRIPT_MARKET_URL: https://static.guance.com/dataflux-func/script-market/official
# 启动脚本集 ID
_STARTUP_SCRIPT_SET_ID: startup
# 启动脚本定时任务 ID 前缀
_STARTUP_CRON_JOB_ID_PREFIX: cron-starup
# DB 一般作为常量的配置
_DB_CONN_TIMEOUT : 15
_DB_POOL_SIZE_SERVER : 10
_DB_POOL_SIZE_WORKER : 1
_DB_POOL_MAX_USAGE : 1000
_DB_POOL_RECYCLE_TIMEOUT: 3600
# MySQL 一般作为常量的配置
_MYSQL_CHARSET : utf8mb4
_MYSQL_READ_TIMEOUT : 30
_MYSQL_WRITE_TIMEOUT: 30
# PostgreSQL 一般作为常量得配置
_POSTGRESQL_ENCODING: utf8
# WEB 模块一般作为常量的配置
_WEB_CLIENT_APP_PATH : /client-app
_WEB_CLIENT_ID_COOKIE : xDFFClientId
_WEB_CLIENT_ID_HEADER : X-Dff-Client-Id
_WEB_CLIENT_LOCALE_COOKIE : xDFFClientLocale
_WEB_CLIENT_LANGUAGE_COOKIE : xDFFClientLocaleLanguage
_WEB_PAGE_SIZE_COOKIE : xDFFPageSize
_WEB_TRACE_ID_HEADER : X-Trace-Id
_WEB_CLIENT_TIME_HEADER : X-Client-Time
_WEB_REQUEST_TIME_HEADER : X-Request-Time
_WEB_RESPONSE_TIME_HEADER : X-Response-Time
_WEB_REQUEST_COST_HEADER : X-Request-Cost
_WEB_AUTH_HEADER : X-Dff-Auth-Token
_WEB_AUTH_QUERY : xDFFAuthToken
_WEB_AUTH_LOCAL_STORAGE : xDFFAuthToken
_WEB_AUTH_COOKIE : xDFFAuthToken
_WEB_AUTH_EXPIRES : 86400
_WEB_CAPTCHA_EXPIRES : 300
_WEB_IS_CACHED_HEADER : X-Dff-Cache
_WEB_DRY_RUN_MODE_HEADER : X-Dff-Dry-Run
_WEB_AK_ID_HEADER : X-Dff-Ak-Id
_WEB_AK_TIMESTAMP_HEADER : X-Dff-Ak-Timestamp
_WEB_AK_NONCE_HEADER : X-Dff-Ak-Nonce
_WEB_AK_SIGN_HEADER : X-Dff-Ak-Sign
_WEB_AK_TIMESTAMP_DIFF_LIMIT : 900
_WEB_AK_NONCE_TTL : 86400
_WEB_PULL_LOG_TRACE_ID : TRACE-PULLLOGS
_WEB_SERVER_VERSION_HEADER : X-Dff-Version
_WEB_SERVER_RELEASE_TIMESTAMP_HEADER: X-Dff-Release-Timestamp
# Beat 模块一般作为常量的配置
_BEAT_LOCK_EXPIRE: 5
# 订阅模块一般作为常量的配置
_SUB_BUFFER_LIMIT : 10000
_SUB_RECENT_CONSUME_EXPIRE: 604800
# 本地调用认证令牌
_WEB_LOCALHOST_AUTH_TOKEN_HEADER: X-Localhost-Auth-Token
_WEB_LOCALHOST_AUTH_TOKEN_PATH : /data/localhost-auth-token
# Worker 模块一般作为常量的配置
_WORKER_CONCURRENCY : 5
_WORKER_QUEUE_COUNT : 16
_WORKER_FETCH_TASK_TIMEOUT : 15
_WORKER_PROCESS_CONSUME_LIMIT: 10000
_WORKER_QUEUE_LIMIT_MIN : 10000
_WORKER_QUEUE_LIMIT_SCALE_CRON_JOB: 10
# 监控模块一般作为常量的配置
_MONITOR_REPORT_INTERVAL : 15
_MONITOR_REPORT_EXPIRES : 60
_MONITOR_MATCHED_ROUTE_EXPIRES : 86400
_MONITOR_SLOW_API_COUNT_EXPIRES: 604800
# 任务模块一般作为常量的配置
_TASK_QUEUE_DEFAULT : 0
_TASK_EXPIRES_DEFAULT : 3600
_TASK_TIMEOUT_DEFAULT : 180
_TASK_RESULT_WAIT_TIMEOUT_MAX : 180
_TASK_FLUSH_DATA_BUFFER_BULK_COUNT: 1000
_TASK_FLUSH_DATA_BUFFER_TIMES : 100
_TASK_FLUSH_DATA_TIMEOUT : 300
_CRON_JOB_STARTER_FETCH_BULK_COUNT: 3000
# 任务记录数量限制
_TASK_RECORD_LIMIT_MIN : 0
_TASK_RECORD_LIMIT_MAX : 10000
_TASK_RECORD_LIMIT_DEFAULT: 1000
_TASK_RECORD_FUNC_LIMIT_DIRECT : 1000
_TASK_RECORD_FUNC_LIMIT_INTEGRATION : 1000
_TASK_RECORD_FUNC_LIMIT_CONNECTOR : 1000
_TASK_RECORD_FUNC_LIMIT_SYNC_API : 100
_TASK_RECORD_FUNC_LIMIT_ASYNC_API : 100
_TASK_RECORD_FUNC_LIMIT_CRON_JOB : 500
_TASK_RECORD_FUNC_LIMIT_CRON_JOB_BY_DEPLOY: 100
# 任务记录 print 日志限制
_TASK_RECORD_PRINT_LOG_LINE_LIMIT : 3000
_TASK_RECORD_PRINT_LOG_TOTAL_LIMIT_HEAD: 20000
_TASK_RECORD_PRINT_LOG_TOTAL_LIMIT_TAIL: 30000
# 自动执行任务频率
_CRON_EXPR_CRON_JOB_STARTER : '* * * * *'
_CRON_EXPR_SYSTEM_METRIC : '*/5 * * * *'
_CRON_EXPR_FLUSH_DATA_BUFFER : '*/20 * * * * *'
_CRON_EXPR_AUTO_CLEAN : '*/5 * * * *'
_CRON_EXPR_AUTO_BACKUP_DB : '0 * * * *'
_CRON_EXPR_RELOAD_DATA_MD5_CACHE : '* * * * *'
_CRON_EXPR_UPDATE_WORKER_QUEUE_LIMIT: '*/5 * * * *'
# 任务超时配置
_CONNECTOR_CHECK_TASK_TIMEOUT: 15
_CONNECTOR_QUERY_TASK_TIMEOUT: 15
# 函数任务模块一般作为常量的配置
_FUNC_ARGUMENT_PLACEHOLDER_LIST: INPUT_BY_CALLER,FROM_PARAMETER
_FUNC_TASK_QUEUE_DEFAULT : 1
_FUNC_TASK_QUEUE_WEBSOCKET_HANDLER: 1
_FUNC_TASK_QUEUE_CRON_JOB : 2
_FUNC_TASK_QUEUE_ASYNC_API : 3
_FUNC_TASK_QUEUE_DEBUGGER : 5
_FUNC_TASK_QUEUE_SUB_HANDLER : 6
_FUNC_TASK_TIMEOUT_MIN : 1
_FUNC_TASK_TIMEOUT_MAX : 3600
_FUNC_TASK_TIMEOUT_DEFAULT : 35
_FUNC_TASK_TIMEOUT_ASYNC_API: 3600
_FUNC_TASK_TIMEOUT_DEBUGGER : 60
_FUNC_TASK_EXPIRES_MIN : 1
_FUNC_TASK_EXPIRES_MAX : 86400
_FUNC_TASK_EXPIRES_DEFAULT: 900
_FUNC_TASK_CONNECTOR_POOL_SIZE : 1
_FUNC_TASK_THREAD_POOL_SIZE_DEFAULT: 5
_FUNC_TASK_CALL_CHAIN_LIMIT : 5
_FUNC_TASK_DISTRIBUTION_RANGE : 0
# 最近定时任务运行信息配置
_RECENT_CRON_JOB_TRIGGERED_EXPIRES: 259200
_RECENT_CRON_JOB_TRIGGERED_LIMIT : 3000
# 文件上传过期时间
_UPLOAD_FILE_EXPIRES: 3600
# 数据量限制
_DBDATA_TABLE_LIMIT_MAP:
biz_main_operation_record : 50000
biz_main_script_publish_history : 5000
biz_main_script_recover_point : 1000
biz_main_script_set_export_history: 1000
biz_main_script_set_import_history: 1000
# 数据保存时长限制
_DBDATA_TABLE_EXPIRE_MAP:
biz_main_task_record : 7776000
biz_main_task_record_func: 7776000
# 日志 / 缓存表
_DBDATA_LOG_CACHE_TABLE_LIST:
- biz_main_task_record
- biz_main_task_record_func
# 数据库自动备份
_DB_AUTO_BACKUP_PREFIX: dataflux-func-sqldump-
# 过时的数据
_DEPRECATED_TABLE_LIST:
- wat_main_task_result_example
- biz_main_script_log
- biz_main_script_failure
- biz_main_crontab_task_info
- biz_main_batch_task_info
- biz_main_task_result_dataflux_func
- biz_main_task_info
- biz_rel_func_running_info
_DEPRECATED_CACHE_KEY_LIST: null
_DEPRECATED_CACHE_KEY_PATTERN_LIST:
- topic: syncCache
name : '*'
tags : [ '*' ]
# 其他内部控制
_NODE_UV_THREADPOOL_SIZE : 8
_LRU_FUNC_CACHE_LIMIT : 1000
_LRU_FUNC_CACHE_MAX_AGE : 5
_LRU_FUNC_RESULT_CACHE_LIMIT : 2000
_LRU_FUNC_RESULT_CACHE_MAX_AGE: 5
_HTTP_AUTH_NONCE_MAX_AGE : 300
# 是否禁用配置步骤
_DISABLE_SETUP: false
# 是否禁用预执行脚本(pre-run-scripts)
_DISABLE_PRE_RUN_SCRIPTS: false
# 是否禁用初始化脚本(init-scripts)
_DISABLE_INIT_SCRIPTS: false
# 是否禁用数据库自动备份
_DISABLE_DB_AUTO_BACKUP: false
# 是否禁用启动运行任务
_DISABLE_STARTUP_TASKS: false
# REMAP
__REMAP: null
# 自观测上报观测云指标集
_SELF_MONITOR_GUANCE_MEASUREMENT_FUNC_CALL : DFF_func_call
_SELF_MONITOR_GUANCE_MEASUREMENT_DELAY_QUEUE : DFF_delay_queue
_SELF_MONITOR_GUANCE_MEASUREMENT_WORKER_QUEUE : DFF_worker_queue
_SELF_MONITOR_GUANCE_MEASUREMENT_CACHE_DB : DFF_cache_db
_SELF_MONITOR_GUANCE_MEASUREMENT_DB_TABLE : DFF_db_table
_SELF_MONITOR_GUANCE_MEASUREMENT_TASK_RECORD : DFF_task_record
_SELF_MONITOR_GUANCE_MEASUREMENT_TASK_RECORD_FUNC: DFF_task_record_func
_SELF_MONITOR_GUANCE_MEASUREMENT_CRON_JOB : DFF_cron_job
_SELF_MONITOR_GUANCE_MEASUREMENT_ENTITY : DFF_entity
# 自观测日志切分大小(字节)
_SELF_MONITOR_GUANCE_LOGGING_SPLIT_BYTES: 100000
##### 观测云专用配置 #####
# 观测云附属 Func 访问地址
GUANCE_FUNC_BASE_URL: ''
# 类观测云 DQL 查询限制
GUANCE_DQL_LIKE_QUERY_LIMIT: 5000
# 类观测云 DQL 查询 Prometheus 的 step 参数默认值
GUANCE_DQL_LIKE_QUERY_PROMETHEUS_STEP_DEFAULT: 60s