elasticsearch Filebeat:将不同的日志从Filebeat发送到不同的日志存储管道,elasticsearch,logstash,kibana,filebeat,elasticsearch,Logstash,Kibana,Filebeat" /> elasticsearch Filebeat:将不同的日志从Filebeat发送到不同的日志存储管道,elasticsearch,logstash,kibana,filebeat,elasticsearch,Logstash,Kibana,Filebeat" />

elasticsearch Filebeat:将不同的日志从Filebeat发送到不同的日志存储管道

elasticsearch Filebeat:将不同的日志从Filebeat发送到不同的日志存储管道,elasticsearch,logstash,kibana,filebeat,elasticsearch,Logstash,Kibana,Filebeat,我想要一个filebeat实例可以向不同的日志存储管道发送数据的功能。 这可能吗 我已经配置了一个日志存储服务,它有两个管道,两个都是 给出了不同端口的管道。 假设管道1(端口5044),管道2(端口5045) 现在我想使用filebeat将数据发送到日志存储。所以我有 两种类型的日志文件,比如log1,log2 我想将log1发送到管道1,将log2发送到管道2 我只运行filebeat的一个实例,如何做到这一点?filebeat只能有一个输出,您将需要运行另一个filebeat实例,或者更改

我想要一个filebeat实例可以向不同的日志存储管道发送数据的功能。

这可能吗

我已经配置了一个日志存储服务,它有两个管道,两个都是 给出了不同端口的管道。 假设管道1(端口5044),管道2(端口5045)

现在我想使用filebeat将数据发送到日志存储。所以我有 两种类型的日志文件,比如log1,log2

我想将log1发送到管道1,将log2发送到管道2


我只运行filebeat的一个实例,如何做到这一点?

filebeat只能有一个输出,您将需要运行另一个filebeat实例,或者更改日志存储管道以仅侦听一个端口,然后根据标记过滤数据,在日志存储上进行过滤比有两个实例更容易

在Filebeat中,您可以为每个输入指定一个标记,并在日志存储中使用这些标记将日志发送到所需的管道

例如,带有标签
log1
的事件将发送到
pipeline1
,带有标签
log2
的事件将发送到
pipeline2

您的配置需要与Filebeat中的类似:

- type: log
  enabled: true
  paths:
    - "/path/to/your/logs/*.json"
  tags: ["logN"]
然后,您需要在日志存储过滤器中设置一个条件,并将其输出到所需的每个标记:

filter {
    if "logN" in [tags] {
        filters
    }
}
output {
    if "logN" in [tags] {
        output
    }
}

Filebeat只能有一个输出,但这可以通过在Filebeat和logstash之间使用消息传递媒介来实现,我在Filebeat和logstash之间使用kafka来实现上述请求

为什么需要两个不同的日志存储管道?是的,我知道这个配置,我只是不想在配置中添加if-else。因此,我正在寻找一种解决方案,如果我可以在filebeat中配置多个输出位置。谢谢你消除我的疑虑。