Назад | Перейти на главную страницу

Чтение журналов syslog-ng, отправляемых на удаленный сервер

У меня есть контейнер 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)

С уважением, Роберт Фекете