需要在 LogStash 中将字符串转换为 JSON

cyb*_*oof 3 json elasticsearch logstash

我有 logstash 以 Json 格式摄取日志,该日志具有包含 JSON 的特定字段。由于该值被引用,Logstash 将该特定字段与 JSON 视为字符串。我希望 Logstash 也将该字段的内容视为 JSON,但无法弄清楚如何去除引号。

这是日志:{"Time":"2014-06-16","Hostname":"FOOname","Event":"Warning","CustomField":"{"Title":"这是处理的数据作为字符串","User":"FooUser"}"}

“CustomField”值周围的引号导致了问题。

谢谢

stu*_*ren 5

您当前的配置是什么以及您正在运行什么版本的 Logstash?

我认为以下内容会起作用:

filter {
  json {
    source => "CustomField"
    target => "CustomFieldParsed"
  }
}
Run Code Online (Sandbox Code Playgroud)

http://logstash.net/docs/1.4.1/filters/json

如果您的 JSON 在 Title 字段中,则

    source => "CustomField.Title"
Run Code Online (Sandbox Code Playgroud)