mrtg - みる会図書館


検索対象: UNIX MAGAZINE 1998年9月号
6件見つかりました。

1. UNIX MAGAZINE 1998年9月号

連載 UNIX Communication Notes— 図 4 crontab の設定 0 0 , 5 , 10 , 15 , 20 , 25 , 30 , 35 , 40 , 45 , 50 , 55 * * * * /usr/local/mrtg/mrtg /usr/local/mrtg/mrtg ・ cfg マンドの実行中にエラーカ喇蔓告されたときは、 Perl のバージョ ンを調べてみよう。 再度 mrtg を実行すると、ふたたび警告メッセージか表 示されるか無視してかまわない。さらに、もう 1 度 mrtg を実行すれは、警告メッセージも出すに実行カ院了するは すだ。 こで、 Web プラウザで MRTG が生成したページを 見てみよう。正しくインストールされていれは、それなり cron への旨殳定 のグラフが表冫されるはすである。 UNIX MAGAZINE 1998.9 その他 Refresh : MRTG では、 Netscape Navigator の機能 Target : 監ネ象のホストと MIB 変数を指定する。 参具の。 こう信田は、 MRTG パッケージの mrtg-conf. html を したが、これら以タ ) おもな設定項目を簡単に紹介してお 最低限度必要な WorkDir と IconDir については説明 MRTG 設定ファイル 蓄積できる。 ) 宿する。現在の MRTG では、最大 2 年間のデータが いように、独自のアルゴリズムとフォーマットでデータを MRTG では、ログファイルが必要以 - E に大きくならな ロ ? ファイル MRTG を運用するうえでのヒントをまとめておく。 トを実行するのは好ましくない。 セキュリティ面からみると、 root や www の権限でスクリプ ッションに依存する。 ァイルを書き込むディレクトリのパー どのユーサーの権限で mrtg を実行するかは、生成するフ ノート 5 て異なるが、図 4 のように設定する。 コマンドを実行する。 cron への登録方法はシステムによっ れば御未がない。通常は 5 分に 1 回、 cron を用いて mrtg 期的に実行してデータ収集とグラフの史新をおこなわなけ 最後に、 MRTG を cron に登録する。 MRTG は、定 を利用してページの自重丿ロード (automatic reload- ing) ができる。その時間間隔を指定する。 XSize/YSize 、 XZoom/YZoom など : グラフのサイズ を、ピクセル単位、倍率などで指定できる。 カスタマイズ MRTG のカスタマイズには 2 通りの方向がある。 1 つは、 MRTG が生成するべージの外観や配置などで ある。これは、 MRTG 設定ファイルでかなり変えられる。 たとえは、ページのク頁に表示するヘッダは PageTop で 指定できるし、グラフのサイズなども変更できる。自分の 作ったページにトラフィックのグラフを埋め込むような 場合は、 MRTG か生成した GIF ファイルを利用すれば もう 1 つは、監視する MIB 変数の変更である。ネット ワーク・インターフェイス以外の値 ( ディスクの使用量な ど ) を監視したい場合は、 MRTG 設定ファイルの Target で滷欝旨定する力法カ吶単である。 これら以外の変更を加えたいのであれは、 mrtg コマン ド自体を書き換えれはよい。さいわい、 mrtg は PerI で 言当さ構造も上交的分かりやすい。大幅な告をした いのなら、この方法し尺肢の 1 っとして考えるとよいだ contrib MRTG 配布パッケージの contrib ディレクトリには、 MRTG の東ューサーたちカ鯛発したアプリケーション やユーティリティが収められている。使用工竟によっては 使えないこともあるが、便利なものが多いので、 MRTG を運用していて、、こんなものが欲しい " と思ったときは、 このディレクトリを調べるとよいだろう。 ☆ MRTG のホームページは、 ・ http://www.ee.ethz.ch/-oetiker/webtools/ mrtg/mrtg. html である。新しいバージョンもしはしばリリースされるの で、随時チェックするといいだろう。 ( やまぐち・すぐる奈良先立醤十物支術大完大学 ) 15

2. UNIX MAGAZINE 1998年9月号

