検索エンジンに入力された文字列は、エンコードされてURLに埋め込まれる。この情報はApacheのアクセスログにも記録されるので、訪問者がどのような検索文字列でアクセスしてきたのかが分かる。

ただし、Analogはエンコードされた文字列をそのまま表示するため、人間には分かりにくい(16進数がそのまま読める人は別だが)。analogurldecodeを使えば、エンコードされた文字列をデコードしてくれる。

前述のURLにアクセスし、analogurldecodeをダウンロードする。「ベータ版 その2」でOK。これをEUC(改行コードLF)で「analogurldecode」というファイル名で/usr/local/binに保存。実行できるようにパーミッションを変更する。

# chmod 755 /usr/local/bin/analogurldecode

環境によっては、analogurldecodeの1行目

#!/usr/bin/perl

を書き換える必要があるかもしれない。

$ which perl
/usr/bin/perl

でPerlのパスを確認するといいだろう。

次に、Jcode.pmをインストールする。

# emerge dev-perl/Jcode

これで準備完了。

ここまでできたら、Analogの実行から検索文字列のデコードまでを自動化する。

#!/bin/sh

/usr/bin/analog
cd /home/httpd/html/log
/usr/local/bin/analogurldecode outfile.html > index.html

という内容のスクリプト/usr/local/bin/analog.shを作り、実行権を与える。

# chmod +x /usr/local/bin/analog.sh

これを使って、

# /usr/local/bin/analog.sh

が問題なく実行できればOK。cronに登録して定期的に実行させる。実行時間を制御したいので、/etc/cron.hoge/以下ではなく/etc/crontabに記述する。

30 5 * * * root /usr/local/bin/analog.sh

これで、毎日朝の5:30にAnalogによる集計が始まる。