トマト@ネットワーク云々担当です。
ヤマハルータ、RTXシリーズのSYSLOGを、Linuxサーバで受信し、ログファイルとして出力する方法です。
ルータ本体に記録出来るログは、それぞれ以下の通りです。
RTX1000 最大500行
RTX1100 最大500行
RTX1200 最大10,000行
RTX1500 最大500行
RTX3000 最大500行
ルータ側で出力出来るログは、3種類あります。
・notice(IPフィルタ等で落としたパケット情報等)
・info(ISDNの呼制御情報)
・debug(ISDNおよび、PPPのデバッグ情報等)
※大量のデバッグメッセージが出力されます
■検証環境
ルータ:RTX1100
サーバ:CentOS release 5.5
ルータ側IPアドレス:192.168.1.1
サーバ側IPアドレス:192.168.1.100
※lan1側のローカル環境で接続しています
取得ログ :notice
ファシリティ:local5
※サーバの「/etc/syslog.conf」ファイル内で、使用されていないファシリティ番号を使用
■ルータ側設定
# syslog notice on
# syslog host 192.168.1.100
# syslog facility local5
# save
■サーバ側設定
/etc/syslog.conf
*.info;mail.none;authpriv.none;cron.none;local5.none /var/log/messages
※上記を追記しておかないと、messages側にもログが出力されてしまいます
# RTX1100
local5.* /var/log/rtx1100.log
空ファイルを作成します。
# touch /var/log/rtx1100.log
外部からのSYSLOGを受信出来るようにします。
/etc/sysconfig/syslog
# Options to syslogd
# -m 0 disables 'MARK' messages.
# -r enables logging from remote machines
# -x disables DNS lookups on messages recieved with -r
# See syslogd(8) for more details
SYSLOGD_OPTIONS="-r -m 0"
※「/etc/init.d/syslog」から読み込まれます
ログのローテーションに追加します。
/etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/rtx1100.log {
sharedscripts
postrotate
/bin/kill -HUPcat /var/run/syslogd.pid 2> /dev/null
2> /dev/null || true
/bin/kill -HUPcat /var/run/rsyslogd.pid 2> /dev/null
2> /dev/null || true
endscript
}
syslogを再起動します。
# /etc/init.d/syslog restart
SYSLOGが受信出来ているか確認します。
# tail -f /var/log/rtx1100.log
SYSLOGを受信出来ていれば、完了です。
受信出来ない場合は、フィルタ等を確認しましょう。