日志存储制表符分隔符未转义



我有制表符分隔的数据,我想输入到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 => "col1tcol2"
column1 => "data1tdata2"

显然,它没有正确解析它。我看到这个问题不久前在这里提出,但没有解决方案。有谁知道这个问题是否已解决,或者有另一种方法可以解决?谢谢!

不要使用 "\t" 作为分隔符,而是输入一个实际的制表符。喜欢这个:

filter {
   csv {
    separator => "  "
   }
}

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

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

相关内容

  • 没有找到相关文章

最新更新