systemdのログを抑止する



●systemdのログを抑止する(その1)

 他の情報も抑止されてしまうため、この方法での抑止は推奨しない。

 CentOS 7の/avar/log/messagesで下記のようなログが出力されていることに気がつきました。
Sep 25 04:17:01 server systemd: Created slice user-497.slice.
Sep 25 04:17:01 server systemd: Starting user-497.slice.
Sep 25 04:17:01 server systemd: Started Session 14358 of user cacti.
Sep 25 04:17:01 server systemd: Starting Session 14358 of user cacti.
Sep 25 04:17:01 server systemd: Started Session 14359 of user root.
Sep 25 04:17:01 server systemd: Starting Session 14359 of user root.
Sep 25 04:17:12 server systemd: Removed slice user-497.slice.
Sep 25 04:17:12 server systemd: Stopping user-497.slice.


 このログはcronが実行される度に出力されるようで、情報としては有益でないことから出力しないように設定変更します。
 systemdmpログレベルを変更することにより対応可能なことから下記を実行します。
現在のログレベルを確認
# systemctl -pLogLevel show
LogLevel=info
ログレベルを変更
# cp -p /etc/systemd/system.conf /etc/systemd/system.conf.org
# vi /etc/systemd/system.conf
    :
LogLevel=notice
# systemctl daemon-reexec
変更後のログレベルを確認
# systemctl -pLogLevel show
LogLevel=notice
一時的なログレベル変更も可能
# systemd-analyze set-log-level notice
# systemctl -pLogLevel show
LogLevel=notice
 以上で設定は完了です。

●systemdのログを抑止する(その2)

 参照URL:CentOS7のcronによるログStarting user-0.sliceなどをmessagesから消す方法

 こちらの設定方法を推奨します。

 CentOS 7でcronを有効にすると下記のよう出力されます。

7月 27 07:11:01 www.bigbang.mydns.jp systemd[1]: Created slice user-0.slice.
7月 27 07:11:01 www.bigbang.mydns.jp systemd[1]: Starting user-0.slice.
7月 27 07:11:31 www.bigbang.mydns.jp systemd[1]: Removed slice user-0.slice.
7月 27 07:11:31 www.bigbang.mydns.jp systemd[1]: Stopping user-0.slice.
7月 27 07:12:01 www.bigbang.mydns.jp systemd[1]: Created slice user-0.slice.
7月 27 07:12:01 www.bigbang.mydns.jp systemd[1]: Starting user-0.slice.
7月 27 07:12:31 www.bigbang.mydns.jp systemd[1]: Removed slice user-0.slice.
7月 27 07:12:31 www.bigbang.mydns.jp systemd[1]: Stopping user-0.slice.
7月 27 07:13:01 www.bigbang.mydns.jp systemd[1]: Created slice user-0.slice.
7月 27 07:13:01 www.bigbang.mydns.jp systemd[1]: Starting user-0.slice.
7月 27 07:13:31 www.bigbang.mydns.jp systemd[1]: Removed slice user-0.slice.
7月 27 07:13:31 www.bigbang.mydns.jp systemd[1]: Stopping user-0.slice.
7月 27 07:14:01 www.bigbang.mydns.jp systemd[1]: Created slice user-0.slice.
7月 27 07:14:01 www.bigbang.mydns.jp systemd[1]: Starting user-0.slice.
7月 27 07:14:31 www.bigbang.mydns.jp systemd[1]: Removed slice user-0.slice.
7月 27 07:14:31 www.bigbang.mydns.jp systemd[1]: Stopping user-0.slice.
7月 27 07:15:01 www.bigbang.mydns.jp systemd[1]: Created slice user-0.slice.
7月 27 07:15:01 www.bigbang.mydns.jp systemd[1]: Starting user-0.slice.
7月 27 07:15:01 www.bigbang.mydns.jp systemd[1]: Created slice user-978.slice.
7月 27 07:15:01 www.bigbang.mydns.jp systemd[1]: Starting user-978.slice.


 これらのログを抑止するために下記を実行します。

