連載
» 2002年06月22日 00時00分 公開

実用qmailサーバ運用・管理術(10):ツールを使った効率的なログ分析術 (2/2)

[鶴長鎮一,@IT]
前のページへ 1|2       

集計結果のグラフ化

 前半で紹介した集計方法は、サンプリング期間が1日または1週間など一定期間を対象としていました。そのため、zrxdelayコマンドの出力結果のようにある値でソートしたり、特異な状態を検出するなどの用途には向いているものの、サーバの稼働状況を時系列で観測するような用途には向いていません。

 また、ApacheのAnalogのようなビジュアル性に欠けるのも寂しいところです。見た目の派手さは集計ツールの本質ではありませんが、毎日のレポートを数値で見比べるよりも、グラフを使って視覚的にとらえられる方が毎日の作業も少しは緩和されるはずです。

 グラフ作成ツールはExcelやJavaアプレットを使ったものなど多数ありますが、ここではMRTGを利用した「qmailmrtg7」(http://inter7.com/qmailmrtg7/)を紹介します。qmailmrtg7は本連載で以前紹介したvpopmailと同じ開発元(inter7:http://inter7.com/)ということもあり、qmailとの親和性が高くmultilogにも対応しています。

コラム MRTG

 MRTG(http://www.mrtg.jp/doc/)はネットワーク監視で広く知られており、ネットワーク機器に対するSNMPのポーリング結果のグラフ化はもちろん、数値を決まったフォーマットで記録することで、対象がSNMP対応機器でなくてもグラフ化できます。

 作成したグラフはWebコンテンツとしてHTTPサーバを通して参照できます。HTTPサービスが必要になるため、状況によっては慎重に導入する必要がありますが、「ApacheによるWebサーバ構築」第3回 Apacheの基本インストールを参考にインストールを行い、運用の際はデフォルトのサービスポートを80番以外にしたりユーザー認証を併用するなど、不正アクセスへの対策は万全にしておきましょう。


GDのインストール

 グラフィックライブラリ「GD」を利用することで、線や円を用いた図形を描画したり、日本語を含む文字をPNGやJPEGフォーマットで表示することが可能になります。通常は直接GDを操作することはありませんが、MRTGをはじめPerlやPHPなどのプログラミング言語のライブラリとして利用されます。

 最近のディストリビューションではすでにインストールされていることも多いので、あらかじめインストール済みパッケージ一覧に含まれていないか調べておきましょう。Red Hat LinuxやTurbolinuxなど、rpmコマンドを備えているディストリビューションでは以下のようにして確認できます。

# rpm -qa | grep gd

 libgdやlibgd-develがインストールされているようなら、次のMRTGのインストールに進みます。

 GDをソースからインストールする場合は、次の手順で行います。http://www.boutell.com/gd/からgd-1.8.4.tar.gzを適当な作業ディレクトリにダウンロードし、展開後makeを実行します。

# tar xvfz gd-1.8.4.tar.gz
# gd-1.8.4/
# make
# make install

 GD以外にlibpngとzlibが必要ですが、多くのディストリビューションではデフォルトでインストールされるので説明は省略します。インストールされていない場合は、パッケージの追加インストールを行うかhttp://www.mrtg.jp/doc/unix-guide.htmlを参考にソースからインストールします。

MRTGのインストール

 次にMRTGのインストールを行います。2002年6月現在の最新バージョンは2.9.18になります。http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/からmrtg-2.9.18.tar.gzをダウンロードしてインストールします。

# tar xvfz mrtg-2.9.18.tar.gz
# cd mrtg-2.9.18
# ./configure
# make
# make install

 以上の操作で、/usr/local/mrtg-2/下にbin/、doc/、lib/、man/が作成され、各ファイルがコピーされます。/usr/local/mrtg-2/以外にインストールしたい場合は、configure時に「--prefix=インストール先」を指定します。

 configureの過程でエラーが出る場合は 、gdやpngのヘッダファイルやライブラリを直接指定します。

--with-gd-inc=DIR gdライブラリを指定(/usr/local/libなど)
--with-gd-lib=DIR gdヘッダファイルを指定(/usr/local/includeなど)
--with-png-inc=DIR pngライブラリを指定(/usr/local/libなど)
--with-png-lib=DIR pngヘッダファイルを指定(/usr/local/includeなど)

 このほかのオプションについては、./configure --helpで確認できます。

qmailmrtg7のインストール

 最後にqmailmrtg7をインストールします。http://inter7.com/qmailmrtg7/から、最新版のqmailmrtg7-3.4.tar.gz(2002年6月時点)を適当な作業ディレクトリにダウンロードし、以下の手順でインストールします。

# tar xvfz qmailmrtg7-3.4.tar.gz
# cd qmailmrtg7-3.4
# make
# make install

 次に設定ファイルを用意します。まず、Webコンテンツ公開用のディレクトリを用意します。Apacheのデフォルトでは/var/www/htmlや/usr/local/apache/htdocs/がドキュメントルートに指定されています。ここではドキュメントルート下にqmailmrtgディレクトリを用意することにし、qmail.mrtg.cfgファイルとindex.htmlファイルをコピーします。

# mkdir /var/www/html/qmailmrtg
# cp qmail.mrtg.cfg /var/www/html/qmailmrtg/
# cp index.html /var/www/html/qmailmrtg/

 コピーしたら、ファイルの編集を行います。qmail.mrtg.cfgとindex.html中のFQDNをドメイン付きのホスト名に置き換えます。次に、qmail.mrtg.cfgファイルのWorkDirの右辺を各環境に合わせます。

WorkDir: /var/www/html/qmailmrtg
(または)
WorkDir: /usr/local/apache/htdocs/qmailmrtg
WorkDir設定例。ドキュメントルートは自分の環境に合わせること

 mulitlogで生成されるログの保存先が/var/log/qmail、/var/log/smtpd、/var/log/pop3dの場合は、「Target[msg]:」の行を修正します。

Target[smtp]: `/usr/local/bin/qmailmrtg7 t /var/log/smtpd`
...
Target[smtpad]: `/usr/local/bin/qmailmrtg7 a /var/log/smtpd`
...
Target[pop3]: `/usr/local/bin/qmailmrtg7 t /var/log/pop3d`
...
Target[pop3ad]: `/usr/local/bin/qmailmrtg7 a /var/log/pop3d`

 qmailが/var/qmail以外にインストールされている場合も、環境に合わせて同様の修正を行います。

 ここまで終了した時点で、試しに3回ほど次のコマンドを入力して動作を確認します。

# /usr/local/mrtg-2/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg
qmail.mrtg.cfgのパスは自分の環境に合わせて便宜修正

 1回目、2回目は、集計ログからの差分が取れないため大量のエラーを出力しますが、3回目は正常に動作します。3回目でもエラーが出力される場合は、エラーの内容を確認してqmail.mrtg.cfgファイルに修正を加えます。

 最後に、前半のレポート作成と同様にcrontabを使い、自動実行されるように設定します。実行間隔は、用途に応じて5分置きまたは10分置きなどに設定します。

# crontab -e
(以下が追加分)
0,10,20,30,40,50 * * * * /usr/local/mrtg-2/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg > /dev/null 2>&1
10分置きに実行する場合

 設定が終わったら、Webブラウザで「http://ホスト名/qmailmrtg」を指定し、出力結果を確かめます。

画面1 http://ホスト名/qmailmrtgを実行したところ(画像をクリックすると拡大表示します) 画面1 http://ホスト名/qmailmrtgを実行したところ(画像をクリックすると拡大表示します)

 出力されたグラフからは、次の9つの情報を確認できます。

  • Stats Messages(x Minute Average) 送受信メッセージ数
  • Local/Remote Concurrency(x Minute Average) qmail-local、qmail-remoteの起動数
  • SMTP Concurrency(x Minute Average) qmail-smtpdの起動数
  • SMTP Totals(x Minute Average) qmail-smtpdの起動総数
  • POP3 Concurrency(x Minute Average) qmail-pop3d起動数
  • POP3 Totals(x Minute Average) qmail-pop3d起動総数
  • Bytes Transfered(x Minute Average) データ受信量
  • Message Status(xMinute Average) 送受信に成功/失敗したメッセージの数
  • Queue Size(x Minute Average) queueにたまったメッセージの総数
注:「x」には数字(単位は分)が入る

 インバウンド/アウトバンド別や送受信の失敗など、さらに詳しい情報は各グラフをクリックすることで確認できます。

画面2 詳細情報画面(画像をクリックすると拡大表示します) 画面2 詳細情報画面(画像をクリックすると拡大表示します)

次回はqmailのチューニング

 今回は、qmailサーバの運用状況を知るためのレポート作成方法を紹介しました。単なるメッセージの羅列だったログも、集計の方法によっては貴重な情報源となることがお分かりいただけたと思います。

 qmailanalogとqmailmrtg7では提供される情報の性格が違うため、一概にどちらがいいとはいえません。できれば両方を併用することをお勧めします。送受信されるメッセージ数の遷移を見てサーバの増強計画を練ったり、普段では考えられないメッセージ数が送られてきていることからSPAMメールの存在を類推したり。このように、レポートをどのように生かせるかが、本来のサーバ管理者としての手腕が問われるところです。

 次回は、大規模サーバ向けのチューニングなど、ユーザー数が膨らんだサーバでの運用方法を紹介します。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。