有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

操作场景

日志采集到 CLS 后,支持将日志数据投递至 COS 中进行存储或分析。本文介绍创建投递 COS 投递的操作步骤。

前提条件

1. 开通日志服务,创建日志集与日志主题,并成功采集到日志数据。
2. 开通腾讯云对象存储服务,并且在待投递日志主题的地域已创建存储桶,详细配置请参见 创建存储桶 文档。
3. 子账号/协作者需要主账号授权,授权步骤参见 基于 CAM 管理权限,复制授权策略参见 CLS 访问策略模板
4. 已授权给腾讯云 CLS 服务角色访问 COS 的权限。大部分用户通过控制台操作时,系统会引导用户完成授权;小部分用户跨过控制台,直接调用 API,这部分客户需要手动去授权,详情参见 投递任务角色授权

操作步骤

2. 在左侧导航栏中,单击日志主题
3. 单击需要投递的日志主题 ID/名称,进入日志主题管理页面。
4. 单击投递到 COS 页签,进入投递到 COS 配置页面,单击添加投递配置



配置项说明如下:
配置项
解释说明
规则
是否必填
投递任务名称
配置投递任务的名称
-
必填
投递时间范围
开始时间:您要投递的日志数据的开始时间。 默认给出该日志主题生命周期最早的时间点
结束时间:您要投递的日志数据的结束时间,不可选择未来时间,不填写表示持续投递日志
注意:
如果您的开始时间为历史时间,结束时间不填写,即持续投递,任务会同时投递历史日志和实时日志 例如您选择投递 2023年1月1日 00:03-∞的数据,提交投递任务的时间为2023年2月13日 19:05,那么历史日志为2023年1月1日 00:03-2023年2月13日 19:05,实时日志为2023年2月13日 19:05--∞,两种数据将同时向 COS 投递,您可在投递任务列表查看历史数据投递的进度、历史数据投递完成所需的时长

任务提交以后,投递时间范围不支持修改

时间选择
必填
COS 存储桶
与当前日志主题同地域的存储桶作为投递目标存储桶
列表选择
必填
COS存储类型
日志在 COS 桶存储的类型:标准存储、低频存储、智能分层存储、归档存储、深度归档存储,详情请参见 存储类型概述
列表选择
必填
COS 路径
COS存储桶的路径。默认按照/年/月/日/小时/,如/2022/7/31/14/ 在COS上来存储投递的日志文件,路径配置支持 strftime 的语法 ,例如:
/%Y/%m/%d/生成的路径是/2022/7/31/
/%Y%M%d/%H/生成的路径是/20220731/14/
/开头
可选
文件命名
选项1:投递时间命名,默认选项,例如202208251645_000_132612782.gz代表的是投递时间_日志主题分区_offset,Hive 可加载此文件
选项2:随机数命名,旧版的命名方式, Hive 可不识别, Hive 不识别_开头的文件,可以在 COS 路径配置项里面添加自定义前缀,例如/%Y%M%d/%H/Yourname
/
必填
压缩格式
为了帮助用户节约读流量费用,我们将日志文件压缩后再投递到 COS,支持 Snappy\\lzop\\gzip
gzip\\snappy\\lzop
必填
投递文件大小
需要投递的原始日志文件的大小,和投递间隔时间配合使用,哪个条件先触发,就按照哪个规则去压缩文件,然后投递到 COS
例如配置256M,15分钟,如果文件大小在5分钟就到了256MB,那么文件大小这个条件先触发投递任务
5 - 256,单位:MB
必填
投递间隔时间
指定间隔多长时间,触发一次投递,和投递文件大小配合使用,哪个条件先触发,就按照哪个规则去压缩文件,然后投递到 COS
例如配置256MB,15分钟,如果文件大小在15分钟时仅为200MB,间隔时间这个条件先触发投递任务
300 - 900,单位:s
必填
5. 单击下一步,进入高级配置,您可以选择数据的格式,以 JSON/CSV/Parquet 进行投递。
投递数据格式
使用场景
可用于腾讯云 DLC 入湖计算
可以利用 CSV 投递实现 投递日志原文(单行,多行,分隔符采集的日志)
常见数据格式,请用户参考自己的业务场景进行选择
日志数据需为结构化数据,支持数据类型转换(非单行、多行采集),多用于 Hive

