syslogの保存

ルータはログ機能を持っているが、ログの保存領域はせまいものが多い。そのため大抵はsyslogを使って、外部にログを吐きだす機能を持っている。ここでは、YamahaのRT107eを用いてsyslogの設定を行う。syslogを受け取るのは、CentOS5とする。

  • 前準備

まずファシリティ名を決める。ファシリティ名はauth,authpriv,cron,daemon,ftp,kern,local0〜local7,lpr,mail,news,syslog,user,uucpを用いることができる。この値はコンパイル時に決められているようだ。

# man 3 syslog

とすれば詳しい説明を読むことができる。
余談になるがmanのあとの数字はマニュアルのセクション番号。セクション番号は通常以下のように決められている

話がそれたが、ファシリティとして、local6を用いることにする。
またログは/var/log/routerlogにとる。ログのローテーションも行う。

/etc/syslog.confに以下の行を追加する。ここで空白はスペースではなくタブでなければならないので注意!

# Save Router Messages
local6.* /var/log/routerlog

次にログローテーションの設定を行う。/etc/logrotate.d/syslogで行う。一行目の{の前に/var/log/routerlogを追加しておく。
また、リモートからログを受け取れるようにsyslog起動時のオプションに-rをつけるように変更する。/etc/sysconfig/syslogファイルのSYSLOGD_OPTIONSに-rを追加すればよい。

SYSLOGD_OPTIONS="-r -m 0"

またsyslogは514番のudpポートを使用するため、iptableなどを用いている場合には、このポートを開けておくこと!
syslogを再起動する。

/etc/init.d/syslog restart

  • RT107eの設定

管理者モードでログイン後以下のコマンドを入力する。

# syslog host SYSLOGを取るサーバ名
# syslog facility local6

またcaution、infoのsyslogはデフォルトでは取られないので以下のコマンドを実行する。
caution(フィルタなどに引っかかったパケット)のsyslogを取る場合

# syslog caution on

infoのsyslogを取る場合

# syslog info on

デバック用のsyslogを取る場合

# syslog debug on

debugは大量のsyslogがとられるためデバックのときのみにしておいたほうが良い。