# vi /etc/rsyslog.d/ignore-systemd-session-slice.conf
if $programname == "systemd" and (\ $msg contains "Closed D-Bus" \
or $msg contains "Closed Multimedia System" \
or $msg contains "Closed REST API socket" \
or $msg contains "Created slice" \
or $msg contains "Listening on Multimedia System" \
or $msg contains "Listening on REST" \
or $msg contains "Listening on D-Bus"\
or $msg contains "Reached target" \
or $msg contains "Removed slice" \
or $msg contains "session-" \
or $msg contains "Started D-Bus" \
or $msg contains "Started Session" \
or $msg contains "Started User" \
or $msg contains "Starting D-Bus" \
or $msg contains "Starting Exit" \
or $msg contains "Starting Session" \
or $msg contains "Starting User" \
or $msg contains "Stopped Session" \
or $msg contains "Stopped target" \
or $msg contains "Stopped User" \
or $msg contains "Stopping Session" \
or $msg contains "Stopping User" \
) then stop


 rsyslogを再起動します。
# systemctl restart rsyslog
 /var/log/messagesは上記URLと同様で「Removed slice」と「Stopping user-」が記録されていました。

 /var/log/messagesには下記のように表示されます。

Jul 27 13:57:01 www systemd: Created slice user-0.slice.
Jul 27 13:57:01 www systemd: Starting user-0.slice.
Jul 27 13:57:01 www systemd: Started Session 49753 of user root.
Jul 27 13:57:01 www systemd: Starting Session 49753 of user root.
Jul 27 13:57:31 www systemd: Removed slice user-0.slice.
Jul 27 13:57:31 www systemd: Stopping user-0.slice.


 したがって、同じように下記のように対応しました。

# echo 'if $programname == "systemd" and ($msg contains "Starting Session" or $msg contains "Started Session" or $msg contains "Created slice" or $msg contains "Starting User" or $msg contains "Removed slice" or $msg contains "Stopping User") then stop' > /etc/rsyslog.d/ignore-systemd-session-slice.conf


●systemdのログを抑止する(その3)

 参照URL:Systemd write a lot of Reached target messages

 他の情報も抑止されてしまうため、この方法での抑止は推奨しない。

 CentOS 8 Streamで/var/log/messageに下記のようなログが毎分出力されます。

Jun 29 17:39:02 serverA systemd[2504416]: Reached target Timers.
Jun 29 17:39:02 serverA systemd[2504416]: Listening on Multimedia System.
Jun 29 17:39:02 serverA systemd[2504416]: Starting D-Bus User Message Bus Socket.
Jun 29 17:39:02 serverA systemd[2504416]: Reached target Paths.
Jun 29 17:39:02 serverA systemd[2504416]: Listening on REST API socket for snapd user session agent.
Jun 29 17:39:02 serverA systemd[2504416]: Listening on D-Bus User Message Bus Socket.
Jun 29 17:39:02 serverA systemd[2504416]: Reached target Sockets.
Jun 29 17:39:02 serverA systemd[2504416]: Reached target Basic System.
Jun 29 17:39:02 serverA systemd[2504416]: Reached target Default.
Jun 29 17:39:02 serverA systemd[2504416]: Startup finished in 80ms.
Jun 29 17:39:02 serverA systemd[2504416]: Stopped target Default.
Jun 29 17:39:02 serverA systemd[2504416]: Stopped target Basic System.
Jun 29 17:39:02 serverA systemd[2504416]: Stopped target Sockets.
Jun 29 17:39:02 serverA systemd[2504416]: pipewire.socket: Succeeded.
Jun 29 17:39:02 serverA systemd[2504416]: Closed Multimedia System.
Jun 29 17:39:02 serverA systemd[2504416]: dbus.socket: Succeeded.
Jun 29 17:39:02 serverA systemd[2504416]: Closed D-Bus User Message Bus Socket.
Jun 29 17:39:02 serverA systemd[2504416]: Stopped target Paths.
Jun 29 17:39:02 serverA systemd[2504416]: snapd.session-agent.socket: Succeeded.
Jun 29 17:39:02 serverA systemd[2504416]: Closed REST API socket for snapd user session agent.
Jun 29 17:39:02 serverA systemd[2504416]: Reached target Shutdown.
Jun 29 17:39:02 serverA systemd[2504416]: Stopped target Timers.
Jun 29 17:39:02 serverA systemd[2504416]: Starting Exit the Session...
Jun 29 17:39:02 serverA systemd[4584]: run-user-0.mount: Succeeded.


 これらを出力しないようにするため設定を変更します。
# vi /etc/systemd/journald.conf

37,38c37,38
< #MaxLevelStore=debug
< #MaxLevelSyslog=debug
---
> MaxLevelStore=notice
> MaxLevelSyslog=notice

# systemctl restart systemd-journald
 これで出力されなくなりました。
 ただし、上記に変更すると/var/log/maillogでmail.infoのログ等が残らなくなります。