logstash选项卡分隔符未转义

时间:2015-06-18 12:11:22

标签: elasticsearch logstash

我有标签分隔的数据,我想输入logstash。这是我的配置文件:

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

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

output {
    stdout {
        codec => rubydebug
    }
}

它只查找所有.csv个文件并使用制表符分隔它们。对于这样的输入:

col1    col2
data1    data2

logstash输出(对于两行):

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

显然它没有正确解析它。我看到这个问题刚刚提出here,但没有解决方案。有谁知道这个问题是否已经解决,或者是否有其他方法可以解决?谢谢!

2 个答案:

答案 0 :(得分:30)

不使用“\ t”作为分隔符,而是输入实际的选项卡。 像这样:

filter {
   csv {
    separator => "  "
   }
}

答案 1 :(得分:0)

https://www.elastic.co/guide/en/logstash/6.2/plugins-filters-csv.html#plugins-filters-csv-separator

  

定义列分隔符值。如果未指定,则默认为逗号。如果要将表格定义为分隔符,则需要将值设置为实际的制表符而不是\ t。