預研目標一:
Logstash接入多個beats,filter根據ip打tag, output通過tag條件輸出到不同的topic
環境:
兩個filebeat(filebeat1:10.192.77.150, filebeat2:10.192.77.151)
一個logstash: 10.192.77.152:5045
Kafka:10.192.78.27:9092 topic:test150和test151
日志文件:/opt/filebeat/filebeat-7.6.2/tmpLogFile/a.log 1萬條記錄
步驟:
1、 部署第一個filebeat1,配置文件內容如下圖:
說明:將日志采集后處理,增加ip字段,值為10.192.77.150,輸出到10.192.77.152:5045
2、 部署第二個filebeat2,配置文件內容如下圖:
說明:同樣將日志采集后處理,增加ip字段,值為10.192.77.151,輸出到10.192.77.152:5046
3、 部署logstash,配置conf內容
說明:
input接入上面的兩個beats,分別監聽5045、5046端口
filter中根據ip字段值添加tag:
10.192.77.150的ip加標簽150
10.192.78.151的ip,添加標簽151
output中判斷標簽是否含有150,存在則輸出到topic test150
判斷標簽是否含有151,存在則輸出到topic test151
分別啟動filebeat及logstash,結果如下:
test150接收到一萬條數據,取其中一條如下
test151接收到一萬條數據,取其中一條如下
結論:
接多個beats時,filter打tag標記后output可以通過if 【tags】條件輸出到不同的topic
預研目標二:
Logstash在input中接入多個beats,output通過if【field】條件輸出到不同的topic
步驟:
filebeat環境及配置文件不變
Logstash環境不變,配置文件修改如下圖:
結果:
test150新增一萬條數據,取其中一條如下
test151新增一萬條數據,其中一條格式如下
結論:接多個beats時,output可以通過if 【field】條件輸出到不同的topic