You need to enable JavaScript to run this app.
导航
数据流转
最近更新时间:2023.11.13 16:31:36首次发布时间:2023.03.09 11:16:16

您可以通过日志服务的数据加工功能,将一个源日志主题中的日志按照某些规则分发到多个目标日志主题中。本文档介绍复制分发数据场景的典型案例。
复制分发数据场景下,您可以将一个源日志主题的日志分发到多个目标日志主题。
例如某 HTTP 服务可能返回的状态码有 200、400 和 500。服务运行日志采集到日志服务后,需求是将不同状态码的日志分发到不同的日志主题中,以便于后续分析。

原始日志

[
    {
        "code":"200",
        "msg": "[2022-12-26 16:35:18,456][3c04c53d-ad24-4853-8603-a6e05f192c3b][INFO] URL: http://xxx.com/CreateTask, userID: 12345",
    },
    {
        "code":"400",
        "msg": "[2022-12-26 16:35:19,456][4eef6955-186a-47c6-9943-ec13fbd2f522][INFO] URL: http://xxx.com/CreateTask, userID: 12346",
    },
    {
        "code":"500",
        "msg": "[2022-12-26 16:35:20,456][63281184-098e-4d34-b2da-2dc258e6a3e5][INFO] URL: http://xxx.com/CreateTask, userID: 12347",
    }
]

配置输出目标

配置三个目标日志主题的别名,分别为“topic-200”、 “topic-400” 和 “topic-500”。
图片

DSL 加工规则

# 将code为200、400、500的不同日志分发到不同的目标日志主题中
c_if(op_eq(v("code"), "200"), e_output("topic-200"), op_eq(v("code"), "400"), e_output("topic-400"), op_eq(v("code"), "500"), e_output("topic-500"))

加工结果

别名为 topic-200 的日志主题中写入的数据如下:

[
    {
        "code":"200",
        "msg": "[2022-12-26 16:35:18,456][3c04c53d-ad24-4853-8603-a6e05f192c3b][INFO] URL: http://xxx.com/CreateTask, userID: 12345",
    }
]

别名为 topic-400 的日志主题中写入的数据如下:

[
    {
        "code":"400",
        "msg": "[2022-12-26 16:35:19,456][4eef6955-186a-47c6-9943-ec13fbd2f522][INFO] URL: http://xxx.com/CreateTask, userID: 12346",
    }
]

别名为 topic-500 的日志主题中写入的数据如下:

[
    {
        "code":"500",
        "msg": "[2022-12-26 16:35:20,456][63281184-098e-4d34-b2da-2dc258e6a3e5][INFO] URL: http://xxx.com/CreateTask, userID: 12347",
    }
]