Как сделать дамп только из журнала Docker в файл с свободно - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь использовать Fluent, чтобы выгрузить мою учетную запись докера в файл, но Fluent показывает слишком много данных, чтобы человек мог что-то понять из этого. В каждой строке я получаю такие данные, как идентификатор контейнера и имя контейнера, но меня интересует только фактическое поле журнала.

Пример получаемой строки выглядит следующим образом:

2019-10-18T12:36:31+00:00       hello-world.dev {"container_id":"5bcd768620c54d0508522c3c7bf4040d3556ab39accc11043ce384548c1bca10","container_name":"/docker_hello-world_1","source":"stdout","log":"Hello from Docker!"}

Но я бы хотел видеть только часть «log» json:

Hello from Docker!

Моя свободная конфигурация:

<source>
  @type forward
  port 24224
  bind 0.0.0.0
</source>

<match *.**>
  @type file
  <buffer tag>
  </buffer>
  append true
  path /fluentd/log/${tag}/logfile
</match>

Мой файл docker-compose:

version: "3"
services:
  hello-world:
    image: hello-world:latest
    restart: always
    logging:
      driver: "fluentd"
      options:
        fluentd-address: ${HOSTNAME}:24224 #You have to use the hostname of your machine
        tag: "hello-world.dev"
        fluentd-async-connect: "true"
  fluent:
    image: fluent/fluentd:v1.4-debian
    ports:
      - 24224:24224
    volumes:
      - /tmp/fluent.conf:/fluentd/etc/fluent.conf
      - /tmp/fluentLogs:/fluentd/log

Обратите внимание: использование журналов Docker или журналов Docker-Compose не является решением, к которому я стремлюсь. Я хочу использовать свободный для отправки журналов в другие системы.

Спасибо!

...