前提・実現したいこと
Logstash で複数行のイベントを含む CSV を Elasticsearch に取り込みたいのですが、うまくいきません。
恐らく logstash.conf の設定に誤りがあると思うのですが、ご存知の方いらっしゃいましたらご教授お願いします。
発生している問題
複数行のイベントが取り込まれない。
該当の設定ファイル、CSVファイル
logstash.conf
conf
1input { 2 file { 3 path => ["/Users/myuser/work/elasticsearch/csv/log.csv"] 4 sincedb_path => "/dev/null" 5 start_position => "beginning" 6 codec => multiline { 7 pattern => "^\s" 8 what => "previous" 9 } 10 } 11} 12 13filter { 14 csv { 15 columns => ["Date", "Level", "Message"] 16 } 17 date { 18 match => ["Date", "yyyy-MM-dd HH:mm:ss"] 19 } 20} 21 22output { 23 elasticsearch { 24 hosts => ["localhost:9200"] 25 index => "log" 26 } 27 stdout { 28 codec => rubydebug 29 } 30}
log.csv
csv
12019-01-01 10:30:00,INFO,Success. 22019-01-02 10:40:00,ERROR,An error1 has occurred. Please wait a moment and try again. 32019-01-02 10:50:00,ERROR,An error2 has occurred 4 Please wait a moment and try again.
試したこと
「Multiline codec plugin」のマニュアルを参照し、行の先頭が空白の場合は前行のイベントになるように設定をしているつもりなのですが、3行目〜4行目「2019-01-02 10:50:00」のイベントが取り込まれせんでした。(1行目〜2行目は取り込まれています)
また、multiline 設定を以下のようにしても結果は同様でした。
codec => multiline { pattern => "^2019" negate => true what => "previous" }
補足情報(FW/ツールのバージョンなど)
macOS 10.14.5
Elasticsearch 7.1.0
Logstash 7.1.0

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。