印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
HardwareLinux Aterm WD734GV のリンクアップ速度を MRTG で表示する

ADSL モデム Aterm WD734GV のリンクアップ速度を w3m で取得して,時間変化を MRTG でグラフ表示する。

■ ■ ■

NEC 製の ADSL モデム Aterm WD734GV(AC) には telnet によるインターフェースは用意されていないが,http 経由であれば情報を表示させることができる(nlog(n): 新しい ADSL モデムが届いたが)。そこで,テキストベースの Web ブラウザ w3m を使ってリンクアップ速度を取得することにした。

MRTG のディレクトリ構成は,他のデータの構成に順ずる(nlog(n): 温度変化を MRTG で表示する)。設定ファイル adsl.cfg の内容は次の通り。

WorkDir: /home/httpd/html/mrtg/data
IconDir: ../images
Interval: 5
Refresh: 300
WriteExpires: Yes
Options[_]: absolute, gauge, growright
Directory[_]: adsl

Target[index]: `w3m -dump http://admin:PASSWORD@192.168.0.1/mainte_info.html | grep kbps | gawk '{print $3 "\n" $2 "\n\nADSL Link-up Speed"}'`
MaxBytes[index]: 3072
kMG[index]: k,M,G,T,P
Unscaled[index]: dwmy
LegendI[index]:  Up:
LegendO[index]:  Down:
Title[index]: ADSL Link-up Speed (Aterm WD734GV)
PageTop[index]: <H1>ADSL Link-up Speed (Aterm WD734GV)</H1>
 <TABLE>
   <TR><TD>System:</TD><TD>ADSL Modem</TD></TR>
   <TR><TD>IP:</TD><TD>192.168.0.1</TD></TR>
   <TR><TD>Max Speed:</TD><TD>3072 kBits/s (384 kBytes/s)</TD></TR>
 </TABLE>

ポイントは Target に書いてあるシェルスクリプトである。ADSL モデムのリンク速度は,http://192.168.0.1/mainte_info.html の一部に書かれている。これを -dump オプションをつけた w3m で表示させる。ベーシック認証がかかっているので,ユーザ名「admin」とパスワードを書いておく。

$ w3m -dump http://admin:PASSWORD@192.168.0.1/mainte_info.html | grep kbps
    回線速度[リンク速度(kbps)]          3072             1024

あとは,これを MRTG 用に加工してやるだけでよい。数字の後ろに全角スペースが入っていてイヤラシイのだが,MRTG は無視してくれるので問題なし。

この回線は 3 Mbps の契約なので,最高速度は恐らく 3 * 1024 = 3072 kbps である。ということは,最高速度が出てしまっているのか。

MaxBytes には 3072 を設定する。「最大バイト数(MaxBytes)」に「キロビット(kbps)」を設定しているので,単位がずれることになる。そこで,kMG に「k,M,G,T,P」を設定する。デフォルトは「,k,M,G,T,P」で,最初に「,」がついている。このカンマを削除して設定するのがポイント。一番小さい単位が「k」であることを MRTG に伝えている。

ADSL のリンクアップ速度グラフ
ADSL のリンクアップ速度グラフ


このモデムはキャリアチャートの画像形式での表示ができるので(nlog(n): ようやく常時接続環境が復旧),これを GIF 動画にしたりすると面白いかも知れない。手間と暇がないからやらないけど。

キャリアチャート
キャリアチャート


Posted by n at 2006-12-02 03:39 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?