2016-09-15 52 views
0

我试图将Zabbix日志数据提供给ELK堆栈以执行一些时序关联。然而,我没有得到我的Logstash中央服务器配置指定的过滤器,如果它充当代理的话。我正在使用Filebeat将日志条目发送到Logstash进行处理。但是,行没有被Logstash确认,但在Elasticsearch/Kibana中可见。这是我的配置。Logstash无法基于Filebeat的字段进行有条件筛选

filebeat: 
    prospectors: 
    - 
     paths: 
     - /var/log/zabbix/zabbix_proxy.log 
     input_type: log 
     fields: 
     tags: ["zabbix", "zabbix-proxy"] 
    registery_file: /var/lib/filebeat/registry 
output: 
    logstash: 
    hosts: ["elkls.com:5044"] 
logging: 
    files: 
    rotateeverybytes: 12345656 

然后我Logstash配置文件

input { 
    beats { 
    port => 5044 
    } 
} 
filter { 
    if "zabbix" in [fields.tags] { 
    grok { 
     match => { 
     "message" => { 
      "filter stuff here" 
     } 
     } 
    } 
    } 
} 
output { 
    elasticsearch { 
    hosts => [ "elkhost.com:9200"] 
    } 
} 

Logstash不作用在fields.tags线,和过滤/切割了日志行被传递给它从Filebeat。我是否正确访问这些变量?我做了与其他文件类似的事情,但只有当Logstash充当代理,并直接从文件中读取时。

回答