Рейтинг:0

apache в докере: лучшая практика для управления журналами, записанными на подключенный том?

флаг in

Как лучше всего писать и управлять файлами журналов, написанными Apache HTTPD, работающими в контейнере?

Мы запускаем Apache HTTPD, используя базовый образ докера httpd:2.4-яблочко. Прямо сейчас HTTPD настроен на запись своих журналов в stdout и stderr. Docker фиксирует вывод этого контейнера, и я могу видеть содержимое журнала через журналы докеров <containerId>.

Я хотел бы перенастроить HTTPD, чтобы доступ, ошибки и другие выходные данные журнала HTTPD направлялись в файлы, которые будут сохранять/опубликовывать эти выходные данные очевидным образом. Я могу справиться с пересмотром httpd.conf и httpd-ssl.conf, я определенно могу смонтировать том в контейнер, и я буду бороться с разрешениями процесса и каталога, пока запущенный докером процесс HTTPD не сможет писать.

Меня беспокоит периодическая ротация файлов журналов. Соответствующий документ Apache: https://httpd.apache.org/docs/2.4/logs.html#rotation

Я думал о logrotate, но не уверен, что это уместно здесь. Просто для контекста: в старом методе развертывания «все на одном компьютере без докеров» HTTPD записывает файл со своим идентификатором процесса, затем logrotate читает этот файл и отправляет сигнал (HUP) процессу httpd, который, в свою очередь, -прочитал его конфиг, переделал лог-файлы и т.д.

Скажите, пожалуйста, как правильно развернуть apache-in-docker, когда logrotate не может отправить сигнал работающему HTTPD? Вывод журнала конвейера в исполняемый файл, предоставленный apache ротация журналов лучший выбор?

ОБНОВЛЕНИЕ: успешно создан пользователь, настроен пользователь в httpd.conf, смонтировал том и установил следующие строки в httpd-ssl.conf внутри директивы VirtualHost:

ErrorLog "|bin/rotatelogs -n 14 /opt/data/logs/httpd-error.log 86400"
TransferLog "|bin/rotatelogs -n 14 /opt/data/logs/httpd-transfer.log 86400"
CustomLog "|bin/rotatelogs -n 14 /opt/data/logs/httpd-ssl.log 86400" \
      "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Еще хотелось бы услышать мнение эксперта, заранее спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.