Ваш json действительно не подходит для Logstash, у вас есть обратный слеш перед двойными кавычками на ваших ключах, и ваш объект json также находится между двойными кавычками.
Ваши строки json в исходном файле должны быть примерно такими:
{"request_id":1,"requestDetail_id":0,"enrichedContent":"enrich cont example","statusCode":"P","reasonDesc":"This is a test","createdBy":"Sarah","createdDate":"Sep 24, 2010"}
Способ работы с текущей строкой json без изменения способа ее генерации состоит в том, чтобы использовать сообщение gsub в вашем сообщении, чтобы изменить "{
на {
, }"
на }
и удалить обратную косую черту. \
Это делает следующий конвейер фильтра:
filter {
mutate {
gsub => ["message","^\"{","{"]
gsub => ["message","}\"$","}"]
gsub => ["message","[\\]",""]
}
json {
source => "message"
}
}
И вы можете удалить codec => "json"
из вашего блока ввода.