Я сойду с ума. У меня есть приложение, которое записывает журналы в файл. Каждая запись в журнале является объектом JSON. Пример моего .json файла выглядит следующим образом:
{"Property 1":"value A","Property 2":"value B"}
{"Property 1":"value x","Property 2":"value y"}
Я отчаянно пытаюсь получить записи журнала в LogStash. В попытке сделать это я создал следующий файл конфигурации LogStash:
input {
file {
type => "json"
path => "/logs/mylogs.log"
codec => "json"
}
}
output {
file {
path => "/logs/out.log"
}
}
Прямо сейчас, я вручную добавляю записи в mylogs.log, чтобы попытаться заставить его работать. Тем не менее, они появляются странно в stdout. Когда я смотрю open out.log, я вижу что-то вроде следующего:
{"message":"\"Property 1\":\"value A\", \"Property 2\":\"value B\"}","@version":"1","@timestamp":"2014-04-08T15:33:07.519Z","type":"json","host":"ip-[myAddress]","path":"/logs/mylogs.log"}
Из-за этого, если я отправлю сообщение ElasticSearch, я не получу поля. Вместо этого я получаю беспорядочный беспорядок. Мне нужно, чтобы мои свойства все еще были свойствами. Я не хочу, чтобы они были переполнены частью сообщения или выходом. У меня есть подозрение, что это связано с кодеками. Тем не менее, я не уверен. Я не уверен, что я должен изменить кодек на конфигурацию входа в logstash. Или, если я должен изменить ввод на выходной конфигурации. Я искренне буду признателен за любую помощь, поскольку я сейчас отчаянно нуждаюсь.
БЛАГОДАРЯ.