連載 /UNIX Communication Notes— MRTG の実行によって生成されるファイル 図 3 . J p. 2 . html 1 1 1 1 1 1 1 root root root root root wheel wheel wheel wheel wheel wheel wheel ・ 10 /var/www/docs/mrtg/metz ・ 02 /var/www/docs/mrtg/metz ・ 02 /var/www/docs/mrtg/metz : 10 /var/www/docs/mrtg/metz ・ 10 /var/www/docs/mrtg/metz ・ 10 /var/www/docs/mrtg/metz /var/www/docs/mrtg/metz 45646 Jun 23 45664 Jun 23 7213 Jun 23 9356 Jun 23 06 8670 Jun 23 8383 Jun 23 12 . 10999 Jun 23 12 12 . 12 . 12 . 12. : 02 . aiSt— . aist— . aiSt— . aist— . aist— . aiSt— . aiSt— nara nar a nar a nar a nar a nar a nar a ・ ac ・ ac ・ ac ・ ac ・ ac ・ ac ・ ac . JP ・ 2—day. gif . JP. 2—month. gif . JP. 2—week ・ gif ・ 2—year ・ gif ・ 2 ・ 10g . 〕 p . 2 .01d のシステムであり、 このルータの SNMP 工ージェントに 対して、コミュニティ名 public を使って Read-OnIy ア cfgmaker が生成した設疋情報は、シェルのリダイレク いと、 cfgmaker はおかしな設疋情報を出力する。 動させておく必要がある。 SNMP 工ージェントか動いていな 象のルータやシステムの SNMP 工ージェントをあらかしめ稼 cfgmaker を使って成疋ファイルを作る場合は、監視対 定意 2 ファイルを生成する。 ム情報やインターフェイス情報をもとに、このような設定 ない、稼動している SNMP 工ージェントか返すシステ maker は、指定されたホストに SNMP で間 - 作をおこ 含まれている SNMP 工ージェントか家動している。 cfg- は BSD/OS 3.1 のシステムで、 ISODE ノヾッケージに cfgmaker が出力した設疋情報の例である。ホスト metz とすれは、標準出力に設定ファイルが出力される。図 2 は、 # . /cfgmaker public@metz クセスができるものとしよう。この場合、 IconDir : /mrtg/ WorkDir : /var/www/docs/mrtg に一ド記の設定を追加する。 次に、この設定情報生例では /tmp/foo. txt) の : 麪頁 # . /cfgmaker public@metz > /tmp/foo. txt トによってファイルに保存する。 14 http://10ca1host/IconDiT・/mrtg-r ・ gif ンを参照するために使われる。したがって、 IconDir は、生成される HTML ページのなかでアイコ で使われるアイコンを褓内したディレクトリを指定する。 次の IconDir には、生成された HTML ページのなか ジを↑褓内するディレクトリを絶対パスで指定する。 最初の WorkDir には、前項で設正した HTML ペー などの URL でこれらのアイコンにアクセスできなけれは UNIX MAGAZINE 1998.9 ンドが正しくインストールされているかを確認する。 mrtg コ がうまくできていない場合は、 GD ライプラリと rateup コマ WorkDir の値をもう 1 度石忍したほうがよい。 GIF ファイル んらかの間題がある。とくに、 MRTG 設定ファイルでの こまでの設定にな ファイルができていなかったら、 意 3 図 3 のファイルカ吽成される。 かを確認する。 metz ・ aist-nara ・ ac. jp を対象とする場合、 ストのホスト名で始まるいくつかのファイルができている MRTG 用のディレクトリをチェックし、監視対象のホ ック計算に使うログファイルがないからである。 がいくつか表示されるはすだ。これは、 rateup がトラフィ 初めて実行したときは、 rateup からの警告メッセージ # . /mrtg ・ /mrtg. cfg # cd /usr/local/mrtg みる。 いるディレクトリに移動し、 mrtg コマンドを実行して かどうかを確認する。ます、 MRTG のツールが置かれて 設定がひととおり終ったところで、正しく実行される MRTG の実行 りである。 リに保存しておく。これで、 MRTG の基本的な設定は終 として、 MRTG 設定ファイルを MRTG のディレクト # cp /tmp/foo. txt /usr/local/mrtg/mrtg. cfg こまでの作業カ鮗ったら、 ている。 としてアクセスされるので、 IconDir に /mrtg/ を指定し /mrtg/ Apache サーノヾーでは、 www/docs/mrtg ディレクトリは、ローカルて下力する ならない。さきはどアイコンファイルをコピーした / var /

3. UNIX MAGAZINE 1998年9月号

