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 }  
    }
}

你可能感兴趣的:(ELK,logstash,filebeat)