操作场景
日志采集到 CLS 后,支持将日志数据投递至 COS 中进行存储或分析。本文介绍创建投递 COS 投递的操作步骤。
前提条件
- 开通日志服务,创建日志集与日志主题,并成功采集到日志数据。
- 开通对象存储服务,并且在待投递日志主题的地域已创建存储桶。
- 子账号/协作者需要主账号授权。
- 已授权给 CLS 服务角色访问 COS 的权限。大部分用户通过控制台操作时,系统会引导用户完成授权;小部分用户跨过控制台,直接调用 API,这部分客户需要手动去授权,详情参见 投递任务角色授权。
操作步骤
登录日志服务控制台。
在左侧导航栏中,单击日志主题。
单击需要投递的日志主题名称,进入日志主题管理页面。
单击投递到对象存储页签,进入配置页面,单击添加投递配置。
配置项说明如下:配置项 解释说明 规则 是否必填 投递任务名称 配置投递任务的名称 - 必填 对象存储存储桶 与当前日志主题同地域的存储桶作为投递目标存储桶 列表选择 必填 对象存储路径 对象存储存储桶的路径。默认按照/年/月/日/小时/,如/2022/7/31/14/ 在对象存储上来存储投递的日志文件,路径配置支持 strftime 的语法 ,例如:
- /%Y/%m/%d/生成的路径是/2022/7/31/
- /%Y%M%d/%H/生成的路径是/20220731/14/非/开头 可选 文件命名 - 投递时间命名,默认选项,例如202208251645_000_132612782.gz代表的是投递时间_日志主题分区_offset,Hive 可加载此文件
- 随机数命名,旧版的命名方式, 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 必填 单击下一步,进入高级配置,您可以选择数据的格式,以 JSON/CSV 进行投递。
投递数据格式 使用场景 按 CSV 格式投递 - 可用于 DLC 入湖计算
- 可以利用 CSV 投递实现投递日志原文(单行,多行,分隔符采集的日志)按 JSON 格式投递 常见数据格式,请用户参考自己的业务场景进行选择
投递格式为 JSON
选择要投递的日志内容(字段),其中_CONTENT_是用户的日志,SOURCE、FILENAME、HOSTNAME、TIMESTAMP、_TAG_元信息均为 CLS 的元数据字段,请您根据实际情况勾选。
转义选项:
| 转义选项 | 说明 |
|---|---|
| 不转义 | 不对您的 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 文件的首行,默认不写入 | 开/关 | 必填 |