rsyslogでYamahaルータのsyslogを受信する。

IMG_0007
※写真と本文は関係ありません。


CentOS 6.4になって戸惑ったので書いておく。(6から?)
syslog を送信するルータはRT58i。

前は /etc/syslog.conf に設定を書いたけど /etc/rsyslog.conf に変わった。(リモート受信オプションは/etc/sysconfig/syslogに書いてた)

Linuxサーバ側で設定( /etc/rsyslog.conf )
local6に来たものを /var/log/router.log に出力。/var/log/messages に出力されないようにする。

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local6.none                /var/log/messages
…
# For yamaha router
local6.*                                                /var/log/router.log

13−14行目。リモートからのsyslog受信を有効にする。

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

logrotateの設定

# cat /etc/logrotate.d/syslog 
/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
/var/log/backup.log
/var/log/tmpwach_samba.log
/var/log/empty_dir.log
/var/log/route53
/var/log/router.log
{
    sharedscripts
    postrotate
	/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

RT58iではこんな設定を書く。

syslog host 192.168.1.8    # LinuxサーバのIPアドレス
syslog facility local6