ここでは、アクセス解析ソフトのひとつであるWebalizer
について解説していきます。Webalizer での解析結果はHTML形式で出力され、またブラウザ上から視覚的に確認することができます。また、グラフ表示機能もあります。解析できるログファイルの種類としては、Apache
のCommon Logfile Format (CLF)やCombined、Squid
形式のログファイル、wu-ftpd のログファイルなどがあります。Webサーバーだけに限らず、FTPやプロキシサーバーのログも解析ができるのて大変、重宝します。是非、活用しましょう。
|
|
■Webalizerのダウンロード
Webalizer を上記のサイトからダウンロードしてきてください。執筆時点での最新バージョンは、webalizer-2.01-10
です。ここでは、ソースパッケージからインストールしますが、RPMパッケージを使用しても構いません。なお、webalizerを使うにはgd、zlib、db4が必要になります。以下のコマンドを実行し、インストールされていないものがあれず各自で予めインストールしておいてください。
#rpm -q zlib gd libpng
db4 |
|
■Webalizerのインストール
configureオプションには、IPアドレスの逆引きができるように、--enable-dns を指定しています。configure時に「
configure:
error: png library not found... please install png.」のエラーが出た場合は、libpngの場所を指定するため、--with-png=/usr/lib
オプションをつけます(環境によってはインストールされている場所が異なります)。他、同様にgd とzlib
が見つかりません、と言われた方は、
--with-gd=/usr/lib と
--with-zlib=/usr/lib
も指定してください。
$ cd /usr/local/src
$ tar xjvf webalizer-2.01-10-src.tar.bz2
$ cd webalizer-2.01-10
$ ./configure --with-language=japanese --enable-dns
$ make
$ su
# make install |
|
■設定ファイルの編集
インストールが終了すると、/etc/webalizer.conf.sample にサンプルの設定ファイルが作成されますので、リネーム&コピーしてwebalizer.conf
として編集していきます。
# cp /etc/webalizer.conf.sample
/etc/webalizer.conf
# vi /etc/webalizer.conf |
|
Apache2のログファイルのパスを実際のパスに変更します。RPMパッケージでApache2をインストールしている方は変更の必要はありません。
LogFile /usr/local/apache2/logs/access_log |
|
アクセス解析結果を格納するパスを指定します。ドキュメントルートを指定しておくと、ブラウザからアクセスすることができるようになります。
OutputDir /home/kororo/public_html/webalizer |
|
■アクセス解析の集計
以下、コマンドを実行することでアクセス解析結果が集計されます。
/usr/local/bin/webalizer
ebalizer V2.01-10 (Linux 2.4.20-6) Japanese
Using logfile /usr/local/apache2/logs/access_log
(clf)
Creating output in /home/kororo/public_html/webalizer
Hostname for reports is 'serv.kororo.jp'
History file not found...
Generating report for December 2003
Generating summary report
Saving history information...
25 records in 0.11 seconds |
|
■cron によるアクセス解析の自動実行
cronを使用してアクセス解析の集計を指定した時間に自動実行するようにします。ここでは、20分おきに設定していますが、各自のWebサイトのアクセス数に見合った時間をしていするようにしてください。
# crontab -e
20 * * * * /usr/local/bin/webalizer |
|
■複数のログを解析する
VirtualHost などで複数Webサイトを構築している場合や、あるいは、Apache と Squid
両方のアクセス解析を行いたい事もあるかと思います。その場合は、webalizer.conf ファイルを複数用意し、それぞれに適切に設定していきます。ここでは、Apache
と Squid のアクセスログ解析について説明します。
まず、Apache 用の設定ファイルを、webalizer.apache.conf とし、Squid
用の設定ファイルを、webalizer.squid.conf としてコピーしておきます。
# cp /etc/webalizer.conf.sample
/etc/webalizer.apache.conf
# cp /etc/webalizer.conf.sample /etc/webalizer.squid.conf |
|
まず、webalizer.apache.conf を以下のように編集します。
HistoryName
とは、履歴ファイルの名前のことで、OutputDir オプションで指定したディレクトリに作成されます。デフォルトでは、OutputDir
の相対パスで記述されていますが、複数に分ける場合は、フルパスを指定しておきましょう。
Incremental
は、前回のWebalizer の出力を有効にし、今回の解析結果を増加させるようにWebalizer
に指示します。
# vi /etc/webalizer.apache.conf
LogFile /usr/local/apache2/logs/access_log
OutputDir /home/kororo/public_html/analyze_web
HistoryName /home/kororo/public_html/analyze_web/webalizer.apache.hist
Incremental yes
IncrementalName /home/kororo/public_html/analyze_web/webalizer.apache.cu
rrent |
|
同様に、Squid の設定ファイルも編集しておきます(ここでのSquid のLogFile のパスはRPM
の場合です)。なお、Squid の場合は、LogType をsquid に変更しておいてください。
# vi /etc/webalizer.squid.conf
LogFile /var/log/squid/access.log
OutputDir /home/kororo/public_html/analyze_proxy
LogType squid
HistoryName /home/kororo/public_html/analyze_proxy/webalizer.squid.hist
IncrementalName /home/kororo/public_html/analyze_proxy/webalizer.squid.cu
rrent |
|
アクセスを解析する前に予めWebalizer 用のディレクトリを作成しておきましょう。ディレクトリが存在しない場合はエラーが発生してしまいます。
# mkdir /home/kororo/public_html/analyze_web
# mkdir /home/kororo/public_html/analyze_proxy |
|
ここまでの設定を終えたら、まずは手動で解析してみます。コマンド実行時には、設定ファイル名を指定する、-c
オプションを付け加えます。-c オプションがない場合は、デフォルトで、/etc/webalizer.conf
を読み込みに行ってしまいます。実行したら、Webから閲覧してみてください。
# /usr/local/bin/webalizer
-c /etc/webalizer.apache.conf
# /usr/local/bin/webalizer -c /etc/webalizer.squid.conf
|
|
最後に、cron の設定も加えておきます。ここでは、1日1回、0時20分に解析することにします。
# crontab -e
20 0 * * * /usr/local/bin/webalizer -c /etc/webalizer.apache.conf
20 0 * * * /usr/local/bin/webalizer -c /etc/webalizer.squid.conf
|
|