logstash多管道决策器

logstash多管道决策器,logstash,logstash-configuration,Logstash,Logstash Configuration,下面是我的用例, 基于运行时的一些业务逻辑,我需要将从日志文件生成的事件发布到不同的弹性搜索端点。 输入插件(文件名)将相同,但输出插件(弹性端点)可能会更改。我无法在每个日志行中提供运行时生成的数据。 例如,thread1和thread2都在为app.log生成日志。我想将日志从thread1推送到弹性端点1,并将日志从thread2推送到弹性端点2。在这种情况下,两者的输入(app.log)相同。 这是可以实现的吗?是的,只要在输出中使用条件即可 您需要有一个要筛选的字段,例如一个名为thr

下面是我的用例, 基于运行时的一些业务逻辑,我需要将从日志文件生成的事件发布到不同的弹性搜索端点。 输入插件(文件名)将相同,但输出插件(弹性端点)可能会更改。我无法在每个日志行中提供运行时生成的数据。 例如,thread1和thread2都在为app.log生成日志。我想将日志从thread1推送到弹性端点1,并将日志从thread2推送到弹性端点2。在这种情况下,两者的输入(app.log)相同。
这是可以实现的吗?

是的,只要在输出中使用
条件即可

您需要有一个要筛选的字段,例如一个名为
thread
的字段,该字段的值为thread、
thread1
thread2
,然后您需要如下内容:

output {
    if [thread] == "thread1" {
        elasticsearch to endpoint1
    }
    if [thread] == "thread2" {
        elasticsearch to endpoint2
    }
}