最終更新日: 2002/07/26
結論からいうと、 参考文献の「wgetなどを利用するスクリプトの紹介」 に出ているスクリプトに手を入れたら使えました。 いまのところ、ちゃんと動いてるようです。
参考文献: http://www.rtpro.yamaha.co.jp/RT/FAQ/SNMP/what-is-mrtg.html
参考文献のRTA50i版 (mrtg_rta50i) では、 内部的には、
wget --output-document=/tmp/mrtg_rta.data --http-user=[mrtg_rta50i.configのhttp_user] --http-passwd=[mrtg_rta50i.configのhttp_passwd] 'http://rta50i/kantan/system/command??COMMAND=show%20status%20pp%20leased'を実行して、「show status pp leased」の結果を取得しています。 これを実行すると、/tmp/mrtg_rta.data に
LEASED: 回線は接続されています 発信側 通信時間: 240日18時間4分22秒 受信: 15453990 パケット [4037802239 オクテット] 負荷: 0.2% 送信: 15371585 パケット [5827263133 オクテット] 負荷: 3.6% アボートエラー: 2回 フレームエラー: 25回 CRCエラー: 208回 PPPオプション LCP Local: Magic-Number MRU, Remote: Magic-Number IPCP Local:, Remote: IP-Address PP IP Address Local: Unnumbered, Remote: a.b.c.d CCP: Noneこんな結果が出てきて、これから情報を取得しています。
RTA55iで同じようなことをするには、
wget --output-document=/tmp/hogehoge.log --http-user=[mrtg_rta55i.configのhttp_user] --http-passwd=[mrtg_rta55i.configのhttp_passwd] 'http://rta55i/system/command??COMMAND=show%20status%20pp%201'を実行すればいいので、対応する部分を書き換えます。 たとえば、
$target = 'http://rta50i/kantan/system/command??COMMAND='; $ppnum = "leased";を
$target = 'http://rta55i/system/command??COMMAND='; $ppnum = "1";にします。
また、現在のところ、console character asciiにしてるんで、 RTA55iから得られる結果は、
PP[01]: Current PPPoE session status is Connected. Access Concentrator: XXXXXXXXX 5 hours 53 minutes 38 seconds connection. Received: 13862 packets [5439010 octets] Load: 0.0% Transmitted: 15282 packets [4064977 octets] Load: 0.0% PPP Cofigure Options LCP Local: Magic-Number MRU, Remote: CHAP Magic-Number MRU IPCP Local:, Remote: IP-Address PP IP Address Local: Unnumbered, Remote: p.q.r.s CCP: Noneこんなのになります。 そこで、結果を取得する部分も手を入れて、
if ($l =~ /受信.*\[ *([0-9]+) *オクテット/) { $line1 = $1; }を
if ($l =~ /eceived.*\[ *([0-9]+) *octet/) { $line1 = $1; }こんな感じにします。 もちろん、他の対応する部分も同様に変更しておきます。
以上のようにちょいちょいと変更するだけで、 無事MRTGでトラフィックの推移をみることができました。
先人の仕事に感謝です〜 m(_ _)m