logstash收集時filebeat區分日誌
1.場景
filebeat在服務器中同時收集nginx和web項目日誌,須要對兩個日誌在logstash中分別處理nginx
2.版本區別
==6.x以前==的能夠使用filebeat的prospectors裏面配置document_type類型,而後在logstash裏面使用if [type] == 「string」 來匹配,這裏不作詳細記錄
==6.x以後==配置文件不支持document_type,也就是說舊方法是失效的,目前我使用的是==6.2.3==版本的filebeatweb
3.解決方法
在filebeat裏面新增一個fields字段,對這個字段作記錄而後在logstahs中進行區分apache
filebeat配置
filebeat.prospectors:
- type: log
paths:
- /Library/apache-tomcat-8.5.15/bin/logs/web.log
#- c:\programdata\elasticsearch\logs\*
fields:
document_type: weblog #這一行的key:value均可以本身定義
logstash配置
output{
if[fields][document_type] == "weblog" {
stdout { codec => rubydebug }
}
}