連載
» 2002年05月08日 00時00分 公開

ApacheによるWebサーバ構築(14):ログローテーションとAnalogの導入 (3/3)

[一志達也,TIS株式会社]
前のページへ 1|2|3       

Analogの設定

 Analogの設定は、「analog.cfg」(通常は/etc/にある)を編集するだけで行える。とはいえ、200項目にも及ぶAnalogの設定項目を1つ1つ解説することは不可能だ。そもそも、初めからすべての項目を理解して使いこなす必要もないだろう。ほとんどの場合、基本項目で十分用は足りるはずだからだ。ここでは、最初に行うべき設定に的を絞って解説する。

表示する項目の設定

 まず、Analogの結果として表示する項目を設定する。この設定は最後にするべきなのだが、それを最初に行うのには理由がある。それは、この設定を簡単に行うツールがAnalogに用意されているからだ。ツールは「anlgform.html」というファイルで、Analogを導入したディレクトリにある(画面1)。

画面1 anlgform.htmlによる設定画面 画面1 anlgform.htmlによる設定画面

 日本語版のAnalogであれば、langディレクトリ以下に「jpform.html」という日本語化されたファイルがある(画面2)。

画面2 jpform.htmlを使えば日本語で設定できる 画面2 jpform.htmlを使えば日本語で設定できる

 もしなければ(編注)、日本語Analogの公式サイト上でも配布されているので、そちらを参照してほしい。

編注:http://www.jp.analog.cx/で配布されている日本語化されたAnalog(analog-5.01-jp1.04.i386.rpm)をRed Hat Linux 7.2にインストールしたところ、HTMLファイルなどは/usr/lib/analog以下に配置された。このように、本文とはファイル配置が異なる可能性もあることに注意。


 上記のHTMLファイルをWebブラウザで開くと、表示するレポートの項目やその並べ替えの順序などを指定できる。好みに合わせて選択し、統計情報出力ボタンをクリックすると、Analogの設定ファイル(analog.cfg)に書き出される仕組みだ。

 最初にこの手順を行うのは、このツールがanalog.cfgを書き換えてしまうからである。自分で書き換えた内容が、ツールによって書き換えられる可能性もあるので、最初に行っておくこととした。

分析するログファイルの設定

 ここからは、設定ファイルを手動で編集する。といっても、その内容は拍子抜けするほど簡単だ。ファイルを開くと、「LOGFILE」で始まる行がある。これは、Analogで分析するログファイルを指定する命令である。

 ここに、切り出したログファイルを格納しているディレクトリとファイル名を指定する。デフォルトではディレクトリの指定がないと思うが、ディレクトリを省略できるのはAnalogの実行ファイルと同じ場所にログファイルがある場合に限られる。通常は別のディレクトリに保存しているはずだから、ディレクトリも含めて指定することになる。

 ここで重要なのは、複数のファイルを一度に分析したい場合の指定である。ファイル名を特定してしまうと、1つのファイルしか分析対象とならない。ワイルドカードで指定すれば、複数のファイルを分析対象にできる。もちろん、ファイル名に共通性がなければ意味はないのだが、通常は「access_log.日付」などのように共通性を持たせているはずだ。そこで、「access_log.200204*」(2002年4月分と指定する場合)のように、ワイルドカードを使って分析を行う。

出力するHTMLファイルの設定

 次に、結果を出力するファイルを指定する。これは、先ほどの「LOGFILE」の次の行にあるはずの「OUTFILE」で指定する。

 このとき、Apacheで参照できる(リモートでHTTPアクセスできる)ディレクトリに書き出すと、結果をリモートのコンピュータからWebブラウザで閲覧できて便利だ(セキュリティ対策は必要)。実際、筆者が担当したサイトでは、次のような仕組みで分析から閲覧までを自動化していた。

 まず、分析結果を格納するディレクトリと、それに対応する仮想ディレクトリを作成しておき、その仮想ディレクトリへのアクセスにはユーザー認証を行うようにする。そして、1日に1度ログを切り出し、保存用のディレクトリに移動する(拡張子は日付になるようにする)。同時に、元のアクセスログから2日前までのログを消去する。

 保存したログファイルは、週に1度Analogで分析し、結果を格納するディレクトリに出力する。出力した結果のファイル名は分析した日付になるようにする。これによって、過去の結果も閲覧できる。さらに、月に1度、保存しているログファイルから2カ月前の分をテープに吸い上げて削除する。

 ここでポイントとなるのは、毎週変化するログファイルの拡張子や出力結果のファイル名をどうやってコントロールするかであろう。この場合は、スケジュール実行されるシェルスクリプトでanalog.cfgを書き換えることで実現した。

そのほか使い心地の修正

 ここまでの設定で、分析が可能な状態になっている。後は、一度分析させてみて、自分なりに改良したいと思う部分について、該当する設定(命令)を見つけて設定ファイルを変更していくことになる。とはいっても、筆者の経験ではそれほど設定を変更する必要はないと思う。

Analogの実行

 設定が完了したら、実行してみるだけだ。Analogの実行は簡単で、インストールしたディレクトリ(通常は/usr/local/bin)の、「analog」を呼び出すだけである。

 ここで問題になるのが、ドメインの分析である。サンプル出力を見ても分かるように、Analogはアクセスの多いドメイン(.comや.co.jpなど)を集計し、表示する機能を持っている。ただし、これが表示できるのは、ログファイルにドメインが記録されている場合に限られる。通常、アクセスログには、負荷軽減のため、クライアントのIPアドレスのみを記録する。そのため、そのままのログをAnalogに分析させてもドメイン名による集計はできないのだ。

 そこで、分析前にIPアドレスをドメイン名に置き換える作業を行う。これには「dnstran」のようなツールを使うのがいいだろう。ただし、IPアドレスをドメイン名に置き換える処理はネットワークやDNSに負荷をかけることになるので、その実施には十分な配慮が必要である。

まとめと次回予告

 ログの記録と切り出し、そしてその分析はまったく別の次元で行われる。Apacheの仕事はログに記録するところまでであり、そのログをどうするかは管理者次第ということだ。それだけに、これまでとは違って自由度も高くなっている。それほど難しく考える必要もないが、ログをどう活用するかは、管理者の腕次第アイデア次第だ。筆者には、そうした部分のアドバイスはできないが、運用を考えるうえでのノウハウは提供できたと思う。ぜひ活用していただきたい。

 次回はApacheのパフォーマンスについて考えてみようと思う。


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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