LINUX.ORG.RU
решено ФорумAdmin

Интересует вопрос по сборке логов из docker контейнеров

 ,


0

1

настроил себе graylog2 в одном из контейнеров ( https://www.graylog.org/centralize-your-docker-container-logging-with-graylog... ), и настроил сборку логов из рядом лежащих контейнеров. Заметил следующее: если запустить в контейнере цикл

docker run --log-driver=gelf --log-opt gelf-tag="TEST" --log-opt gelf-address=udp://172.21.21.31:12201 ubuntu /bin/sh -c 'while true; do echo `date` >> /dev/stdout ; sleep 1; done'

то все записи отлично логируются в graylog, но если подключиться к контейнеру

docker exec -it $CONTAINER_ID bash

и запустить параллельно еще один цикл

while true; do echo `date +%F` >> /dev/stdout ; sleep 1; done

, то этот STDOUT не будет попадать в graylog.

вопрос:

  • Почему так?
  • Как заставить, например tomcat, логи типа blbla_20151016.log тоже писать в stdout?

Ответ на: комментарий от Acceptor

Неужели тебе рассказать основы про процессы и файловые дескрипторы? Я не знаю какие у тебя знания но, если коротко тебе нужно открыть каким то образом fd/1 докера и писать туда. Я с кухней докера плохо знаком, так что не могу помочь.

itn ★★★
()
Ответ на: комментарий от itn

да, так понятно. Спасибо за пояснение.

Acceptor ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.