今回からスタートした「MRTGを使ったネットワーク監視技法」。本連載では、MRTGを題材に、ネットワーク監視のノウハウを紹介します。第1回目は、ネットワーク監視の基本となる技術「SNMP」を中心に解説します。
ネットワーク監視も重要な業務
ネットワークには、ルータなどの通信機器を経由して、サーバやクライアントなどのコンピュータがつながっています。このネットワーク環境を安定的に維持していくためには、ネットワークの状況がどうなっているのかを監視する体制が必要になります。資源管理という点では、サーバのディスクの空き容量やCPUの使用率などに目がいきますが、ネットワークも重要な資源であり、このネットワークを監視することもとても大切な運用業務です。
ネットワークの監視には専用のコンピュータが必要になります。この監視に使うコンピュータをマネージャと呼び、監視される個々のネットワーク機器をエージェントと呼びます。このようにネットワーク監視は、マネージャ/エージェントモデルによる監視体制を作ることになります。
ネットワーク監視とSNMP
ネットワークには普通、異なるメーカの機器が接続されています。これらの機器を監視する場合、機器ごとに監視のための方法や手順が違っていては、監視コストが増加してしまいます。そこで監視のための標準化仕様が必要になります。その標準化がSNMPというプロトコルです。
SNMP(Simple Network Management Protocol)はネットワーク監視に使われるプロトコルで、先に説明したマネージャとエージェントが通信するときに使われます。このプロトコルを各メーカがネットワーク機器に実装することにより、共通のメッセージフォーマットで、情報のやりとりができる仕組みが作られています。
マネージャの役割
マネージャは、エージェントの状況を知るために、データを要求します。エージェントはその要求に従い、データを返します。マネージャはデータを受け取った後、そのデータを人にわかるような形に加工します。
実際には、多くのマネージャがWebベースで情報提供していますので、ネットワーク管理者は、ブラウザで各ネットワーク機器の状況を見られるようになります。
エージェントの役割
エージェントの役割についても見てみましょう。エージェント、すなわちSNMPが実装されたネットワーク機器は、まずは自身の状況を監視し、データを逐次蓄積します。次にマネージャから要求があれば、該当データを返す役割をします。また設定によっては、TRAPといってある条件を満たすとメッセージをマネージャに流す機能もあります。たとえば、リンクが切れたらそれを知らせることができます。
エージェント機器について
監視対象機器の代表格は、ルータとHUBでしょう。これらの機器を通り抜けるデータ量は、逐次監視しておき、不安定な状況がみられたら、すぐに対応できる体制を作ることがリスク管理の点からも重要になります。
ところで、SNMPが実装されているHUBをインテリジェントHUBと呼びますが、一部の安価なハブにはSNMPを実装していないものがあります。基幹ネットワークに使うHUBには必ずインテリジェントHUBを採用し、トラフィックの状況を監視できるようにしておくことが必要です。
SNMPマネージャとMRTG
SNMPのマネージャ用ソフトウェアには、商用のものでは、OpenViewやSNMPcなどが有名ですが、フリーソフトウェアにもいくつか有名なものがあります。その代表的なものがMRTGです。
MRTGはスイスのTobias Oetikerさんが作ったSNMPマネージャで、GPL(GNU General Public License)として公開されているものです。正式名称は、Multi Router Traffic Grapherで、MRTGとはその頭文字をとったものです。
MRTGでできること
MRTGによって、次のようなことができます。
- ① ルータなどのネットワーク機器を通過するデータ量(トラフィック)をグラフ化して、それをブラウザで見られる
- ② あらかじめ設定しておいたトラフィックの閾値(threshold)を超えると、メール通知などの処理を実行することができる
- ③ トラフィック以外に、CPUの状況やディスクの使用量などをグラフ化できる
MRTGは何か計測した結果をグラフ化するソフトウェアです。名称からすれば、「複数のルータのトラフィックをグラフ化するソフトウェア」となりますが、③に示したように、トラフィックに限らず、アイデア次第でいろんな計測結果をグラフ化することができます。また元となるデータはSNMPエージェントからのものに限られるわけでもありません。手元のプログラムが出力する計測データをMRTGでグラフ化することも可能です。
次回は
最近のプログラムの多くはインタラクティブなウィンドウに向かってパラメータ等を設定をしていくと、作業が完了してしまいますが、MRTGはそんな感じにはいきません。ほとんどがコマンドベースでいろいろと設定ファイルを作っていく必要があります。
そこで、次回はMRTGを構成しているプログラムに焦点をあてて、説明していきます。はじめにどんなものがあって、どのように組み上げていくか、イメージをつかんでもらおうと思います。