logstash选项卡分隔符未转义

Bob*_*Bob 13 elasticsearch logstash

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

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

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

output {
    stdout {
        codec => rubydebug
    }
}
Run Code Online (Sandbox Code Playgroud)

它只是查找所有.csv文件并使用选项卡分隔它们.对于这样的输入:

col1    col2
data1    data2
Run Code Online (Sandbox Code Playgroud)

logstash 输出是(对于两行):

column1 => "col1\tcol2"
column1 => "data1\tdata2"
Run Code Online (Sandbox Code Playgroud)

显然它没有正确解析它.我看到这个问题刚刚提到这里,但没有解决方案.有谁知道这个问题是否已经解决,或者还有另一种方法可以做到这一点?谢谢!

Rom*_*man 32

而不是使用"\ t"作为分隔符,输入一个实际的选项卡.像这样:

filter {
   csv {
    separator => "  "
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 那么值得在配置文件中注释:`separator => " " # <- 这个空格实际上是一个制表符,不要改变它,它已经很完美了` (2认同)