2017-12-12 10 views
0

Okay, also habe ich endlich herausgefunden, wie ich mit dem XPack-Debugger meinen regulären Ausdruck für Grok schreiben kann. Nun, meine Frage ist, wo genau ich meine benutzerdefinierte Musterdatei im System platzieren soll, damit Logstash die benutzerdefinierten Muster aufnehmen kann?Wo genau soll ich meinen GROK Regex für Logstash platzieren?

Und wäre das für die Konfiguration etwas korrekt, um den Musterort zu sehen, wenn der Ordner "Muster" genannt wurde?

input { 
} 

filter { 
    grok { 
     patterns_dir => "./patterns" 
     match =>["message", "%{MY_EGPATTERN:myegpattern}<%{NUMBER:number}>" ] 
     break_on_match => false 
    } 
} 

output { 
} 

PatternFile.txt in die ./patterns gespeichert Verzeichnis

MY_EGPATTERN [a-zA-Z] 
+1

Die [docs vorschlagen] (https://www.elastic.co/guide/en/logstash/current/plugin-filters-grok.html#plugins-filters-grok-patterns_dir) zu sto gib deine Muster in ein Unterverzeichnis von '/ opt/logstash /' zurück, aber ich denke, deine Konfiguration ist auch in Ordnung. Stellen Sie nur sicher, dass der Verzeichnisname genau übereinstimmt ('Muster' vs. "./pattern**s**"). – Phonolog

+0

Was ist mit dem Format für die Musterdatei, die ich erstelle? Ich habe das oben Angezeigte aktualisiert, um zu versuchen, darauf zuzugreifen. Ich erhalte einen Fehler, der besagt, dass das MUSTER NICHT DEFINIERT ist. – Elijah

Antwort

0

Patterns dir haben einen absoluten Pfad sein

ich in der Regel Mine in diesem Ordner halten:

patterns_dir => "/etc/logstash/patterns.d/"