開いているすべての端末に syslog メッセージが送信されないようにする

開いているすべての端末に syslog メッセージが送信されないようにする

サーバーの 1 つにハードウェアの問題が発生しており、カーネルが次のようなメッセージを継続的に出力しています。

kernel: EDAC MC0: UE row 0, channel-a= 0 channel-b= 1 labels "-": NON-FATAL recoverable (Branch=0 DRAM-Bank=0 Buffer ID = 0 RDWR=Read RAS=0 CAS=0 NON-FATAL recoverable Err=0x2000 (FB-DIMM Configuration Write error on first attempt))

/var/log/messagesにメッセージを記録するだけでなく、全てログインしたターミナル セッション (システム コンソールだけではありません)。

通知を受けるのは良いことですが (もちろん RAM の問題は修正します)、このサーバーで作業することは不可能になっています。行やファイルなどの編集の途中でメッセージが表示されます。

これらのメッセージを抑制するにはどうすればよいですか? 理想的には、現在のセッションでこれを実行でき、他のユーザーにはメッセージが表示されないようにしたいと思います。

システムはCentos 5です。

答え1

/etc/syslogd.conf ファイルで宛先として '*' が使用されている場合、syslogd は 'wall' 経由ですべてのユーザーにメッセージを送信するようです。

デフォルトの設定には次の行が含まれています:

*.emerg                                                        *

この行をコメントアウトして syslogd をリロードするとメッセージは完全に抑制されますが、後で再度有効にすることを忘れないようにしてください。

1 つのセッションだけメッセージを抑制する方法は見つかりませんでした。コマンド「mesg」はセッション中の受信メッセージを停止できるはずですが、これらのメッセージは停止しませんでした。

答え2

コンソールに次のようなブロードキャスト メッセージが印刷される場合:

Message from syslogd@hostname
Broadcast message from systemd-journald@hostname

これらは緊急メッセージとして処理されますが、オフにする必要がある場合は、このファイルを編集します。マシンによっては/etc/rsyslog.conf、この場所にある可能性があります。次に、この行を次のようにコメントします。/etc/rsyslog.d/50-default.conf

#*.emerg                                :omusrmsg:*

いずれにしても、事前にこれらのメッセージを確認しておけば、緊急メッセージの原因が何であるかを知ることができます。

より詳細な回答については、以下を参照してください。https://stackoverflow.com/a/41456076/366884

関連情報