Получение Docker журналов для Fluentd через SYSLOG_IDENTIFIER - PullRequest
0 голосов
/ 23 марта 2020

У меня есть docker контейнеры, которые записывают все журналы в Journald. Я добавил эти два флага в команду docker run

--log-driver=journald --log-opt tag="docker.test"

Когда я вижу журналы, используя journalctl CONTAINER_NAME = test- docker, я ясно вижу тег, который я определил в - log-opt tag = "docker. {{. Name}}"

Mar 23 06:33:57 sethnpl025 "docker.test"[1534]: {"thread":"localhost-startStop-1","level":"INFO","loggerName":.......

Моя главная цель - получить эти журналы из journald и записать их в журнал Google Cloud, используя Fluentd. Но проблема в том, что когда я пытаюсь отфильтровать журналы, используя SYSLOG_IDENTIFIER в Fluentd, я ничего не получаю. Как я прочитал в docker документации (если я правильно ее прочитал), установка - log-opt tag = "xxxx" установит CONTAINER_TAG и SYSLOG_IDENTIFIER

Моя конфигурация Fluentd:

  @type systemd
  tag test
  path /var/log/journal
  <storage>
    @type local
    persistent true
    path /var/log/fluent/journal.pos
  </storage>
  matches [{ "SYSLOG_IDENTIFIER": "docker.test" }]
  read_from_head true
</source>

Мой главный вопрос здесь - как я могу отфильтровать журналы от fluentd, используя SYSLOG_IDENTIFIER или я здесь что-то не так делаю?

1 Ответ

0 голосов
/ 24 марта 2020

Я нашел это Руководство для сообщества о том, как настроить драйвер ведения журнала облака Google, кажется, это может быть полезно для вас.

...