投递格式为 JSON

i. 选择要投递的日志内容(字段),其中_CONTENT_是用户的日志,_SOURCE_、_FILENAME_、_HOSTNAME_、_TIMESTAMP_、_TAG_元信息均为 CLS 的元数据字段,请您根据实际情况勾选。




ii. 转义选项:

转义选项
说明
不转义
不对您的 JSON 结构和层级做修改,日志格式和采集侧保持一致。
例子:
日志原文:{"a":"aa", "b":{"b1":"b1b1", "c1":"c1c1"}}
投递到 COS:{"a":"aa", "b":{"b1":"b1b1", "c1":"c1c1"}}
注意:
当JSON的第一层节点中包含有数值时,投递后会自动转为int、float;
日志原文:{"a":123, "b":"123", "c":"-123", "d":"123.45", "e":{"e1":123,"f1":"123"}}
投递到 COS:{"a":123,"b":123,"c":-123,"d":123.45,"e":{"e1":123,"f1":"123"}}

转义
将 JSON 第一层节点的值转为 String,如您的节点值是 Struct,在下游入库或者计算时,需要提前转为 String,可以选这个选项。 例1:
日志原文:{"a":"aa", "b":{"b1":"b1b1", "c1":"c1c1"}}
投递到 COS:{"a":"aa","b":"{\\"b1\\":\\"b1b1\\", \\"c1\\":\\"c1c1\\"}"}
例2:
日志原文:{"a":123, "b":"123", "c":"-123", "d":"123.45", "e":{"e1":123,"f1":"123"}}
投递到 COS:{"a":"123","b":"123","c":"-123","d":"123.45","e":"{\\"e1\\":123,\\"f1\\":\\"123\\"}"}

投递格式为 CSV

选择以 CSV 格式投递日志到 COS。
说明:
可删除不需要的 CLS 元数据字段。



配置项说明如下:
配置项
解释说明
规则
是否必填
键值名称(key)
指定写入 CSV 文件的键值(key)字段(填写的 key 必须是日志结构化后的 key 名称或保留字段,否则将视为无效 key)
仅支持字母、数字和_-./@
必填
分隔符
CSV 文件中各字段间的分隔符
列表选择
必填
转义符
若正常字段内出现了分隔符的字符,需用转义符包裹该字符,防止读取数据时被错误识别
列表选择
必填
无效字段
若配置的键值字段(key)不存在时,则会用无效字段进行填充
列表选择
必填
首行 Key
在 CSV 文件的首行增加字段名的描述,即将键值(key)写入 CSV 文件的首行,默认不写入
开/关
必填

投递格式为 Parquet

Parquet 文件可以被 Hive 加载,多用于大数据的计算分析,下面将为您详细介绍如何创建 Parquet 格式日志投递任务。
注意
Parquet 文件大多用于大数据平台,由于 Parquet 本身有一定的压缩率,加上文件压缩格式(snappy/lzop/gzip),因此,投递文件大小要配置的大一些,建议不小于200MB(投递到 COS 大约在50M)。
Parqeut 格式不支持投递数据预览。



配置项说明如下:
配置项
解释说明
是否必填
键值名称(key)
写入 Parquet 文件 Header 部分的键值(key)字段。如系统自动拉取日志中的键值不满足您的需求,您可添加字段,最多300个,字段名仅支持字母、数字和_-./@。
如您的某行日志中缺少已定义的 Key,那么该行日志对应的 Parquet 文件 Body 中不会有这个 Key。这不会影响您的 Spark、Flink 等大数据计算。
必填
数据类型
该字段在 Parquet 文件中的数据类型:String、Boolean、Int32、Int64、Float、Double
必填
解析失败赋值
数据解析失败时,给予的默认值。如某字段值(String 类型)解析失败,您可以指定其值为空字符串"",也可以指定 NULL 或您自定义的字符串。其他数据类型:布尔、整型、浮点型同理。
必填