ヤマハのルーター、RTX1200のログ出力についてです。
ルーター自体のGUIから状況を確認したり、コマンドを打って確認する事は出来ますが、
IPアドレス別のNAT数などはその時の情報しか見ることが出来ません。
そこで外部へのログ出力をやってみました。

telnetでのアクセス方法。※RTX1200のデフォルトIPアドレス:192.168.100.1

$ telnet 192.168.100.1

 

RTXの文字コードは、sjisなのでTelnetクライアントの文字コード設定を変更しないと文字化けてしまいます。
別の方法としては、下記コマンドで出力文字コードを一時的に変更する事が出来ます。 

console character ascii

ascii の部分は、eucもしくは sjisを指定出来ます。

 

NATディスクリプタの状態を確認する。

show nat descriptor address all

このコマンドで誰(IPアドレス)が多くNATを使用しているか分かります。
NAT数が多い自体が発生し、その時の状況知りたい場合はtelnetでの定期アクセスによるログ取得が有用です。

 

ルーターコマンドそのものを実行しても問題ないですが、後々の整理の為にファイル名に日付と実行時間を入れます。 

echo "" >> /tmp/RTX1200.log.`date +%Y%m%d`
date +'***DATE*** %Y-%m-%d %H:%M:%S' >> /tmp/RTX1200.log.`date +%Y%m%d`
echo "" >> /tmp/RTX1200.log.`date +%Y%m%d`
echo
/tmp/cmd.txt | telnet 192.168.100.1 >> /tmp/RTX1200.log.`date +%Y%m%d`

このファイルの中で、実行するファイルを指定します。

 

コマンドファイルの作成。

$ vi /tmp/cmd.txt

 

下記コマンドで、行数が長くなった時に「次へ」のエンターキーを押さずに、全ての行数を表示します。
show nat descriptor address all コマンドなどは、行数が多いのでこのコマンドが必須です。

console lines infinity

 

コマンドファイルの作成。

#!/bin/sh

sleep 1; echo ""
sleep 1; echo "console character ascii"
sleep 1; echo "console lines infinity"
sleep 1; echo "show nat descriptor address all"
sleep 20; echo ""
sleep 1; echo "exit" sleep 2

ここでの注意点は、show nat descriptor address all を実行した後のsleep です。
少し待たないと、実行途中にtelnetを抜けてしまうので、ログが中途半端になってしまいます。

 

syslogは別のやり方で外部保存できますが、後々確認する際に精査必要になります。
この方法だとコマンドの実行結果を保存する事が出来るので、調査時間を短くする事が出来ますね。

 

このように、調べたい内容をコマンド登録する事で、CPU使用率が高まった時など
さかのぼって調査する事ができるので、cron登録しておくと良いですね。

ログファイルの定期的な削除を忘れずに。 

 

まくとぅそーけーなんくるないさ。