MRTGを使ったネットワーク監視技法

第9回 rrdtoolを使う

この記事を読むのに必要な時間:およそ 2 分

今回は,MRTGの機能を補完するツール,rrdtoolについて使用方法を紹介します。

MRTGの弱点と改善策

MRTGは,5分ごとに監視対象機器からデータを取得しますが,同時にグラフファイルの作成も常に行っています。また取得データは,テキストファイルに保存しているため,効率もあまりよくありません。

これらの点を改善するために,MRTGの作者のTobias氏は取得データの保存と閲覧を別々のプログラムで行うように機能拡張しています。それがrrdtoolというデータベースツールです。RRDとはRound Robin Databaseを指していますが,新しいデータを一番古いデータ箇所に書き,輪のように繰り返していくことで,効率よくデータを保管するようにしたものです。

rrdtoolのインストール

rrdtoolは,1.3.x, 1.2.x, 1.0.xの3つのバージョンがあります。rrdtool-1.0.xは,このtarballだけで,実行プログラムを生成できますが,それより上のバージョンは依存関係にあるパッケージをインストールしなければなりません。

実際のところ,1.2.xでは10個もないので,1つずつインストールしていってもなんとかできるのですが,1.3.xは手に負えないほどのパッケージの量になります。しかし,FreeBSDではportsを使うことで,それらの依存パッケージも含めて容易にインストールできますので,ここでは時間こそかかりますが,Portsを利用して,rrdtool-1.3.7をインストールすることにします。

# cd /usr/ports/databases/rrdtool
# make
# make install

このPortsを使うことで,依存関係にある約60個のパッケージがインストールされます。インストールされるパッケージは,以下のコマンドでリストできますので,導入済みプログラムに影響がないか,確認しておきましょう。

# make all-depends-list

仮想化技術で独立したサーバを使う

最近は,仮想化技術を使ったサーバを容易に作れるようになりました。導入済みのプログラムとの衝突に悩むよりは,仮想化技術で独立したサーバに監視環境を構築する方が安心して運用サーバが作れると思います。ESXiやXen Serverなどのハイパーバイザー型の仮想化サーバで運用することも考えられてはどうでしょうか。

もっと手軽にrrdtoolを使いたい

上でも触れましたが,低いバージョンのrrdtool-1.0.50.tar.gzならば,

./configure --prefix=/usr/local/rrdtool
make
make install

といった手順で,すぐに利用できるようになります。rrdtoolのお試しならば,バージョン1.0.x でも十分な気がします。

rrdtoolを使うための設定

Portsからrrdtoolをインストールすると,実行に必要なプログラム等は,以下のパスにインストールされます。

rrdtool/usr/local/bin
Library/usr/local/lib/perl5/site_perl/5.8.9

この情報をmrtg.cfgに反映させるわけですが,mrtg.cfgはスクリプトを使って作成してきました。よってrrdtoolを使う設定もスクリプトに記述して,mrtg.cfgに反映させることにします。以下の赤色で強調された3行を追加してください。

リスト cfg_mrtg2.shの編集

/usr/local/mrtg-2/bin/cfgmaker \
    --global "WorkDir: /usr/local/apache2/htdocs/mrtg2" \
    --global "IconDir: /mrtg/icons/" \
    --global "options[_]: growright,bits" \
    --global "Language: eucjp" \
    --global "LogFormat: rrdtool" \
    --global "PathAdd: /usr/local/bin/" \
    --global "LibAdd: /usr/local/lib/perl5/site_perl/5.8.9/" \
    --if-template cfg_mrtg2.temp \
    --output="mrtg2.cfg" \
    HIMITSU@192.168.1.208 \
    HIMITSU@192.168.1.203 \
    HIMITSU@192.168.1.201

(これまでのものと区別するためにmrtg2と名称変更しています)

著者プロフィール

田村吉章(たむらよしあき)

1962年群馬県生まれ。東京理科大学理工学部数学科卒。専門は数値解析。85年から金融機関に勤務。システム開発部門,有価証券のリスク管理部門を経た後,システム監査に従事。公認情報システム監査人(CISA)。主な業務に社内ネットワークの企画・構築の他,有価証券のプライスモデルの実装やValue at Risk(VaR)算出などを行う市場リスク管理システムの構築などがある。

コメント

コメントの記入