gpt4 book ai didi

fluentd:多个过滤器和匹配的一个来源

转载 作者:行者123 更新时间:2023-12-03 16:39:54 48 4
gpt4 key购买 nike

我有来源:

<source>
@type tail
tag service
path /tmp/l.log
format json
read_from_head true
</source>

我想在上面做几个过滤器和 match它有几个输出:
<source>
@type tail
tag service.pi2
path /tmp/out.log
format json
read_from_head true
</source>

<source>
@type tail
tag service.data
path /tmp/out.log
format json
read_from_head true
</source>

<filter service.data>
# some filtering
</filter>

<filter service.pi2>
# some filtering
</filter>

<match service.data>
@type file
path /tmp/out/data
</match>

<match service.pi2>
@type file
path /tmp/out/pi
</match>

到目前为止,为了使一切正常,我必须复制 source带有不同的标签。我可以让它从一个源定义工作吗?

最佳答案

您可以尝试使用插件 copyrelabel为达到这个。示例配置如下所示。

//One Source
<source>
@type tail
tag service
path /tmp/l.log
format json
read_from_head true
</source>

//Now Copy Source Events to 2 Labels
<match service>
@type copy
<store>
@type relabel
@label @data
</store>
<store>
@type relabel
@label @pi2
</store>
</match>

//@data Label, you can perform desired filter and output file
<label @data>
<filter service>
...
</filter>
<match service>
@type file
path /tmp/out/data
</match>
</label>

//@pi2 Label, you can perform desired filter and output file
<label @pi2>
<filter service>
...
</filter>
<match service>
@type file
path /tmp/out/pi
</match>
</label>

Routing示例文章有更多的方法可以通过重写标签等来做到这一点,但对我来说,我喜欢使用标签,上面看起来很简单。

我已经测试了上面的配置,它工作正常。让我知道你的想法 :)。

关于fluentd:多个过滤器和匹配的一个来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53960655/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com