2015-06-18 14 views
10

Ich habe Tab getrennt Daten, die ich in logstash eingeben möchte. Hier ist meine Konfigurationsdatei:logstash tab separator nicht entkommen

input { 
    file { 
     path => "/*.csv" 
     type => "testSet" 
     start_position => "beginning" 
    } 
} 

filter { 
    csv { 
     separator => "\t" 
    } 
} 

output { 
    stdout { 
     codec => rubydebug 
    } 
} 

Es sieht einfach für alle .csv Dateien und trennt diese Registerkarten. Für eine Eingabe wie folgt aus:

col1 col2 
data1 data2 

logstash Ausgang (für die beiden Zeilen):

column1 => "col1\tcol2" 
column1 => "data1\tdata2" 

Offensichtlich ist es nicht Parsen es richtig. Ich habe gesehen, dass dieses Problem vor einer Weile aufgeworfen wurde here, aber es gab keine Lösung. Weiß jemand, ob dieses Problem gelöst wurde, oder vielleicht gibt es einen anderen Weg, es zu tun? Vielen Dank!

Antwort

24

Anstatt "\ t" als Trennzeichen zu verwenden, geben Sie eine aktuelle Registerkarte ein. gefällt das:

filter { 
    csv { 
    separator => " " 
    } 
} 
+0

Vielen Dank. Sieht man jetzt, ist das ziemlich offensichtlich. – Bob

+6

Sie müssen Witze machen ..... (immer noch, danke + upvote) –

+0

Nun, das verdient einen Kommentar in der Konfigurationsdatei: 'separator =>" \t "# <- dieser Leerraum ist eigentlich ein Tab, nicht ändere es, es ist schon perfekt! – robbmj