首页 > 解决方案 > Fluentbit rewrite_tag 不适用于 JSON 数组

问题描述

我们正在使用 fluent-bit 插件从文件中提取并发送到 HTTP 端点。

示例日志如下所示。

tenant 1 testing 100

输入的配置如下所示。

[INPUT]
    Name tail
    Path /var/log/input/**/*.log
    Tag tenant
    Path_Key filename

然后,我们使用 lua 过滤器根据文件路径添加密钥。这按预期工作。

[FILTER]
    Name  lua
    Match  *
    script  /etc/td-agent-bit/test.lua
    call  extract_id

此时,我们尝试过滤消息并根据tenantid重写标签。

[FILTER]
    Name          rewrite_tag
    Match         *
    Rule          $tenantid ^([a-z]+)-([0-9]+)$ from.$tenantid false
    Emitter_Name  re_emitted

使用标准输出,如下所示,

[OUTPUT]
    Name   stdout
    Match  *

我们验证消息如下所示。

tenant: [1630073320.394812583, {"log"=>"tenant 1 testing 100", "tenantid"=>"tenant1", "filename"=>"/var/log/input/tenant1/file1.log"}]

看起来 rewrite_tag 插件无法按预期工作和更改标签。正则表达式模式有问题吗?对此的任何帮助将不胜感激。

标签: fluent-bit

解决方案


推荐阅读