ヤマハのルーター、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登録しておくと良いですね。
ログファイルの定期的な削除を忘れずに。
まくとぅそーけーなんくるないさ。