2017-08-24 78 views
0

我Nginx的原木被从Filebeat发送到Logstash被索引他们进入Elasticsearch。Filebeat - > Logstash索引文件两次

每个条目都被索引了两次。一旦使用正确的grok过滤器,然后再次除了“消息”字段外没有找到字段。

这是logstash配置。

02次,input.conf中

input { 
beats { 
    port   => 5044 
    ssl    => false 
    } 
} 

11 nginx的-filter.conf

filter { 
    if [type] == "nginx-access" { 
     grok { 
      patterns_dir => ['/etc/logstash/patterns'] 
      match => {"message" => "%{NGINXACCESS}" 
     } 
     date { 
      match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z", "d/MMM/YYYY:HH:mm:ss Z" ] 
     } 
    } 
} 

Nginx的模式

NGUSERNAME [a-zA-Z\.\@\-\+_%]+ 
NGUSER %{NGUSERNAME} 
NGINXACCESS %{IPORHOST:clientip}\s+%{NGUSER:ident}\s+%{NGUSER:auth}\s+\[%{HTTPDATE:timestamp}\]\s+\"%{WORD:verb}\s+%{URIPATHPARAM:request}\s+HTTP/%{NUMBER:httpversion}\"\s+%{NUMBER:response}\s+(?:%{NUMBER:bytes}|-)\s+(?:\"(?:%{URI:referrer}|-)\"|%{QS:referrer})\s+%{QS:agent} 

30 elasticsearc-output.conf

output { 
    elasticsearch { 
     hosts => ["elastic00:9200", "elastic01:9200", "elastic02:9200"] 
     manage_template => false 
     index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
     document_type => "%{[@metadata][type]}" 
    } 
} 

回答

0

检查filebeat配置!

在安装过程中,我不小心取消了注释并配置了filebeat.ymloutput.elasticsearch部分。

我然后还被配置配置的output.logstash部分却忘了注释掉elasticsearch输出部。

这导致发送一个进入logstash它被grok'd,另一个直接发送到elasticsearch。

相关问题