采集概述

最近更新时间:2019-07-30 18:10:07

概述

日志服务 CLS 提供采集客户端和 API 接入方式,方便用户将应用程序日志导入到日志服务。目前日志服务提供结构化上传方式,要求数据按照 key-value 的方式进行上传。

日志结构化

日志的结构化指您的日志数据将以 key-value 的形式存储在 CLS 平台上。结构化后的日志数据可以根据指定的键值进行日志检索、日志分析及日志投递。日志服务允许直接上报结构化的数据,详见以下说明:

日志上传方式 如何上传结构日志
API 上传 使用 上传结构化日志接口
LogListener 上传 LogListener 通过配置解析模式上传结构化日志,解析模式支持分隔符、json、完全正则等

例如,一条本地原始日志为:

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-value 键值对的方式进行组织,为每个 key 定义一个键名称,如下所示:

IP: 10.20.20.10
time: [Tue Jan 22 14:49:45 CST 2019 +0800]
request: GET /online/sample HTTP/1.1
host: 127.0.0.1
status: 200
length: 647
bytes: 35
referer: http://127.0.0.1/

LogListener 提供多种解析方式,其中单行全文或多行全文上报的日志也会解析成结构化形式,LogListener 会默认添加__CONTENT__ 作为 key,原文作为 value,以此组成 key-value 键值对,如下表所示:

LogListener 解析方式 键名称(key) 解释说明
单行/多行全文 __CONTENT__ 默认 __CONTENT__ 为键名
json 格式 json 中的名称 自动以 json 日志原文中的名称/值,作为 key-value 键值对
分隔符格式 自定义 根据分隔符号划分字段后,需为每组字段自定义 key 名称
完全正则 自定义 根据正则表达式提取字段后,需为每组字段自定义 key 名称