web-dev-qa-db-ja.com

systemdユニット(サービス)がジャーナルに記録されないようにする

一部のディスクでメトリックを生成するために systemd.timer + systemd.service をセットアップしました

このタイマーは10秒ごとにスピンアップします。この小さなスクリプトが生成されて成功するたびに、ジャーナルがスパム送信されるのを避けたいと思います。

ジャーナルはそのような複数の行を書きます

Jan 04 17:21:31 hostname systemd[1]: personal.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- The unit personal.service has successfully entered the 'dead' state.

さらに、すべてのサービス開始時に監査があります

Jan 04 17:22:31 hostname audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=personal comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Jan 04 17:22:31 hostname kernel: audit: type=1131 audit(1578158551.035:11612): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=personal comm="systemd" exe="/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
4
Valerio

これに関する良い記事はダニエル・アレクサンダーセンによって書かれました

systemdサービスのログレベルを調整または無音にします

オーバーライドサービスユニット:

systemctl edit Your.service

LogLevelMaxパラメータを追加します。

[Service]
LogLevelMax=2

標準ログレベルは、緊急(0)、アラート(1)、クリティカル(2)、エラー(3)、警告(4)、通知(5)、情報(6)、およびデバッグ(6)です。サービスを再起動します。

systemctl daemon-reload
systemctl restart Your.service

無音標準出力

サービスユニットオーバーライドを作成します。

systemctl edit Your.service

出力をnullに送信します。

[Service]
StandardOutput=null
#StandardError=null

サービスを再起動します。

systemctl daemon-reload
systemctl restart Your.service

サービスは標準出力メッセージをジャーナルに転送しなくなります。

この詳細については、上のリンクにあるダニエルのブログにアクセスし、彼にコーヒーを購入してください。

2
da_kingpin