UNIX Communication N0tes ネットワ トラフィックのグラフ化ツール 山口英 ーク管理 ( 7 ) MRTG MRTG (Multi Router Traffic Grapher) とは、監視 対象のルータに対して SNMP を用いてトラフィックの処 理量を定期的に間い合わせ、その値をグラフ化するツール である。グラフ化された結果は HTML で書かれたページ として出力さオし、 WWW 経由て参照できる。 MRTG は、 彳足来の SNMP を用いた NMS (Network Management Station) ソフトウェアとは異なり、データの収集と表示 が簡単なため、大学のキャンパス・ネットワークの運用や ISP における簡易管理ツールとしてひろく使われている。 MRTG の長所は、なんといってもポータビリティの高 さにある。 MRTG の主要な部分は PerI で記述されてお り、 C フログラム (rateup. c と GD ライプラリ ) も、多 くのプラットホームでの利用を前提に作られている。この ため、 MRTG は UNIX か稼動している環境ならたいて いは間題なく動く。 Perl で記述されているので、カスタマイズが容易な点 も魅力的である。とくに、監視対象のカウンタ 1 は簡単に 変史できる。通常、 MRTG はルータカ甘是供する SNMP のカウンタのうち、トラフィック処理に関連したものだ けを監視する。しかし、 MRTG のソースコードをすこし 書き換えれは、ワークステーションのログインユーザー数 や、ルータやラック内に設置された温度計などの値も監視 できる。つまり、カウンタでありさえすれば、なんでも監 視できるのである。 MRTG は Tobias Oetiker と Dave Rand によって 開発され、インターネットの多くの人びとによって改良、 1 監視対象て下力している SNMP ェージェントカ寸是供する情報 10 拡張がおこなわれている。 GNU Public License にもと づいて配布されており、いわゆるフリーウェアとして利用 できるのも、 MRTG か普及した理由の 1 つであろう。 今回は、 MRTG のインストールカ法を紹介する。・作業 は、次の手順で進めていく。 1. ノヾッケージの入手 2. GD ライプラリのインストール 3. Perl のインストール 4. コンノ、イノレ 5. 関連ファイルのインストール 6. HTML ページのためのディレクトリの成正 7. MRTG 設定ファイルの用意 8. MRTG の実行 9. cron / 、の疋 以降で、それぞれについてみていくことにしよう。 パッケージの入手 最初に、各種のパッケージを入手する。 MRTG を利用 するためには、 1. MRTG の配布ノ、ツケージ 2. 図を生成するための GD ライプラリ 3. Perl (version 5.003 以降 ) か必要である。 MRTG のソースパッケージは、 ・ http://ee-staff.ethz.ch/-oetiker/webtools/mrtg /pub/ から入手できる。現在の最新版は、 version 2.5.3 (mrtg- 2.5.3. tar. gz ) である。 UNIX MAGAZINE 1998.9

4. UNIX MAGAZINE 1998年9月号

連載 UNIX Communication Notes ・一・の PerI には、はかの GNU パッケージと同様に config- ure が付属しており、インストールは上交的簡単である。 ます、作業用の適当なディレクトリを作り、そこに PerI のソースパッケージを展開する。そのディレクトリに移動 し、次のようにコンパイルとインストールをおこなう。 コン / ヾイノレ 照してはしい。 # make insta11 # make test # make # . /configure 詳細は、 PerI のパッケージに付属のドキュメントを参 MRTG をインストールする前に、 MRTG ノ、ツケージ に含まれる rateup. c をコンパイルする。 変数 PERL には、使用する perl コマンドを一ド記のよ とする。 GD-LIB=/usr/10ca1/gd/1ib GD_INCLUDE=/usr/10caI/gd/inc1ude プラリがあるディレクトリを指定する。たとえは、 GD-LIB には、 GD ライプラリのヘッダファイルとライ 使用する工韆竟に合わせて書き換える。 GD-INCLUDE と の 3 つの変数が定義されている。これらを MRTG を ・ PERL ・ GD-LIB ・ GD-INCLUDE の最初に、 ます、 MakefiIe を工竟に合わせて編集する。 MakefiIe 以上の設定力鮗ったら、 make を実行する。 PERL=/usr/10ca1/bin/per1 うに絶対パスで指定する。 最初に、 % make rateup として rateup. c をコンパイルし、 式ファイルを作成する。次に、 % make substitute rateup いう実行形 を実行する。これは、デフォルトで、 # ! /usr/drwho/local/bin/perl 12 などとなっている Perl スクリプト (mrtg や cfgmaker など ) の麪頁行を、 MakefiIe の変数 PERL に設定した値 に書き換えるためである。 関連ファイルのインストール 次に、 MRTG 関連のプログラムやスクリプトをシス テムにインストールする。適当なディレクトリを用意 して、そこにファイルをコピーすればよい。たとえば、 /usr/local/mrtg にインストールする場合は次のように する。 # mkdir /usr/local/mrtg # cp BER. pm SNMP—Session. pm /usr/local/mrtg # cp mrtg rateup /usr/local/mrtg # chmod 755 /usr/local/mrtg/mrtg HTML ページのためのティレクトリの設定 MRTG は、監ネ寸象のルータなどから収集したトラフ ィック・データをもとに、糸を茴を示すグラフを GIF イメー ジファイルとして生成し、さらにそれらを表示するための HTML ページを作る。 そこで、これらの HTML ページを十内するディレク トリを用意する。通常の運用なら、ローカルで稼動してい る Web サーバーがアクセスできる、 HTML ドキュメン トを保管するディレクトリに MRTG 用のサプディレク トリを作ればいいだろう。 HTML ページをイ内するディレクトリは、 MRTG を稼 動させるシステム上であれば、基本的にはどこに設正しても間 題はない。しかし、ローカルて稼動する Web サーバーがアク セスできないディレクトリにすると、ローカルに起動したプラ ウサを使って茁妾ファイルにアクセスするか、定期的にファイ ルを Web サーバー用のディレクトリにコピーするといった手 間がかかる。 こでは、ローカルな Web サーノヾーのためのディレク トリ内に設定する。私の使っている BSD/OS 3.1 には、 Web サーバーとして Apache が付属している。 Apache サーバーは、標準では /var/www ディレクトリを利用 してサービスをおこなう。さらに、サーバーか供する HTML ページは、 /var/www/docs 以下のディレクト これらは、 Apache の成正ファイルによって変わる。上 滋意 1 リにオ褓内する。 UNIX MAGAZINE 1998.9

