У меня есть контейнер Docker, который отправляет журналы системного журнала на logentries.com. Это работает нормально, но для случаев, когда вход в систему не работает или задерживается, мне нужен способ чтения журналов, созданных в реальном времени внутри контейнера.
Я знаю, что могу просто записывать журналы в файл, но я бы не стал этого делать, потому что они мне очень редко нужны, а также хранилище недолговечно, поскольку оно находится внутри Docker.
В идеале был бы какой-то способ читать журналы, обрабатываемые syslog-ng, возможно, через сокет / dev / log?
Спасибо!
Я бы использовал место назначения файла с шаблонными именами файлов и опция overwrite-if-old (). Таким образом, вы можете хранить журналы только неделю или день.
Вы можете использовать назначение usertty, но AFAIK нет консоли, к которой вы могли бы подключиться в докере, а также usertty может работать медленно в syslog-ng (что может не быть проблемой, если на вашем хосте не так много журналов).
Третий вариант - использовать дисковый буфер syslog-ng, таким образом syslog-ng сохраняет журналы на диске, если журналы недоступны, и отправляет их, когда он снова работает. Однако disk-buffer будет доступен только в syslog-ng 3.8, который еще не выпущен (но вы можете скомпилировать версию для разработки из исходников из GitHub)
С уважением, Роберт Фекете