Analogの検索語句レポートを日本語化

カテゴリ:ログ管理
日時:2005/02/11 12:12

検索エンジンに入力された文字列は、エンコードされて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による集計が始まる。