5. UNIX MAGAZINE 1998年9月号

連載 /UNIX Communication Notes— 0 図 2 cfgmaker で生成される MRTG 言聢ファイル 4BSD/ISODE SNMP # Description: Contact : Suguru Yamaguchi く suguru@wide.ad. jp> # System Name : metz. aist—nara. ac ・ JP Location: A41x lnterface is one Of the following # # # # # # # # ー administratively not UP # # # # # # # # ー it is in test mode # # # # # # # # ー it is a softwareLoopback interface # # # # # # # # ー has a unrealistic speed setting # # # # # # # # lt is commented out for this reason . # Target [metz. aist—nara ・ ac ・ jp ・ 1 ] : 1 :public@metz.aist—nara ・ ac ・ JP # MaxBytes [metz. aist—nara. ac . jp. 1 ] : 1250000 Tit1e Cmetz. aist—nara. ac ・ jp ・ 1 ] : metz. aist—nara. ac. jp ( ) : neO # PageTop[metz. aist—nara. ac ・ jp . 1 ] : く H1>Traffic Ana1ysis for neO く / HI > く TABLE> く TR> く TD>System : く /TD> く TD>metz. aist—nara ・ ac ・ JP in A41x く /TD> く /TR> く TR> く TD>Maintainer : く /TD> く TD>Suguru Yamaguchi く suguru@wide . ad. jp> く /TD> く /TR> く TR> く TD>Interface : く /TD> く TD>neO ( 1 ) く /TD> く /TR> く TR> く TD>IP : く /TD> く TD> ( ) く /TD> く /TR> く TR> く TD>Max Speed : く /TD> く TD > 1250.0 kBytes/s (ethernetCsmacd) く /TD> く /TR> く /TABLE> Target [metz . aist—nara. ac . jp. 2 ] : 2 :public@metz.aist—nara.ac ・」 p MaxBytes [metz. aist—nara ・ ac ・ jp ・ 2 ] : 1250000 Tit1e [metz. aist—nara. ac ・」 p. 2 ] : metz . aist—nara ・ ac . jp (metz. aist—nara. ac ・ (p) : efO PageTopCmetz. aist-nara ・ ac ・ jp. 2 ] : く H1>Traffic Ana1ysis for efO く / HI > く TABLE> く TR> く TD>System: く /TD> く TD>metz. aist—nara ・ ac ・ jp in A41x く /TD> く /TR> く TR> く TD>Maintainer : く /TD> く TD>Suguru Yamaguchi く suguru@wide. ad. jp> く /TD> く /TR> く TR> く TD>Interface : く /TD> く TD>efO ( 2 ) く /TD> く /TR> く TR> く TD>IP: く /TD> く TD>metz. aist—nara. ac . jp ( 163.221.74.17) く /TD> く /TR> く TR> く TD>Max Speed : く /TD> く TD > 1250.0 kBytes/s (ethernetCsmacd) く /TD> く /TR> く /TABLE> MRTG 設定ファイルの用意 己の例は BSD/OS 3.1 の標ー勺な言定だが、システムによっ てはこれとは違う場合がある。かならす、 Apache の設定ファ イルである httpd.conf て市薩忍してほしい。 次に、 MRTG で監視するシステムを指定する。これは、 、、 MRTG 設定ファイル " に言当する。 そこで、 /var/www/docs/mrtg ディレクトリを作り、 MRTG 設定ファイルの言当はやや複雑だが、最低限必 MRTG が生成する HTML ページてイ吏われるアイコンの 要な設定は、 cfgmaker という Perl スクリプトを使っ ここにコピーしておく。 GIF ファイルを、 てはば自重加勺に生成できる。 # mkdir /var/www/docs/mrtg # cp mrtg*. gif /var/www/docs/mrtg たとえは、監視対象がホスト名 metz. aist-nara ・ ac ・ jp 一三ロ 13 UNIX MAGAZINE 1998.9

