名称

mrtg - MRTGとは?


要約

The Multi Router Traffic Grapher (MRTG)はネットワークの負荷を監視するツールです。MRTGは現在のネットワークのトラフィックの状態を示すPNGイメージを含むHTMLページを生成します。何ができるかについてはhttp://www.stat.ee.ethz.ch/mrtg/をご覧下さい。

MRTGの詳細についてはhttp://www.mrtg.jp/doc/をご覧下さい。


ユーザページ

MRTGはPerlとCで記述されており、UNIXとWindows NTで動作します。MRTGはネット上の多くのサイトで使用されています。

http://www.mrtg.jp/doc/users.html にあるMRTGサイトマップをご覧下さい。


特徴

移植性
MRTGはほとんどのUnixプラットフォームと、WindowsNT上で動作します。

Perl
MRTG is written in perl and comes with full source. MRTGはPerlで書かれており、全ソースと共に提供されています。

移植性のあるSNMP
全てPerlで書かれた移植性の高いSNMPの実装を行っています。Simon Leinenに感謝。別途SNMPパッケージをインストールする必要がありません。

SNMPv2cのサポート
MRTGは新しいSNMPv2c 64bitカウンターを読むことが可能です。カウンターラッピングはなくなりました。

信用できるインターフェースの認識
ルーターのインターフェースは普通のインターフェース番号に加え、IPアドレス、ディスクリプション、イーサネットアドレスでも認識することが可能です。

サイズの変わらないログファイル
ログを整理するための独自のアルゴリズムの採用をしているので、MRTGのログファイルのサイズが大きくなることはありません。

設定の自動化
MRTGは設定とセットアップを簡単にする設定ツールと共に提供されています。

パフォーマンス
時間が問題となる処理はCによって書かれています。共作者であるDave Randの提案に感謝します。

GIFなしの画像
Thomas BoutellのGDライブラリを使用して、画像は直接PNGフォーマットで生成されます。

カスタマイズ
MRTGの生成するWEBページの外観は、詳細に設定することが可能です。

RRDtool
MRTGはRRDtoolへのビルトインフックを備えています。パフォーマンスにこだわるのであれば使用してみて下さい。


詳細

MRTGは、SNMPを使用してルーター上のトラフィックカウンターを読み取る Perl スクリプトと、トラフィックデータを収集して 監視しているネットワークのトラフィックを見目のいいグラフにする高速なCのプログラムで構成されています。これらのグラフはどんなWebブラウザからでも読めるように、WEBページに埋め込まれます。

MRTGは日ごとの詳細なグラフに加えて、それぞれ過去7日間、4週間、12ヶ月のトラフィックを視覚化します。これは、MRTGがルーターから収集してきた全てのデータをログとして保持するため可能となっています。このログは自動的に整理されるため、時間の経過とともに肥大することがないだけでなく、過去2年間におけるトラフィックに関するデータを保持します。これらの作業はすべて効率的に行われるので、200を超える200を超えるネットワークリンクを比較的低スペックのUNIXで監視することができます。

MRTGはトラフィックの監視だけに限らず、あらゆるSNMP変数を監視することが可能です。また、他の外部プログラムを使用して、MRTGで監視されているデータを集約することもできます。システムの負荷や、ログインセッション、モデムの空き状況などをMRTGを使用して監視している人達もいます。MRTGを使って複数のデータを1つのグラフにまとめることもできます。


歴史

1994年、私は1本の64kbitの回線で外界とつながっているサイトで仕事をしていました。そのリンクのパフォーマンスに皆が関心があるのは明らかでした。そこで私は私たちのインターネット回線の負荷状態を、Web上にグラフにして常にそれを更新し続けるプログラムを作りました。これが最終的に、私が1995年の春にリリースしたMRTG-1.0と呼ばれるより 設定しやすいPerlスクリプトの前身になりました。何度かバージョンアップを繰り返した後、私はDMUを退社し、Swiss Federal Institute of Techonologyで働き始めました。そこでは時間がなかったため、私はMRTGから離れました。1996年1月のある日、Dave RandからなぜMRTGがこんなに遅いのか分かるかと尋ねる電子メールを受け取りました。実は分かっていました。MRTGのプログラミングはさほど効率的ではなく、すべてPerlで書かれていたからです。一週間ぐらい経って、Daveから私が提案したMRTGのスピードを改善する方法をやってみたというメールが来ました。その変更でもたいして改善しなかったため、彼はMRTGの中でも速い処理速度が要求される部分をCで書き直すことにしました。コードはメールに添付されてきました。彼のツールはMRTGのスピードを実に40倍も向上したのです!このことは私を「MRTG無関心」から連れ戻し、私は空いた時間でMRTG-2の開発を始めました。

MRTG-2の開発を再開してすぐに、興味を持っている人達にベータ版を配り始めました。お返しとしてたくさんの機能パッチ、ユーザフィードバックやバグの修正などを受け取りました。今あなたが使おうとしているものは、多くの人々の協力なしには存在しえなかったものなのです。この場をかりて協力してくれた方々に感謝します。(MRTGのパッケージに含まれているCHANGESのファイルに今日のMRTGがあるために協力してくれた人々の長いリストがあります。)


続き

MRTGについてさらによく知りたい方は、MRTGホームページをご覧下さい: http://www.mrtg.jp/doc/


著者

Tobias Oetiker <oetiker@ee.ethz.ch> と多くの協力者達


日本語訳

橋本 理央 <e2j@mrtg.jp>