syslog

(作成:2011/06)

ログってね。大事なんよ……。

Install on Ubuntu

デフォルトで入ってると思うけれど、一応。

# apt-get install rsyslog

Install on CentOS

最近じゃ標準が syslog-ng からこっちになったみたいね。

# yum install rsyslog

設定

基本的にはデフォルト設定のままでOK。もし色々弄っているなら、 /etc/syslog.conf と見比べて継ぎ足してあげれば良いんじゃないかな。
何もしていなければ syslog-ng などからの移行はそのまま起動し直しとなる。以下はCentOSでの例。

# chkconfig syslog off
# chkconfig rsyslog on
# /etc/init.d/syslog stop
# /etc/init.d/rsyslog start

リモートからのログを受け入れる

2つ程設定が必要。以下に示す設定は、TCP/UDP共に514番で待ち受けるようになる。

#### /etc/sysconfig/rsyslog

...
SYSLOGD_OPTIONS="-m 0 -r"
...
#### /etc/rsyslog.conf

...
$ModLoad imudp
$UDPServerRun 514

$ModLoad imtcp
$InputTCPServerRun 514
...
local0.*                                                /var/log/network/switch.log
...
# mkdir /var/log/network/
# /etc/init.d/rsyslog restart

local0.*/var/log/network/switch.log にログを蓄えるよう待ち受け設定が出来た。例えばCatalystスイッチで以下のようにsyslog設定して待機してみよう。

logging on
logging facility local0
logging trap informational
logging XXX.XXX.XXX.XXX

実際に /var/log/network/switch.log を閲覧してみる。switchへlogin/logoutなんかしてみるとログが出力されるので、該当のログファイルに蓄えられた事がわかる。
後はまあ、 logrotate と併用してうまくやろう。個人的には、関連するログは全て /etc/logrotate.d/syslog 内に定義した方がややこしくなくて良いと思う。