Analogでアクセスログ解析をする
圧縮なしの2,800万行のログファイルをPentium266MHzで計算させて、20分ほどで処理が終了するというanalogを使って、アクセスログを解析してみよう。
Analog: Download よりanalog-5.24.tar.gz をダウンロードします。
2002/11/30現在、5.30が最新。
$ tar xvzf analog-5.24.tar.gz
$ cd analog-5.24
コンパイルする。
出来たファイルを、analog用ディレクトリを作成しコピーする。
日本語化フォームをコピーする。
$ make
$ su
# mkdir -p /usr/local/analog-5.24
# cp analog /usr/local/analog-5.24
# cp analog.cfg /usr/local/analog-5.24
# cp anlgform.html /usr/local/analog-5.24
# cp anlgform.pl /usr/local/analog-5.24
# cp -r images/ /usr/local/analog-5.24
# cp -r lang/ /usr/local/analog-5.24
# cd /usr/local/analog-5.24
次に、環境設定ファイルを設定する。
サイト名、URL、ログファイルの指定と、analogコマンド実行時のために、ここで言語設定もしておく。
# vi analog.cfg
LOGFILE logfile.log
↓
LOGFILE /usr/local/apache/logs/access_log
LANGUAGE JAPANESE
HOSTNAME "[あなたの組織名]"
HOSTURL "http://www.your-organization.ac.jp/"
次に、フォームインターフェースを設定する。
# vi lang/jpjform.html
<h1><!-- img src="/images/analogo.gif" alt="" -->
Analog フォーム・インタフェース</h1>
↓
<h1><img src="/analog/images/analogo.gif" alt="">
Analog フォーム・インタフェース</h1>
<!-- form action="/cgi-bin/anlgform.pl" method="POST" -->
↓
<form action="/analog/anlgform.pl" method="POST">
<!-- input type=hidden name="IMAGEDIR" value="/images/" -->
↓
<input type=hidden name="IMAGEDIR" value="/analog/images/">
次に、スクリプトファイルを設定する。
下記の1行を追加する。
# vi anlgform.pl
$analog = '/usr/local/analog-5.24/analog';
WebサーバからCGIとして動作させる場合は、Apacheの設定ファイルを編集する。
# vi /usr/local/apache/conf/httpd.conf
Alias /analog/ "/usr/local/analog-5.21/"
<Directory "/usr/local/analog-5.21">
Options ExecCGI
AllowOverride AuthConfig
Order allow,deny
Allow from all
# IPアドレスでアクセス制限する場合の例
# Order deny,allow
# Deny from all
# Allow from 192.168.1.0/255.255.255.0
</Directory>
anlgform.pl をCGIプログラムとして動作させるためには、下記の設定も必要です。
AddHandler cgi-script .cgi .pl
http://<サーバのIPアドレス> /analog/lang/jpjform.html
で解析フォームにアクセスしてみる。
解析CGIは、DoS攻撃に使われない為に、アクセス制限を掛けておくことをお勧めします。
リアルタイムで解析する必要が無い場合は、cron により一定周期でレポートを作成させるのが良いでしょう。
例えば、crontab -e で、
0 0 * * * /usr/local/analog-5.21/analog "/usr/local/apache/logs/access_log"
+B +f +b +S +D +O"/usr/local/analog-5.21/report.html"
(途中折り返してます)
を設定しておくと、毎日0時にレポートが作成されます。
日本 Analog ユーザ会
構築環境
Apache 1.3.27/PHP 4.3.0/Red Hat Linux 7.3
Apacheをインストールする
PHPをインストールする
ApacheでSSLを使う
ユーザ認証をする。(ベーシック認証)
ユーザ認証をする。(ダイジェスト認証)
Analogでアクセスログ解析をする
Apache で ウェブサーバを構築する
i2i無料WEBパーツ