采集概述
最近更新时间: 2024-10-17 17:10:00
概述
日志服务 CLS 提供采集客户端和 API 接入方式,方便用户将应用程序日志导入到日志服务。目前日志服务提供结构化上传方式,要求数据按照 key-value 的方式进行上传。
日志结构化
日志的结构化指您的日志数据将以 key-value 的形式存储在 CLS 平台上。结构化后的日志数据可以根据指定的键值进行日志检索、日志分析及日志投递。日志服务允许直接上报结构化的数据,详见以下说明:
日志上传方式 | 如何上传结构日志 |
---|---|
API 上传 | 参见 使用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 名称 |