2000-11-05 改定
Analog(ログアナライザ)構築
ApacheなどのWWWサーバが出力した「共通ログ形式(CLF:Common Log Format)」のログファイルを解析するツールの1つとして、Analogというツールが存在します。
Analogの最新版は、http://www.statslab.cam.ac.uk/~sret1/analog/ から入手可能です。2000-10-24 現在の最新版は「analog-4.13.tar.gz」 のようです。入手した最新版(例では、analog-4.13.tar.gzとします) を解凍します。
$ cd ~
$ tar zxvf analog-4.13.tar.gz
すると analog-4.13 というディレクトリができるので
$ cd ~/analog-4.13
としてディレクトリを移動後、anlghea2.hの次の部分を修正します。
上記の部分の修正後、コンパイルを開始します。、
修正前 修正後 #define LANGUAGE (ENGLISH) #define LANGUAGE (JAPANESE)
$ make DEFS='-DANALOGDIR=\"/usr/local/etc/analog/\"' (最後の「/」を忘れないこと)
$ su
rootのパスワード
# mkdir /usr/local/etc/analog
# mkdir /usr/local/etc/analog/lang
# mkdir HTTP_DOC_DIR/images
# cp analog /usr/local/etc/analog
# cp analog.cfg /usr/local/etc/analog
# cp lang/* /usr/local/etc/analog/lang
# cp images/* HTTP_DOC_DIR/images
HTTP_DOC_DIR は、HTTPのドキュメントが収まっているディレクトリを指定します。WWWサーバがApacheの場合、通常は
にHTTPドキュメントが格納されます。
パッケージ ディレクトリ ソースファイルからコンパイルした場合 /usr/local/apache/htdocs FreeBSD4.x Port /usr/local/www/data RedHat 6.xJ (RPM) /home/httpd/html
インストールが終了したなら、今度は設定ファイルを環境に合わせて設定します。
環境ファイルは「 /usr/local/etc/analog 」に存在します。
エディタで上記ファイルを開き、次の項目を修正します。
修正項目 意味 LOGFILE LOGFILE_NAME ログファイル名 OUTFILE HTTP_DOC_DIR/analog.html 解析結果の出力ファイル名 HOSTNAME "[www.domain.jp]" WWWサーバの正式名
ログファイル(LOGFILE_NAME)は、パッケージによって保存されるディレクトリ/ファイル名が違います。
WWWサーバがApacheの場合、通常、ログファイル名は
になります。
パッケージ ディレクトリ ソースファイルからコンパイルした場合 /usr/local/apache/logs/access_log FreeBSD4.x (Ports) /var/log/httpd-access.log RedHat 6.xJ (RPM) /var/log/httpd/access_log
設定が完了したら、早速Analogを使ってログ情報をhtml形式にしてみましょう。
実行は、
# /usr/local/etc/analog/analog
とすることで、設定ファイルに記された出力ファイルとして出力されます。
結果を見るには、Webブラウザーで、
http://www.domain.jp/analog.html
を実行すれば結果が見られます。
なお、定時になったら自動的にanalogを実行して結果を求めるなら、例えば緋に1回analogを実行するなら、
(FreeBSDの場合)
にファイル「analog.sh」を作成して、このファイルに次のように記述しておきましょう。
OS 自動実行設定ファイル FreeBSD /usr/local/etc/rc.d/analog.sh RedHat 6.xJ /etc/cron.hourly/analog.sh ----毎時、1回実行する場合
/etc/cron.daily/analog.sh ----毎日、1回実行する場合TruboLinux6.x /etc/cron.hourly/analog.sh ----毎時、1回実行する場合
/etc/cron.daily/analog.sh ----毎日、1回実行する場合
(analog.shの内容)
#!/bin/sh
/usr/lcoal/etc/analog/analog
(FreeBSDの場合)
/etc/crontabファイルを開き、次の1行を追加します。
これで毎時の4分になるとanalogを実行します。
4 * * * * root /usr/local/etc/analog/analog
(RedHat6.xJ(TurboLinux6.x)の場合)
Linuxでは/etc/cron.dailyディレクトリの下に、「analog.sh」というファイルを作り、この中を次のように記述します。
#!/bin/sh
/usr/lcoal/etc/analog/analog
作成した、analog.shに実行属性を与えます。
# chmod +x /etc/cron.daily/analog.sh
これで、毎特定時になるとanalogが実行されます。
Analog HomePage : http://www.statslab.cam.ac.uk/~sret1/analog/