2017-03-03 4 views
0

Dies ist die logstash Config für Apache access_log:Logstash> Skip grokked Streichhölzer

input { 
    file { 
    path => "/var/log/http.log" 
    } 
} 
filter { 
    grok { 
    match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" } 
    } 
} 

Ich möchte alle Felder mit Ausnahme von % sammeln {WORD: Methode}

Wie kann ich lasse die Feld übersprungen/ignoriert von der Übertragung auf ElasticSearch?

Antwort

1

Sie können dies tun, indem Sie das Wort "method" entfernen, das nach WORD angezeigt wird. Also Ihr grok Filter würde wie folgt aussehen:

 
match => { "message" => "%{IP:client} %{WORD} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" } 
    } 

Die Worte, die nach dem Doppelpunkt erscheinen, sind Variablennamen, in denen die Typen wie IP, WORD, Nummer usw. gespeichert sind und weitergegeben.

+0

thx .. es einfach zu spät bei der Arbeit)) – Detzler

+0

kein Problem paaren, war weiß, dass ich das Gefühl;) –