Я новичок в fluentd.
У меня есть приложения, которые работают в контейнерах Docker. Это приложения Java, которые регистрируют в формате JSON. Сообщения JSON обычно разбиваются на несколько строк.
Я хотел бы использовать драйвер журнала Docker fluentd для отправки этих сообщений на центральный сервер fluentd.
Драйвер Docker отправляет каждую строку в fluentd отдельно, поэтому мне нужно объединить эти многострочные сообщения.
Я ищу советы о том, как этого добиться.
Используя стандартную конфигурацию fluentd, мои журналы выглядят так:
20170501T050820+0000 docker.fa5077070a33 {"log":"{\"timestamp\":\"2017-05-01T05:08:20.168Z\", \"applicationName\":\"my-event-publisher\", \"applicationVersion\":\"0.0.6-SNAPSHOT\",","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00","source":"stdout"}
20170501T050820+0000 docker.fa5077070a33 {"container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00","source":"stdout","log":" \"logLevel\":\"INFO\", \"pid\":\"1\", \"threadId\":\"Thread-4\", \"host\":\"fa5077070a33\",","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e"}
20170501T050820+0000 docker.fa5077070a33 {"source":"stdout","log":" \"logger\":\"org.springframework.context.support.DefaultLifecycleProcessor\",","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00"}
20170501T050820+0000 docker.fa5077070a33 {"container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00","source":"stdout","log":" \"message\":\"Stopping beans in phase 2147483647\""}
20170501T050820+0000 docker.fa5077070a33 {"source":"stdout","log":"}","container_id":"fa5077070a330f6a3a6f9400cc0ed04f2cf61c5eb2d66c5693385b67f3b09e2e","container_name":"/ecs-td-dev-my-event-publisher-12-my-event-publisher-dcb1b5f5a383d3852d00"}
В каком порядке мне подойти к этому?
Мне нужно:
Если честно, мне не очень важен формат fluentd - добавление метки времени и докера ..
Я бы предпочел просто иметь файл с моими сообщениями JSON без дополнительных полей, добавленных fluentd.
Я видел документацию по использованию «парсера», но, как я уже сказал, я просто не совсем уверен в порядке, поскольку я пытаюсь объединить многострочный JSON.