LINUX.ORG.RU
ФорумAdmin

Логирование сервисов systemd

 ,


0

5

Подскажите как правильно сконфигурировать логирование через systemd что бы все логи моей службы гарантированно сохранялись неограниченное время. Проблема в том что если просто расширить глобальные лимиты для логов системы со временем остальные службы и приложения выжрут всё доступное дисковое пространство и данные моего сервиса (которые относительно небольшого размера) попадут под ротацию и будут уничтожены. Нужно как-то сконфигурировать что бы логи моей службы стояли особняком и никогда не зачищались.


LogNamespace посмотри.

Но если надо прям «чтобы никогда не зачищались», то лучше настроить экспорт в текст или ещё куда-то.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)

Systemd>journald>user level syslogd(rsyslog, syslog-ng)>фильтр по имени отправителя + logrotate(хранить вечно)

Bers666 ★★★★★
()

логирование через systemd

Поясните, пожалуйста, вы вы подразумеваете под этим, т.к. systemd - это всего лишь универсальный подход к управлению демонами и процессами ОС, а для логирования используются другие программы (syslog, nxlog, …). Конечно многие из них тоже запускаются в рамках systemd, и, наверное, самый популярный сейчас - это journald, но это не обязательно так в вашей системе.

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

Да мне экзотические дистрибутивы не нужны, работает на Debian да и ладно.

beavis
() автор топика

Спасибо всем за инфу, думаю проще сделать своё логирование в файлик что бы все держать под контролем, пожалуй так и сделаю.

beavis
() автор топика
Ответ на: комментарий от beavis

Для этого уже сделан syslog+logrotate, как выше предлагали.

shell-script ★★★★★
()
Ответ на: комментарий от beavis

сделать своё логирование в файлик

Тогда можно сделать как-то так в юните своей systemd-службы:

[Unit]
...
[Service]
StandardOutput=file:/var/log/my_output.log
StandardError=file:/var/log/my_errors.log
...
raspopov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.