Json
简介
processor_json processor插件可以实现对Json格式日志的解析。
支持的Event类型
| LogGroup(v1) | EventTypeLogging | EventTypeMetric | EventTypeSpan |
|---|---|---|---|
| ✅ | ✅ | ❌ | ❌ |
版本
配置参数
| 参数 | 类型 | 是否必选 | 说明 |
|---|---|---|---|
| Type | String | 是 | 插件类型 |
| SourceKey | String | 是 | 原始字段名 |
| NoKeyError | Boolean | 否 | 无匹配字段时是否报错。如果未添加该参数,则默认使用true,表示报错。 |
| ExpandDepth | Int | 否 | JSON展开的深度。如果未添加该参数,则默认为0,表示不限制。1表示当前层级,以此类推。 |
| ExpandConnector | String | 否 | JSON展开时的连接符,可以为空。如果未添加该参数,则默认使用下划线(_)。 |
| Prefix | String | 否 | JSON展开时对字段附加的前缀。如果未添加该参数,则默认为空。 |
| KeepSource | Boolean | 否 | 是否保留原始字段。如果未添加该参数,则默认使用true,表示保留。 |
| UseSourceKeyAsPrefix | Boolean | 否 | 是否将原始字段名作为所有JSON展开字段名的前缀。如果未添加该参数,则默认使用false,表示否。 |
| KeepSourceIfParseError | Boolean | 否 | 解析失败时,是否保留原始日志。如果未添加该参数,则默认使用true,表示保留原始日志。 |
| IgnoreFirstConnector | Boolean | 否 | 是否忽略第一个连接符。如果未添加该参数,则默认使用false,表示忽略第一个连接符。 |
| ExpandArray | Boolean | 否 | 是否展开JSON数组。如果未添加该参数,则默认使用false,表示不展开数组。 |
样例
采集/home/test-log/路径下的json.log文件,并按照Json格式进行日志解析。
- 输入
echo '{"key1": 123456, "key2": "abcd"}' >> /home/test-log/json.log- 采集配置
enable: trueinputs: - Type: input_file FilePaths: - /home/test-log/*.logprocessors: - Type: processor_json SourceKey: content KeepSource: false ExpandDepth: 1 ExpandConnector: ""flushers: - Type: flusher_stdout OnlyStdout: true- 输出
{ "__tag__:__path__": "/home/test-dir/test_log/json.log", "key1": "123456", "key2": "abcd", "__time__": "1657354602"}