2016-10-10 1 views
0

Ich bekomme eine grobe Fehlermeldung über einige dieser Apache-Logs, das ergibt für mich keinen Sinn. Einer der Kibana Tags für diese ist die Grokparsefailure. Offensichtlich stimmt hier etwas nicht, aber ich habe Probleme herauszufinden, was das ist. Beispiel Protokolleintrag, der in einem Ausfall geführt:Problem mit GROK-Übereinstimmung für Zugriffsprotokolle

127.0.0.1 - - [10/Oct/2016:19:05:54 +0000] "POST /v1/api/query.random HTTP/1.1" 201 - "-" "-" 188 

Logstash Ausgabe Konfigurationsdatei:

filter { 
if [type] == "access" { 
    grok { 
     match => { "message" => "%{COMBINEDAPACHELOG}" } 
    } 
    } 
} 
filter { 
if [type] == "requests" { 
    grok { 
     match => { "message" => "%{COMBINEDAPACHELOG}" } 
    } 
    } 
} 
output { 
    elasticsearch { 
    hosts => ["http://ESCLUSTER:9200"] 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "[type]" 
    } 
    stdout { 
    codec => rubydebug 
    } 
} 
+0

Fügen Sie mit mehreren grok {} -Anweisungen jeweils einen eindeutigen Parameter tag_on_failure hinzu. Das wird Ihnen sagen, welcher fehlschlägt und Ihnen hoffentlich mehr Anleitung geben, um das Problem zu beheben. –

+0

Dies ist die Anforderungen einer. Tut mir leid, dass ich das nicht früher gegeben habe, aber ich war mir schon bewusst, welche es war, da der "Typ" auch in es eingeloggt ist, so dass ich den Typ sehen kann, der mit der grokpatternfailure übereinstimmt. – stobiewankenobi

Antwort

0

Es gibt zwei Räume statt einer zwischen den beiden - und zwischen dem - und dem [: 127.0.0.1 - - [.

Die pattern (%{IPORHOST:clientip} %{HTTPDUSER:ident} %{HTTPDUSER:auth}) erwarten nur einen Platz an diesen Punkten.

Also entweder Sie korrigieren Sie Ihre Log-Format, so dass alle Protokolle des gleichen Formats sind, oder Sie %{COMBINEDAPACHELOG} von

%{IPORHOST:clientip} %{HTTPDUSER:ident}%{SPACE}%{HTTPDUSER:auth}%{SPACE}\[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})\" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} 

ersetzen Dieses Muster entspricht dem COMBINEDAPACHELOG Muster, aber ich ersetzen Sie den Raum am Anfang durch die %{SPACE} Muster, die mit einem oder mehreren Raum übereinstimmen.

Verwandte Themen