跳转至

部署和维护 / 上报自观测数据到观测云

本文主要介绍如何将配置 DataFlux Func 子观测数据到观测云。

1. 前言

默认情况下,DataFlux Func 的自观测数据存储在本地 Redis 和 MySQL 中。

在重度使用 DataFlux Func 后,指标、日志等内容数据量可能较为庞大。为了限制本地内存、磁盘使用,在本地保存的系统指标、任务记录日志会被缩减,保存总量也会被限制。

可以参考 部署和维护 / 系统指标和任务记录 / 关闭本地函数任务记录 关闭「本地函数任务记录」,减轻 MySQL 存储压力

如果需要完整记录 DataFlux Func 中产生的系统指标和任务记录日志,可以通过系统设置,将数据上报至观测云。

2. 开启「观测云数据上报」

上报至观测云的任务日志为完整日志,不会被缩减

管理 / 系统设置 / 观测云数据上报,用户可以开启「观测云数据上报」

URL 地址可以填写 DataWay 或 DataKit 上报地址:

Text Only
1
http://openway.guance.com?token=tkn_xxxxx
Text Only
1
http://datakit-ip-or-domain:9529

此外,一般也建议填写站点名,用于标记当前 DataFlux Func 用途,如:「测试用 Func」

在开启「观测云数据上报」后,可以同时关闭「本地函数任务记录」,减轻本地 DataFlux Func 存储压力

3. 在观测云中查看系统指标、任务记录日志

正确配置「观测云数据上报」后,就可以在观测云中查看上报的系统指标和任务日志了。

4. 上报数据说明

DataFlux Func 会上报多种数据,供排查问题或配置观测云监控器。

函数调用指标

DataFlux Func 会在每次调用函数后,记录本次函数调用的相关指标。

指标集 说明
DFF_func_call 函数调用

字段如下:

字段 类型 说明 示例值
script_set_id Tag 所属脚本集 ID "demo"
script_id Tag 所属脚本 ID "demo__test"
func_id Tag 函数 ID "demo__test.run"
origin Tag 来源 "authLink"
queue Tag 执行队列 "8"
task_status Tag 任务状态 "success"
wait_cost Field 等待耗时(毫秒) 100
run_cost Field 执行耗时(毫秒) 300
total_cost Field 总耗时(毫秒) 400

工作队列指标

指标集 说明
DFF_worker_queue 工作队列

字段如下:

字段 类型 说明 示例值
queue Tag 队列 "8"
redis_key Tag 队列 Redis Key 名称 "DataFluxFunc-worker#workerQueue@8"
length Field 队列长度 100

缓存数据库指标

指标集 说明
DFF_cache_db 缓存数据库

字段如下:

字段 类型 说明 示例值
target Tag 目标数据库(HOST:PORT/DB "127.0.0.1:6379/5"
keys Field Key 数量 100
used_memory Field 内存使用量(字节) 10000

缓存数据库 Key 指标

指标集 说明
DFF_cache_db_key 缓存数据库 Key

字段如下:

字段 类型 说明 示例值
target Tag 目标数据库(HOST:PORT/DB "127.0.0.1:6379/5"
prefix Tag Key 前缀 "DataFluxFunc-monitor#heartbeat@workerOnQueue:TAGS"
count Field Key 数量 100

数据库指标

指标集 说明
DFF_db_table 数据库

字段如下:

字段 类型 说明 示例值
target Tag 目标数据库(HOST:PORT/DB "127.0.0.1:3306/dataflux_func"
name Tag 表名 "biz_main_auth_link"
comment Tag 表名(中文注释) "授权链接"
total_length Field 总占用大小(字节) 200
data_length Field 数据占用大小(字节) 100
index_length Field 索引占用大小(字节) 100
avg_row_length Field 平均每行占用大小(字节) 100
rows Field 行数 10
auto_increment Field 自增长位置 10

系统任务记录 / 函数任务记录

DataFlux Func 在执行任何内部系统任务或者函数任务后,都会上报相应的任务日志,可以通过观测云日志查看器查看。

数据来源 说明
DFF_task_record 系统任务记录
DFF_task_record_func 函数任务记录

字段如下:

字段 说明 系统任务记录 函数任务记录
source 数据来源 ✅ 固定为DFF_task_record ✅ 固定为DFF_task_record_func
site_name 站点名 ✅ ✅
id 任务 ID ✅ ✅
name 任务名称 ✅ ✅
kwargs 任务参数 ✅ ✅
task_status 任务状态,可能值见下文 ✅ ✅
status 日志状态,可能值见下文 ✅ ✅
queue 所在队列 ✅ ✅
trigger_time_iso 触发时间(ISO 日期格式) ✅ ✅
start_time_iso 启动时间(ISO 日期格式) ✅ ✅
end_time_iso 结束时间(ISO 日期格式) ✅ ✅
run_cost 执行耗时(毫秒) ✅ ✅
wait_cost 排队耗时(毫秒) ✅ ✅
total_cost 总耗时(毫秒) ✅ ✅
func_id 函数 ID ✅
script_id 所属脚本 ID ✅
script_set_id 所属脚本集 ID ✅
func_call_kwargs 函数传入参数 ✅
origin 来源,可能值见下文 ✅
origin_id 来源 ID,如:自动触发配置 ID ✅
crontab 自动触发 Crontab 表达式 ℹ 仅限自动触发函数
workspace_uuid 工作空间 ID ℹ 仅限观测云监控器函数
df_monitor_checker_id 监控器 ID ℹ 仅限观测云监控器函数
df_monitor_id 告警策略 ID ℹ 仅限观测云监控器函数

5. 相关字段详解

部分字段详解如下

字段 task_status 和 status

DataFlux Func 上报日志中,task_statusstatus 存在一对一关系,task_status 为任务状态描述,status 为满足观测云规范的状态值。

具体对应表如下:

task_status 值 status 值 说明
success ok 成功
failure critical 失败
skip warning 任务跳过

字段 origin 和 origin_id

originorigin_id 字段用来标记函数任务的执行来源,具体值如下:

origin 值 说明 origin_id 值意义
authLink 授权链接 授权链接 ID
crontab 自动触发配置 自动触发配置 ID
batch 批处理 批处理 ID
direct 直接调用函数,如观测云通过集群内调用 固定为direct
integration 由脚本集成触发 {集成类型}.{启动方式}-{函数 ID}