您可以使用 LogCollector 的 url_parse 插件,解析指定字段中的 URL 字符串,提取 URL 字符串的各组成部分(如scheme、host、port、path、query、fragment、username、password)并添加到日志中。
说明
LogCollector V2.2.5 及后续版本支持该插件。如何查看 LogCollector 版本,请参考2 查看软件版本。
名称 | 类型 | 是否必选 | 说明 |
---|---|---|---|
field | String | 是 | 包含 URL 字符串的字段名称。 |
allow_decode | Boolean | 否 | 是否在解析前针对 |
parse_query | Boolean | 否 | 是否将 URL 字符串中的查询参数解析为独立的字段并添加到日志中。 |
keep_source | Boolean | 否 | 是否保留原始 |
日志内容:
{ "request_url": "https%3A%2F%2Fuser%3Apass%40example.com%3A8080%2Fpath%2Fto%2Fresource%3Fparam1%3Dvalue1%26param2%3Dvalue2%23section1" }
LogCollector 的 url_parse 插件处理器配置:
不保留原始字段,提取request_url
中的 URL 字符串,对其解码后将查询参数解析为独立的字段添加到日志中。
{ "processors": [ { "url_parse": { "field": "request_url", "allow_decode": true, "keep_source": false, "parse_query": true } } ] }
处理结果:
{ "url_scheme": "https", "url_username": "user", "url_password": "pass", "url_host": "example.com:8080", "url_port": "8080", "url_path": "/path/to/resource", "url_query": "param1=value1¶m2=value2", "url_params_param1": "value1", "url_params_param2": "value2", "url_fragment": "section1" }