многострочное поле в csv (logsta sh) - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь заставить многострочное поле для файла csv работать в logsta sh. Но многострочный файл для поля не работает.

My log sta sh .conf:

input {

     file {
         type => "normal"
         path => "/etc/logstash/*.csv"
         start_position => "beginning"
         sincedb_path => "/dev/null"
         codec => multiline {
                        pattern => "."
                        negate => true
                        what => "previous"
        }
     }
}


filter {
  if [type] == "normal" {
     csv {
        separator => ","
        columns => ["make", "model", "doors"]
     }
     mutate {convert => ["doors","integer"] }

  }
}


output {
   if [type] == "normal" {
      elasticsearch {
                   hosts => "<put_local_ip>"
                   user => "<put_user>"
                   password => "<put_password>"
                   index => "cars"
                   document_type => "sold_cars"
      }
      stdout {}
   }

}

.csv с несколькими строками (в кавычках) для поля make is :

make,model,doors
mazda,mazda6,4
"mitsubishi
4000k", galant,2
honda,civic,4

После запуска «logsta sh -f /etc/logstash/logstash.conf» я получаю ошибку синтаксического анализа из журналов:

{
          "tags" => [
        [0] "_csvparsefailure"
    ],
    "@timestamp" => 2020-07-13T19:13:11.339Z,
          "type" => "normal",
          "host" => "<host_ip_greyedout>",
       "message" => "\"mitsubishi",
      "@version" => "1",
          "path" => "/etc/logstash/cars4.csv"
}
...