Filebeat & docker containers, stdout контейнера как input для Filebeat

Привет всем, вопрос про Filebeat и Docker контейнеры.
Нужно сделать одну вещь, но пока не понимаю как.

Есть docker и логи контейнеров он пишет в stdout /proc/self/fd/2, а Filebeat должен их читать и отправлять в Logstash.
Я увидел в конфигах Filebeat input для контейнеров, но насколько я понял, это привязано к log-файлам в /var/lib/docker/.../... или Ошибаюсь?

В любом случае, реально ли осуществить подобное, не городя кучу костылей на bash'e передавая pid на stdin input Filebeat'a?
PS. Непонятность в том, что как должен Filebeat обнаружить процесс конкретного контейнера и забрать с него логи (точнее: из конкретного потока конкретного процесса)

Здравствуйте,
не эксперт в Filebeat, но насколько я знаю есть два способа читать логи контейнера:

  • из stdout. Это способ по умолчанию. Достаточно указать id контейнера.
  • напрямую из файла. Для этого необходимо указать путь к директории где докер хранит файлы.

UPD.
глянул документацию. Оказывается мои знания устарели. Docker input считается устаревшим начиная с версии 7.2. Новый input - containers. Если я понимаю правильно, то теперь надо указывать не containerId а просто файлы логов. Я уточню с командой которая разрабатывает Filebeat.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.