2017-06-21 1 views
0

Ich möchte wissen, ob logstash der Lage ist, Feldnamen aus der CSV-Datei direkt zu erstellen, alles, was ich so, wie es wie hart codieren diese finden:In Logstash: Gibt es eine Möglichkeit, Felder direkt aus dem Header von CSV-Dateien zu erstellen?

csv { 
      separator => "," 
      columns => ["Timestamp", 
         "Imsi", 
         "imeitac", 
         "msisdn", 
         "mcc", 
         "mnc", 
         "rat", 
         "bearer", 
         "ID", 
         "Location"] 
    } 

jedoch die Felder nicht in der gleichen Reihenfolge kommen Es gibt also eine dynamischere Möglichkeit, die Felder bei der Ausführung zu erstellen. Im Wesentlichen möchte ich in der Lage sein, alle Felder entsprechend dem Header der CSV-Datei zu Beginn des Parsens zu erstellen.

Alle Ressourcen, die ich finden konnte, sagten, dass es nicht möglich war out of the box, wenn ja, was ist eine andere Möglichkeit, dies zu tun?

+0

Wenn Sie nach einer "besten" Antwort fragen, fragen Sie nach einer Meinung. Vermeiden Sie dieses Problem, indem Sie nach "anderen" Antworten fragen und Meinungen auslassen. Hoffe das hilft. –

+0

(Bearbeitet) jede andere Möglichkeit, ich bin ziemlich neu zu ELK Stack, so dass ich nur auf der Suche nach neuen Ideen bin. –

Antwort

0

Nein, so viel, nein. Logstash arbeitet an Ereignissen, bei denen es sich in diesem Fall um einzelne Zeilen in einer Datei handelt. Zu dem Zeitpunkt, zu dem der CSV-Filter ein Ereignis sieht, hat er keine Ahnung, was vorher geschehen ist.

Um zu tun, was Sie suchen, benötigen Sie einen Codec auf dem file {} Eingang, der diese Lüftungsschlitze einnahm. Einen Codec kann ich jedoch nicht finden. Wenn Sie das Format der Datei ändern können, gibt es einen json {} Codec, der wird Werte zuweisen, die in der Datei gefunden werden.

+0

Ich kann mit JSON-Dateien arbeiten, ich werde das versuchen. –

Verwandte Themen