6. UNIX MAGAZINE 1998年9月号

連載 /UNIX Communication Notes— GD ライプラリは、 ・ http://www.boutell.com/gd/ などに置かれている。・最新版の PerI 5.004 patchlevel 4 ・ ftp://SunSITE.sut.ac.jp/pub/archives/gnu/ ・ ftp://ftp.iij.ad ・ jp/pub/GNU/ 地の FTP サイトから入手できる。国内では、 PerI は、公式サイト (http://www.perl.com/) や各 ある。 から入手できる。山辭斤版は version 1.3 (gdl. 3. tar. (z) で 十 two suidperl security patches This is perl , version 5 .003 ー 02 ジョンを串ヾるには、 使用中のシステムにインストールされている Perl のバー (perl-5.004ー04. tar. (z) を入手すれはよい。 次に、このディレクトリに移動して必要なプログラムを gdl. 3 ディレクトリに展開される。 とすると、ソースコードがカレント・ディレクトリの % gzip -d く gdl . 3. tar ・ gz ー tar xvf レクトリに展開する。たとえは、 GD ライプラリのパッケージを入手したら、適当なディ 際に GD ライプラリを利用する。 ルータから収集したトラフィック・データをグラフ化する ラットホームに対応している。 MRTG では、監視対象の のライプラリである。これは使いやすく、しかも多くのプ GD は、 C プログラムで GIF ファイルを生成するため GD ライフラリのインストール とする ( この例では version 5.003 patchlevel 2 ) 。 bdftogif 、 gddemo が生成される。 とするだけである。これで、 libgd. a 、 webgif 、 giftogd 、 % make a11 コンパイルする。これは、 UNIX MAGAZINE 1998.9 して ranlib コマンドを実行し、ライプラリ関数カ硬っている BSD 系の UNIX システムでは、生成したライプラリに対 図 1 GD ライプラリのテストイメージ demoin. gif demoout ・ gif この処理は MakefiIe に % ranlib libgd. a に対して、 は記述されていないので、インストール時に生成した libgd. a 外部参照のリストを作る必要がある。 作業でおこなう。 にはインストールに関する主はないので、次のように手 最後に、 GD ライプラリをインストールする。 Makefile 強になる。 わすか 100 彳 j ・程度のプログラムなので、これを読むのもいい勉 れたかか想像できる。もちろん、ソースコード gddemo. c は ⅲ . gif と demoout. gif を上師交すれは、どんな処理がおこなわ ージに含まれる demoin. gif に図形や文字を書き込む。 demo- gddemo では、 GD ライプラリの機能を用いて配布パッケ は ( おそらく ) 正しく機能している。 図 1 の右側に示した画像か表示されれば、 GD ライプラリ が生成される。これを xv などの画像ピューアて表示し、 gddemo を実行すると、 demoout. gif というファイル のように ranlib コマンドを実行する。 この例のように、 GD ライプラリ関連のすべてのファイ # cp bdftogd giftogd webgif /usr/local/gd/bin # cp * . h /usr/local/gd/include cp libgd. a /usr/local/gd/lib # mkdir /usr/local/gd/lib # mkdir /usr/local/gd/include # mkdir /usr/local/gd/bin # mkdir /usr/local/gd たり、あっても旧いバージョンの場合には、インストール である。 MRTG を稼動させるシステムに Perl がなかっ 前述したように、 MRTG では Perl 5.003 以降が必要 Perl のインストール 作業か楽になる。 ルを 1 カ所に集めておけば、バージョン管理やーアなどの する。 11