У меня проблемы с использованием logstash для ввода следующих необработанных данных вasticsearch. Выделенные ниже необработанные данные, я надеялся, что плагин JSON работает, но в настоящее время это не так Я просмотрел другие сообщения, касающиеся json, но безрезультатно.
{
"offset": "stuff",
"results": [
{
"key": "value",
"key1": null,
"key2": null,
"key3": "true",
"key4": "value4",
"key4": [],
"key5": value5,
"key6": "value6",
"key7": "value7",
"key8": value8,
"key9": "value9",
"key10": null,
"key11": null,
"key12": "value12",
"key13": "value13",
"key14": [],
"key15": "key15",
"key16": "value16",
"key17": "value17",
"key18": "value18",
"key19": "value19"
},
{
"key20": "value20",
"key21": null,
"key22": null,
"key23": "value23",
"key24": "value24",
<etc.>
Мой текущий файл конфигурации:
input {
file {
codec => multiline
{
pattern => '^\{'
negate => true
what => previous
}
#type => "json"
path => <my path>
sincedb_path => "/dev/null"
start_position => "beginning"
}
}
#filter
#{
# json {
# source => message
# remove_field => message
# }
#}
filter
{
mutate
{
replace => [ "message", "%{message}}" ]
gsub => [ 'message','\n','']
}
if [message] =~ /^{.*}$/
{
json { source => message }
}
}
output {
#stdout { codec => rubydebug }
stdout { codec => json }
}
Я получаю длинную ошибку, которую не могу прочитать, так как она полна
"\" key10 \ ": null, \ r \" key11 \ ": \" value11 \ ", \ r
и т.д.
Кто-нибудь знает, что я делаю неправильно или как лучше увидеть свою ошибку? Это действительно json, но, возможно, я неправильно использую свое регулярное выражение для многострочного кодека.