概述
日志服务(Cloud Log Service,CLS)投递功能打通产品生态上游链路,将对象存储(Cloud Object Storage,COS)中的数据导入到日志服务,实现日志数据的查询分析、加工等操作,挖掘日志数据价值,您只需要在日志服务控制台进行简单的配置即可完成数据导入。
前提条件
- 开通日志服务,创建日志集与日志主题,并成功采集到日志数据。
- 开通对象存储,并确保待导入的文件已经上传到 COS Bucket 中。
- 设置当前操作账号拥有访问 COS 的权限,即已授权日志服务使用 CLS_QcsRole 角色访问您的 COS 资源。
配置流程
- 选择日志主题:可以选择现有的日志主题(topic)或者创建新的日志主题(topic),用于存储从 COS 导入到 CLS 的数据。
- 导入数据源配置:需要配置想要导入的 COS 对象路径,以及压缩方式(gzip/lzop/snappy/无压缩)。
- 解析配置:需要配置导入文件的解析格式,目前支持单行全文/多行全文/单行正则/多行正则/JSON/分隔符。
- 索引配置:需要配置目前 topic 的索引配置,且检索必须开启索引配置。如果选择已存在的日志主题,则新索引配置只对修改后的数据生效。
操作步骤
步骤1:选择日志主题
如果您想选择新的日志主题,可执行如下操作:
- 登录日志服务控制台。
- 在左侧导航栏中,单击日志主题,进入日志主题页面。
- 选择需要投递的日志主题,进入日志主题管理页面。
- 选择采集配置页签,在对象存储数据导入配置栏下单击新增。

步骤2:数据源配置
在数据源配置页面,依次配置如下信息:
配置项 说明 规则 是否必填 任务名称 配置导入任务的名称。 字母、数字、_和- 是 存储桶地域 配置需要导入的文件所在存储桶的地域位置。如果文件所在地域和导入日志主题所在地域不同,则会因跨地域访问而产生外网流量。 列表选择 是 对象存储存储桶 选择需要导入的文件所在存储桶。下拉框会列出当前选择地域下的所有存储桶供您选择。 列表选择 是 文件前缀 输入待导入的 COS 文件所在文件夹的前缀,用于准确定位待导入的文件夹,支持输入文件前缀 csv/,或完整文件路径 csv/object.gz。 输入框 是 压缩模式 选择待导入的 COS 文件的压缩格式,日志服务根据对应格式进行解压并读取数据,支持 gzip/lzop/snappy/ 无压缩。 列表选择 是 单击预览,系统会选择符合配置规则的一条路径数据进行展示,并提示输入的文件前缀下共有多少文件。
确认预览无误后,单击下一步。
步骤3:解析配置
- 在解析配置页面,配置如下主要信息:
- 编码模式:
- UTF-8:若您的日志文件编码模式为 UTF-8, 请选择该选项。
- GBK:若您的日志文件编码模式为 GBK, 请选择该选项。
- 提取模式:可选择以下几种提取模式。
- 编码模式:
| 提取模式 | 说明 |
|---|---|
| JSON | 结构化提取 假设您的一条 JSON 日志原始数据为: |
{"remote_ip":"10.135.46.111","time_local":"22/Jan/2019:19:19:34 +0800","body_sent":23,"responsetime":0.232,"upstreamtime":"0.232","upstreamhost":"unix:/tmp/php-cgi.sock","http_host":"127.0.0.1","method":"POST","url":"/event/dispatch","request":"POST /event/dispatch HTTP/1.1","xff":"-","referer":"http://127.0.0.1/my/course/4","agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0","response_code":"200"}经过日志服务结构化处理后,该条日志将变为如下: |
|
agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0body_sent: 23http_host: 127.0.0.1method: POSTreferer: http://127.0.0.1/my/course/4remote_ip: 10.135.46.111request: POST /event/dispatch HTTP/1.1response_code: 200responsetime: 0.232time_local: 22/Jan/2019:19:19:34 +0800upstreamhost: unix:/tmp/php-cgi.sockupstreamtime: 0.232url: /event/dispatchxff: - |
|
| 分隔符 | 结构化提取 假设您的一条日志原始数据为: |
10.20.20.10 - ::: [Tue Jan 22 14:49:45 CST 2019 +0800] ::: GET /online/sample HTTP/1.1 ::: 127.0.0.1 ::: 200 ::: 647 ::: 35 ::: http://127.0.0.1/当日志解析的分隔符指定为 :::,该条日志会被分割成八个字段,并为这八个字段定义唯一的 key,如下所示: |
|
IP: 10.20.20.10 -bytes: 35host: 127.0.0.1length: 647referer: http://127.0.0.1/request: GET /online/sample HTTP/1.1status: 200time: [Tue Jan 22 14:49:45 CST 2019 +0800] |
|
| 单行-全文日志 | 非结构化提取 单行全文日志是指一行日志内容为一条完整的日志。日志服务在采集的时候,将使用换行符 \n 来作为一条日志的结束符。为了统一结构化管理,每条日志都会存在一个默认的键值__CONTENT__,但日志数据本身不再进行日志结构化处理,也不会提取日志字段,日志属性的时间项由日志采集的时间决定。假设一条日志原始数据为: |
Tue Jan 22 12:08:15 CST 2019 Installed: libjpeg-turbo-static-1.2.90-6.el7.x86_64采集到日志服务的数据为: |
|
__CONTENT__:Tue Jan 22 12:08:15 CST 2019 Installed: libjpeg-turbo-static-1.2.90-6.el7.x86_64 |
- 过滤器:
- 过滤器可以帮助您根据业务需要添加日志采集过滤规则,为您筛选出有价值的日志数据。过滤规则为 Perl 正则表达式,所创建的过滤规则为命中规则,即匹配上正则表达式的日志才会被采集上报。
- 分隔符格式日志需要根据所自定义的键值对来配置过滤规则。例如,样例日志使用分隔符模式解析后,您希望 status 字段为 400 或 500 的所有日志数据被采集,那么 key 处配置 status,过滤规则处配置 400|500。
- 单击下一步。
步骤4:索引配置
在索引配置页面,配置如下信息:
- 索引状态:确认是否需要开启索引以使用日志检索等分析功能。
- 全文索引:
- 全文分词符:默认为
@&()='",;:<>[]{}/ \n\t\r,确认是否需要修改。 - 大小写敏感:检索时是否对大小写敏感。例如日志为 Error,若大小写敏感,则使用 error 无法检索到该条日志。
- 包含中文:日志中包含中文且需要对中文进行检索时可开启该功能。例如日志为“用户登录接口超时”,若未开启该功能,搜索
"超时"无法检索到该日志,只有完整地搜索"用户登录接口超时"才能检索到该日志,开启该功能后便可通过搜索“超时”检索到该日志。
- 全文分词符:默认为
- 键值索引:您可根据 key 名按需进行字段类型、分词符以及是否开启统计分析的配置。
注意
- 检索必须开启索引配置,否则无法检索。
- 索引规则编辑后仅对新写入的日志生效,已有数据不会更新。
单击提交,完成导入配置。
相关操作
导入进度查询
- 当前日志主题下存在 COS 导入任务时,单击检索分析,进入检索分析页面查看当前导入任务的进度。
- 在检索分析页面右上角的进度悬浮球显示目前完成的导入进度。单击悬浮球,右侧浮窗会展开导入任务详情。

- 在任务详情页面,单击查看详情,即可跳转采集配置页查询导入的详细配置。

