概述
单行正则模式用于处理结构化的日志,针对仅包含一行内容的日志,您需要指定一个正则表达式,采集器按照正则表达式将一条完整日志提取为多个 key-value 键值。
示例
如您需要采集的原始数据为:
- 原始日志:
[17/May/2023:13:21:30 +0800] "GET /my/course/1 HTTP/1.1" 127.0.0.1 200 782 9703 "https://www.ctyun.cn" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0" 0.354 0.354
- 配置自定义表达式为:
(\[[^:]+:\d+:\d+:\d+\s\S+)\s"(\w+)\s(\S+)\s([^"]+)"\s(\S+)\s(\d+)\s(\d+)\s(\d+)\s"([^"]+)"\s"([^"]+)"\s+(\S+)\s(\S+).*
- 系统将根据正则表达式提取键值对,您需要为每个提取出来的值指定key名称,同时会将原始日志内容存放在
__message__
字段中,如下所示:body_bytes_sent: 9703 http_host: 127.0.0.1 http_protocol: HTTP/1.1 http_referer: https://www.ctyun.cn http_user_agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0 request_length: 782 request_method: GET request_time: 0.354 request_url: /my/course/1 status: 200 time_local: [17/May/2023:13:21:30 +0800] upstream_response_time: 0.354 __message__: [17/May/2023:13:21:30 +0800] "GET /my/course/1 HTTP/1.1" 127.0.0.1 200 782 9703 "https://www.ctyun.cn" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0" 0.354 0.354
配置说明
在日志接入流程中-创建采集配置步骤中,按如下参数说明配置切割模式:
采集配置参数说明:
参数 | 描述 |
---|---|
切割模式 | 针对原始日志执行分词的模式,选择“单行正则”。 |
日志样例 | 输入您需要采集的日志样例。 |
正则表达式 | 输入正则表达式,点击【验证】按钮,系统将根据您输入的正则表达式对日志样例进行字段切割。 |
日志提取内容 | 根据正则表达式切割的结果会展示在日志提取内容中,您需要为每个字段定义唯一的 key。 |