2015-06-18 15 views
10

logstash içine girmek istediğim sekme verileri var. Bu sadece tüm .csv dosyaları arar ve sekmeleri kullanarak bunları ayıranlogstash sekme ayracı çıkmıyor

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

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

output { 
    stdout { 
     codec => rubydebug 
    } 
} 

: İşte benim yapılandırma dosyasıdır.

col1 col2 
data1 data2 

logstash çıkışı (iki sıra için) aşağıdaki gibidir: Bu gibi bir giriş için Açıkçası

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

doğru ayrıştırma değildir. Bu sorunun bir süre önce here ortaya çıktığını gördüm ama çözüm yoktu. Bu sorunun çözülüp çözülmediğini veya bunu yapmanın başka bir yolu olup olmadığını bilen var mı? Teşekkürler!

cevap

24

Ayırıcı olarak "\ t" yerine, gerçek bir sekme girin. gibi:

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

Çok teşekkürler. Şimdi bakıyorum, bu oldukça açık. – Bob

+6

Şaka yapıyor olmalısınız ..... (hala, teşekkürler + çok teşekkür ederiz) –

+0

Bu yapılandırma dosyasında bir yorumu hak ediyor: 'separator =>" \t "# <- bu beyaz alan aslında bir sekme değil değiştirin, zaten mükemmel ' – robbmj