json - Logstash 过滤,无法解析包含 JSON 数据的 .CSV
问题描述
我是 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.>}
对此的任何帮助将不胜感激
解决方案
推荐阅读
- android - 如何在手机上成功安装的apk中找到错误?
- rest - 如何使用 proc http 和 http_tokenauth 在后台调用 SAS STP
- android - 如何根据 ViewModel 中的其他两个 LiveData 值更改 LiveData 值
- c++ - 如何通过命令行参数分离botan加密和解密操作?
- ios - 存储有一些文件,但 Firestore 带宽太多
- python - 使用 PSP-Net 进行图像分割
- jquery - 检索到的会话存储变量在 jquery 条件中未被识别
- bash - youtube-dl 下载脚本调试
- mysql - 如何使用 JPA 向 MySQL 添加前缀索引?
- excel - 我忘记了将文本更改为 URL 格式的 Excel 公式