注意:交互模式仅支持部分函数。当目标日志主题为动态日志主题时,不支持交互模式。
一、管理可视化函数
你可在编辑加工语句页面切换至交互模式。
·添加可视化函数:单击,选中你需要添加的可视化函数大类、可视化函数名称。
·调试可视化函数:单击可视化函数右上角的▶️。
·删除可视化函数:单击可视化函数右上角的 X。
·编辑可视化函数:单击可视化函数右上角的 。
当前支持的可视化函数如下:
| 函数大类 | 可视化函数名称 | 使用场景 |
| 提取键值 | JSON:从 JSON 节点中提取字段和字段值分隔符:根据分隔符提取字段值,需要用户填字段名正则:根据正则公式提取字段值,需要用户填写字段名 | 日志结构化 |
| 日志处理 | 过滤日志:配置过滤日志的条件(多个条件为 OR 的关系)。例如字段 A 存在,或者字段 B 不存在,则过滤掉该条日志。分发日志:配置分发日志的条件 例如 status="error"且 message 中包含 "404"的,分发至 A 主题 例如 status="running"且 message 中包含 "200"的,分发至 B 主题保留日志:配置保留日志的条件 | 删除/保留日志 |
| 字段处理 | 删除字段重命名字段 | 删除/重命名字段 |
二、原始日志
日志中有两个字段 log 和 message,可对其进一步结构化。
{ "log": "{\\"offset\\":281,\\"file\\":{\\"path\\":\\"/logs/gate.log\\"}}", "message": "2024-10-11 15:32:10.003 DEBUG [gateway3036810e0c33b] ", "content":"cls_ETL|1.06s|fields_renamed"}
三、可视化加工函数的配置
| 可视化函数 | 配置项目 | 例子中配置的值 | 是否必填 | 说明 |
| 加工函数-JSON | 描述 | – | 否 | 填写你对该加工函数的描述 |
| | 字段 | log | 是 | 选中你要处理的原字段 |
| | 新字段前缀 | – | 否 | 为提取出来的新字段名称添加前缀 |
| | 新字段后缀 | – | 否 | 为提取出来的新字段名称添加后缀 |
| | 原字段自动删除 | ☑️ | 否 | 加工完成后,删除原字段 |
| 加工函数-正则 | 描述 | – | 否 | 填写你对该加工函数的描述 |
| | 字段 | message | 是 | 选中你要处理的原字段 |
| | 正则表达式 | (\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}.\\d{3}) ([A-Z]{5}|[A-Z]{4}) \\[(.+)\\] | 是 | \\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}.\\d{3} 提取为新字段 dates([A-Z]{5}|[A-Z]{4})提取为新字段 level[(.+)\\]提取为新字段 traceid |
| | 新字段名 | dates、level、traceid | 否 | 使用正则公式提取的新字段 |
| | 原字段自动删除 | ☑️ | 否 | 加工完成后,删除原字段 |
| 加工函数-分隔符 | 描述 | – | 否 | 填写你对该加工函数的描述 |
| | 字段 | content | 是 | 选中你要处理的原字段 |
| | 分隔符 | : | 是 | 分隔日志为多个新字段的值 |
| | 新字段名 | module、delay_time、msg | 是 | 使用分隔符提取的新字段 |
| | 原字段自动删除 | ☑️ | 否 | 加工完成后,删除原字段 |
四、加工结果
提取出来新的字段和字段值如下:
{"dates":"2024-10-11 15:32:10.003","delay_time":"1.06s","level":"DEBUG","module":"cls_ETL","msg":"fields_renamed","offset":"281","path":"/logs/gate.log","traceid":"gateway3036810e0c33b"}
五、原始日志
根据 loglevel 的值分发日志。
{ "__FILENAME__": "python.log", "__SOURCE__": "127.0.0.1", "log_level": "ERROR", "status": "404", "time": "2024-07-21 05:17:30.421" }
六、可视化加工函数的配置
| 可视化函数 | 配置项目 | 例子中配置的值 | 是否必填 | 说明 |
| 加工函数-日志分发 | 描述 | – | 否 | 填写你对该加工函数的描述 |
| | 分组1 | log_level="info" | 是 | 配置你的分发条件,当日志满足条件时,将会发送到对应的日志主题。例子中是名为 info 的日志主题 |
| | 分组2 | log_level="warning" | 否 | 配置你的分发条件,当日志满足条件时,将会发送到对应的日志主题。例子中是名为 warning 的日志主题 |
| | 分组3 | log_level=" error"且 status="400" | 否 | 配置你的分发条件,当日志满足条件时,将会发送到对应的日志主题。例子中是名为 error 的日志主题 |