logstash收集時filebeat區分日志
1.場景
filebeat在服務器中同時收集nginx和web項目日志,需要對兩個日志在logstash中分別處理
2.版本區別
==6.x之前==的可以使用filebeat的prospectors里面配置document_type類型,然后在logstash里面使用if [type] == “string” 來匹配,這里不做詳細記錄
==6.x之后==配置文件不支持document_type,也就是說舊方法是失效的,目前我使用的是==6.2.3==版本的filebeat
3.解決方法
在filebeat里面新增一個fields字段,對這個字段做記錄然后在logstahs中進行區分
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 }
}
}