Добрый день. Во время парсина логов контейнерв docker swarm возникает ошибка:
ERROR [reader_json] readjson/json.go:65 Error decoding JSON: invalid character '\x06' looking for beginning of value
настройки filebeat:
filebeat.inputs:
- type: log
paths:
- '/var/lib/docker/containers/*/*.log'
json.message_key: log
json.keys_under_root: true
json.add_error_key: true
processors:
- add_docker_metadata: ~
Подскажите как решить проблему
В этом файле, где-то находиться символ с кодом \x06, надо открыть этот файл в редакторе, который показывает такие символы и удалить его.
Спасибо за ответ. Нашел кто добавлял этот символ в логи, проблема решена.
Вопрос. Как лучше парсить логи nginx из docker, они их собирает одной строкой.
Вы модуль nginx сконфигурировали?
Сконфигурировал таким образом.
Да конечно включен.

Данные сразу в elasticsearch отправляются, может правильнейв logstash отправлять и там через grok их обрабатывать?
Мне сложно сказать, что конкретно происходив без воспроизведения вашей ситуации, но я так подозреваю ваша маска в var.paths будет собирать кучу логов докера кроме логов nginx. Модуль nginx с такими логами разобраться скорее всего не сможет - поэтому и валит все в одну строку. Как эта строка выглядит и из какого лога вы ее получаете?
Выглядит так лог.
Как тогда правильно модуль nginx настроить?