2017-08-24 64 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。

相關問題