Отфильтровывает журналы контейнеров из jorunald с помощью fluentd

#docker #logging #fluentd #stackdriver #systemd-journald

#docker #ведение журнала #fluentd #stackdriver #systemd-journald

Вопрос:

У меня есть около 30 контейнеров docker, которые записывают журналы в journaldс тегом ‘container_name’. Я использую google-fluentd для отправки журналов в Google Stackdriver. Мне сложно классифицировать журналы, используя тег, указанный в journald.

В Google-fluentd.conf я попытался помечать журналы в Stackdriver один за другим, как показано ниже.

 <source>
  @type systemd
  filters [{ "_SYSTEMD_UNIT": "test.service" }]
  <storage>
    @type local
    persistent true
    path /var/run/google-fluentd/test.service.pos
  </storage>
  read_from_head true
  tag test.service
</source>
  

Это работает, но если количество сервисов увеличится, мне придется включать по одному блоку за раз. Есть ли простой способ получить журналы контейнера из journaldиз тега, не делая этого, и записать в Stackdriver?

Ответ №1:

filters Параметр устарел. Пожалуйста, используйте matches параметр вместо этого.

Используйте @include директиву для повторного использования ваших блоков конфигурации: