9

Я запускаю приложение узла, используя systemd с файлом модуля. Журнал приложений можно просмотреть с помощью journalctl -u example.com но в какой-то момент журнал обрезается, стирая историю (которая мне нужна для отладки).

Как настроить ротацию журналов с помощью systemd, чтобы журналы моего приложения сохранялись в example.com.log.1 , example.com.log.2 и т.д., Чтобы я мог запрашивать историю своего приложения?

Это мой файл модуля:

ExecStart=/usr/bin/node keystone.js
#Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=example.com
User=user
Group=user
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

1 ответ1

4

Увеличение хранилища

Если вы храните на диске, вы можете увеличить объем используемого пространства, изменив SystemMaxUse и / или SystemKeepFree . Наличие большего пространства позволит хранить больше записей.

По умолчанию максимальный предел использования (SystemMaxUse) составляет 10% от файловой системы, а минимальное значение свободного пространства (SystemKeepFree) составляет 15% - хотя они оба ограничены 4G.

Вращение журнала

Журналы следует поворачивать автоматически, когда они достигают значения SystemMaxFileSize , а количество журналов контролируется SystemMaxFiles . Если вы предпочитаете ротацию, основанную на времени, вы можете установить MaxFileSec чтобы установить максимальное время записи в журнале.

Примечание к месту хранения / типу

С journald вы можете хранить записи журнала либо в памяти (Storage=volatile), либо на диске (Storage=persistent). Вышеприведенное предполагает, что вы храните журналы на диске - если это не так, "System" необходимо будет заменить на "Runtime" в указанных выше переменных.

Дальнейшие подробности доступны в man journald.conf .

Альтернатива - передача записей журнала

Если вы уже знакомы с традиционным демоном SYSLOG, вы можете передать события журнала, установив опцию ForwardToSyslog (которая пересылает сообщения немедленно) или сделать так, чтобы демон syslog вел себя как клиент журнала и сам получал журналы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .