Я новичок в Logstash и пытаюсь проанализировать файл CSV, который также содержит поля с данными JSON (также вложенными в несколько строк). У меня проблемы с анализом CSV, поскольку данные JSON содержат запятые и кавычки.
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, - это поле Сообщение в приведенном выше коде. Сообщение об ошибке из logstash:
Error parsing csv {:field=>"message",......:exception=>#<CSV::MalformedCSVError: Illegal quoting in line 1.>}
Любая помощь с этим будет высоко ценится