指定されたシステムサービスのロギングをオフにする

指定されたシステムサービスのロギングをオフにする

Journald / journalctlに記録したくない特定のシステムサービスがあります。現在の原因はsyslogに記録されており(すでに置き換えられている)、ジャーナルd / journalctlログがそのサービスのログでいっぱいになっているためです(ディスクスペースの問題)。

Storage=volatileこれで、ディスクに書きすぎないようにJournald / journalctlの設定を変更しました。SystemMaxUseSystemKeepFree変更できることはわかっていますが、/etc/systemd/journald.conf他のサービスのログをその特定のサービスで上書きするので、これは理想的ではありません。私はJournald / journalctlを引き続き使用したいのですが、特定のサービスには使用しません。

/etc/systemd/system/myservice.serviceJournald / 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

おすすめ記事