簡體   English   中英

Filebeat:將不同的日志從filebeat發送到不同的logstash管道

[英]Filebeat : Send different logs from filebeat to different logstash Pipeline

我想要一個filebeat實例可以將數據發送到不同的logstash管道的功能。

這可能嗎?

我已經配置了一個具有兩個管道的logstash服務,兩個管道都給出了單獨的端口。 比如Pipeline1(Port 5044),Pipeline2(Port 5045)

現在我想使用filebeat將數據發送到logstash。 所以我有兩種類型的日志文件讓我們說log1,log2。

我想將log1發送到Pipeline1,將log2發送到Pipeline 2。

我只運行filebeat的一個實例,我怎么能這樣做?

Filebeat只能有一個輸出,您需要運行另一個filebeat實例或更改logstash管道以僅偵聽一個端口然后根據標記過濾數據,在logstash上過濾比在兩個實例上更容易。

在Filebeat中,您可以為每個輸入指定一個標記,並在logstash中使用這些標記將日志發送到所需的管道。

例如,具有標記log1事件將被發送到pipeline1 ,具有標記log2事件將被發送到pipeline2

您的配置需要在Filebeat中是這樣的:

- type: log
  enabled: true
  paths:
    - "/path/to/your/logs/*.json"
  tags: ["logN"]

然后,您需要在logstash過濾器中輸入條件並輸出到您想要的每個標簽:

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

Filebeat只能有一個輸出,但這可以通過在filebeat和logstash之間使用消息傳遞介質來實現,我在filebeat和logstash之間使用kafka來實現上述請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM