« MBR(Master Boot Record)がおかしくなった時の対処方法 | メイン | yumコマンドの使い方 »

syslogサーバを構築してログの一元管理

複数台のUNIXマシンを管理しているとログを見ることを怠りがちです。
こんなときはログを一元管理するマシンを作りましょう。

CentOS4マシンをsyslogサーバに仕立てるのはとても簡単。
以下のように-rオプションを追加してsyslogデーモンを再起動するだけ。

# vi /etc/sysconfig/syslog
---
SYSLOGD_OPTIONS="-m 0 -r"
---

# service syslog restart

ここではsshとtelnetとrshのログをsyslogサーバに転送することを考えます。
ここからはログを転送したいマシン上での操作になります。
sshのログ出力設定は/etc/ssh/ssh_configで行っています。

# more /etc/ssh/sshd_config
---
SyslogFacility AUTHPRIV
---

CentOS4のデフォルトはこのようになっていると思います。
rshのログはファシリティauthに、telnetのログはどうもファシリティauthとauthprivに出るようです。
標準のログ出力設定では/var/log/secureと/var/log/messagesの両方にログが出てしまうので
/var/log/secureだけにログが出るよう以下のファイルを書き換えます。

# vi /etc/syslog.conf
---
*.info;mail.none;authpriv.none;auth.none;cron.none /var/log/messages
authpriv.*;auth.* /var/log/secure
---

# service syslog restart

次に/var/log/secureに書かれるログをsyslogサーバに転送する設定をしてみましょう。

# vi /etc/syslog.conf
---
authpriv.*;auth.* @192.168.0.x
---

# service syslog restart

 上ではsyslogサーバのIPアドレスを指定したがホスト名でもかまわない。
 これでsyslogサーバへの転送設定完了。syslogサーバの/var/log/secureに出力されているので確認してみましょう。
 致命的なエラーをsyslogサーバで一元管理することやルータやスイッチのログをsyslogサーバで一元管理など使い方はさまざまあるかと思います。


●参考

syslog.confでのログ出力の詳細

ファシリティ(facility)

auth セキュリティや認証関連
authpriv セキュリティや認証関連(プライベート)
cron cron
daemon facility 値を持たないデーモン
kern カーネルメッセージ
lpr プリンタ関連
mail メール
news ネットニュース
syslog syslogdの内部メッセージ
user ユーザレベルメッセージ
uucp UUCP
local0~7 予約、アプリケーションに依存


プライオリティ(priority)

debug デバッグ情報
info 情報
notice 通知
warn 警告
err 一般的なエラー
crit 致命的なエラー
alert 緊急に対処すべきエラー
emerg システムが落ちるような状態

※指定したpriority以上のログが出力されます。
 例えばuucp.alertと指定すればuucp.emergのログも出力されます。

コメント (1)

Crymn:

ooohh.. what a good idea.

ICQ Download

コメントを投稿