web-dev-qa-db-ja.com

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出力は(2行の場合):

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

明らかに、それは正しく解析されていません。この問題は少し前に発生したことがわかりました ここ しかし解決策はありませんでした。この問題が解決されたかどうか、または別の方法があるかどうかを誰かが知っていますか?ありがとう!

13
Bob

区切り文字として「\ t」を使用する代わりに、実際のタブを入力します。このような:

filter {
   csv {
    separator => "  "
   }
}
32
Roman

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

列区切り文字の値を定義します。これが指定されていない場合、デフォルトはコンマ、です。表を区切り文字として定義する場合は、値を\ tではなく実際のタブ文字に設定する必要があります。

0
Lynn Han