Journald / journalctlに記録したくない特定のシステムサービスがあります。現在の原因はsyslogに記録されており(すでに置き換えられている)、ジャーナルd / journalctlログがそのサービスのログでいっぱいになっているためです(ディスクスペースの問題)。
Storage=volatile
これで、ディスクに書きすぎないようにJournald / journalctlの設定を変更しました。SystemMaxUse
をSystemKeepFree
変更できることはわかっていますが、/etc/systemd/journald.conf
他のサービスのログをその特定のサービスで上書きするので、これは理想的ではありません。私はJournald / journalctlを引き続き使用したいのですが、特定のサービスには使用しません。
/etc/systemd/system/myservice.service
Journald / journalctlに書き込まれないようにサービス単位ファイルで変更できる設定はありますか?
ベストアンサー1
デバイス用に別々のロギング名前空間を作成し、必要に応じてロギング設定をカスタマイズします。
存在する/etc/.../myapp.service
:
[Service]
...
LogNamespace=noisy
この名前空間の新しい構成を作成します。
cd /etc/systemd
cp journald.conf [email protected]
nano [email protected]
必要に応じて構成を編集します。たとえば、私はアプリケーションのsyslogログに興味がないStorage=volatile
ので、これをsyslogに設定しました(アプリケーションログはすでに十分です)。RuntimeMaxUse=10M
注:ストレージが揮発性の場合は、Runtime*
varsではなくSystem*
varsを使用してください。
更新して再起動してください。
sudo systemctl daemon-reload
sudo systemctl restart myapp # maybe this is not necessary? Lmk if you find out
源泉:https://wiki.archlinux.org/title/Systemd/Journal#Per_unit_size_limit_by_a_journal_namespace