Logstash: Ereignis aus Protokolldatei mit Daten aus statischer CSV-Datei anreichern

Zusammenfassung: Verwenden Sie in logstash einen Filter, der einen Wert aus dem Ereignisfeld liest, diesen Wert in einer externen Datei (z. B. csv) nachschlägt und den entsprechenden Wert aus einer externen Datei abruft. Verwenden Sie den Wert aus einer externen Datei, um das Ereignis als zusätzliches Feld hinzuzufügen.

Mehr Info: Ich habe eine Protokolldatei mit Ereignissen. Die Ereignisse sehen wie folgt aus:

{"@timestamp":"2014-06-18T11:52:45.370636+02:00","location":{"MainId":3,"SubId":"5"},"EndRequest":{"Duration":{"Main":0,"Page":6720}}}

Ich habe eine statische CSV-Datei wie:

1,left
2,right
3,top

Wenn ein Ereignis in logstash verarbeitet wird, möchte ich in der Lage sein, einen Filter zu verwenden, der den Wert von MainId überprüft (im Beispiel event = 3) und diesen Wert in der csv-Datei findet. Wenn es gefunden wird, muss das Ereignis einen Tag erhalten: "top".

Es ist so ähnlich wie beim Filter "GeoIP". Das Ereignis hat einen Feldwert, stimmt mit dem Wert in einer "Datenbank" überein und gibt Werte zurück, die zum Ereignis hinzugefügt werden können.

Ich konnte keinen aktuellen Filter finden, der den obigen Vorgang ausführen kann. Muss ich selbst einen benutzerdefinierten Filter erstellen? Wenn ja, kann jemand einen Hinweis geben, wie man das angeht?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage