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にとる。ログのローテーションも行う。
- CentOS側の設定
/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がとられるためデバックのときのみにしておいたほうが良い。