Logstash - выпуск разбора формата json_lines
Вероятно, проблема n00b при попытке получить кодек json_lines для чтения данных из файла.
Вот как выглядит мой конфигурационный файл
input {
file {
path => ['C:/dev/logstash-5.1.2/data/sample.log']
start_position => "beginning"
sincedb_path => 'C:/dev/logstash-5.1.2/data/.sincedb'
codec => "json_lines"
}
}
output {
file {
path => ['C:/dev/logstash-5.1.2/data/sample-output.log']
flush_interval => 0
}
}
Вот как выглядит мой супер простой входной файл
{"id":1,"name":"A green door","price":12.50,"tags":["home","green"]}
{"id":2,"name":"A red door","price":12.50,"tags":["home","red"]}
Когда я переключаю кодек на plain
файл читается, а вывод записывается, как и ожидалось. Но независимо от того, что я делаю, я не могу получить json_lines
кодек для чтения и записи этих данных.
Я довольно новичок в logstash, так что это может быть что-то простое, что я просто не могу обернуться. Любая помощь будет наиболее ценится!
Ура!
1 ответ
В документации json_lines есть это предупреждение:
ПРИМЕЧАНИЕ. Не используйте этот кодек, если ваш исходный ввод ориентирован на строки в формате JSON, например, redis или ввод файлов. Скорее используйте кодек json. Дополнительная информация: Этот кодек ожидает получения потока (строки) строк с новой строкой. Ввод файла будет производить строку строки без новой строки. Поэтому этот кодек не может работать с линейно-ориентированными входами.
Вместо этого используйте кодек json.