Logstash筛选,无法使用其中的JSON数据解析.CSV

时间:2019-07-02 18:01:16

标签: json csv filter logstash logstash-configuration

我是Logstash的新手,正在尝试解析CSV文件,该文件还包含带有JSON数据的字段(也嵌套在某些行中)。 JSON数据包含逗号和引号时,我在CSV解析时遇到了麻烦。

filter {
  csv {
    separator => ","
    columns => [ "timestamp" , "timestamp_iso" , "log_level" , "tag" , "message" ]
    skip_empty_columns => true
    quote_char => "'"
  }
  date {
    match => [ "timestamp_iso" , "yyyy'.'MM'.'dd HH:mm:ss'.'SSS"]
    target => "@timestamp"
  }
  mutate {
    convert => ["timestamp", "integer"]
    add_field => {
      "file" => "%{[@metadata][s3][key]}"
    }
  }
  json {
    source => "message"
    target => "message"
    skip_on_invalid_json => true
  }
  grok {
    match => { "file" => "%{GREEDYDATA:device_id}_%{GREEDYDATA:log_time}.csv" }
  }
}

我要从中解析JSON数据的字段是上面代码中的Message字段。 logstash的错误消息是:

 Error parsing csv {:field=>"message",......:exception=>#<CSV::MalformedCSVError: Illegal quoting in line 1.>}

任何帮助,将不胜感激

0 个答案:

没有答案