システムログのコンソール出力を停止する (CentOS 5.5) : Linux の使い方


syslog のログ出力を調整する

Linux には syslog という、システムの稼働で生じるログを記録する仕組みが用意されています。

CentOS 5.5 ではディフォルトで、システムログがコンソール画面にも表示されるようになっているようでした。そのため、たとえば iptables でパケットをフィルタリングした時に、そのログを記録しておこうとした場合に、画面にログが表示されて、操作の妨げになることがありました。

 

システムログをコンソールに表示させないようにするためには、CentOS 5.5 では "/etc/sysconfig/syslog" の内容を調整します。

この中の "KLOGD_OPTIONS" という値を探し、その内容を次のように調整します。

KLOGD_OPTIONS="-x -c 4"

既定では "-x" だけが設定されているので、それに "-c 4" を追加した感じです。

これにより、画面上に表示するログのレベルを 4 以下に設定することができました。既定では 7 らしいので、これでそれほど重要ではないログが画面に出力されなくなるので、これだけでもずいぶん違ってくると思います。

ちなみに syslog のログレベルは、次のような番号付けがされているようでした。

0 EMERG - 緊急度が重大
1 ALERT - 早急な対応が必要
2 CRIT - 緊急
3 ERR - エラー
4 WARNING - 注意
5 NOTICE - 通知
6 INFO - 情報
7 DEBUG - デバッグ情報

つまり WARNING 以下のメッセージは、依然として画面に出力される設定になりますけど、注意が必要なメッセージは画面に出ていた方が都合が良いことが多いと思いますので、邪魔で困るようなことがなければ、これくらいの設定で丁度良いように思います。

 

ログレベルの調整が完了したら、次のようにして syslog を再起動します。

service syslog restart

これで、コンソール上に出力されるログを抑えることができました。