レポートのカスタマイズ

Analogは、設定ファイルにパラメータを指定することによって、様々なレポートを作成できる。どんな種類のレポートがあるかはインストールのページで紹介済みだが、ここでは私が追加で設定したレポートの使い方を紹介する。

1.集計上、除外したいファイル・ディレクトリを除外する

カウンタのCGIやスタイルシートとして呼び出すファイルなど、集計して欲しくないファイルやディレクトリを指定するには、FILEEXCLUDEを使用して次のように指定する。

FILEEXCLUDE /cgi-bin/counter/*
FILEEXCLUDE /analog/*
FILEEXCLUDE /*.css

2.リンク元URLレポート(REFERRER)

リンク元URLレポートは、どのサイトから自分のサイトへ飛んできたか(参照元)を集計してくれる。ただし、Apacheの通常のログファイルにはリンク元URLの情報が存在しないため、参照元を記録するログファイルを作成するよう、Apacheの設定を変更する必要がある。

2-1 Apacheの設定を変更し、参照元を記録するログファイルを作成する。

参照元を記録するログファイルを作成するには、Apacheの設定ファイル(/usr/local/apache2/conf/httpd.conf)をviで開き、次のように修正する。

CustomLog logs/referer_log referer

※コメントアウトされているので、コメントアウトを外す
※access_logやerror_logをローテーションしている場合、referer_logも同様にローテーションさせること

修正後、Apacheを再起動すると、/usr/local/apache2/logs/referer_logに参照元情報が格納されるようになる。

2-2 参照元情報ログを使って、リンク元URLレポートを出力する

参照元情報ログを収集できるようになったら、Analogの設定ファイルを次のように修正する。

# 入力ファイル
LOGFILE /usr/local/apache2/logs/access_log_resolve,/usr/local/apache2/logs/referer_log

# リンク元URLレポートを有効にする
REFERRER ON

※参照元情報ログファイルも一緒に解析するよう、入力ファイルの指定を修正する
※リンク元URLレポートを有効にするには、REFERRERをONに設定する

設定後、ログの解析を行うと、レポートの中に「リンク元URLレポート」が表示されるようになる。

2-3 REFERRERとして集計したくないURLを指定する

参照元情報ログには、自分のページ内からのページ移動情報も含まれている。よって、自サイト内の移動を集計しないように、次の設定を追加する。

# REFERRERとして集計したくないURL
REFREPEXCLUDE http://自サイトのURL/*

3.検索単語(SEARCHWORD)・検索語句(SEARCHQUERY)レポート

referer_logを解析すると、インストール時にエラーになり、無効にした検索単語レポート(SEARCHWORD)が使えるようになる。インストール時に設定した「SEARCHWORD OFF」をONに設定する(またはコメントアウトする)と、「検索単語レポート」が表示されるようになる。
また、「SEARCHQUERY ON」を追加すると、「検索語句レポート」が表示されるようになる。

しかし、表示されたレポートを見ると、単語が文字化けしていることが分かる。このままでは使い物にならないので、文字化けを解消する方法を紹介する。

  1. http://www.inwonder.net/~dayan/soft.html#analogurldecodeから「analogurldecodeベータ版」のリンクをクリックして、出てきたPerlスクリプトを、/usr/local/bin/analogurldecodeとして作成する。
  2. 作成したファイル(analogurldecode)に実行権を付ける。
    # chmod 705 /usr/local/bin/analogurldecode
  3. 作成したファイル(analogurldecode)を使用して、レポートファイルを変換する。
    # /usr/local/bin/analogurldecode /usr/local/apache2/htdocs/analog/Report.html > /usr/local/apache2/htdocs/analog/Report_jp.html

作成した「Report_jp.html」をブラウザから参照すると、先ほど文字化けを起こしていた箇所が日本語に変換されていることが分かる。

正しく日本語に変換されていることが確認できたら、cronに実行させるスクリプトファイルを修正し、レポート作成後に日本語変換を行わせる。

#!/bin/sh
/usr/local/apache2/bin/logresolve < /usr/local/apache2/logs/access_log > /usr/local/apache2/logs/access_log.resolve
/usr/bin/analog
/usr/local/bin/analogurldecode /usr/local/apache2/htdocs/analog/Report.html > /usr/local/apache2/htdocs/analog/Report_jp.html

※今後、参照するのはReport.htmlではなく、Report_jp.htmlになることに注意!!

それにしても、検索単語レポートと検索語句レポートの違いが分からない・・・(これも調査中って事で)

4.Analog実行時、設定ファイルを切り替える

Analogを実行してログの解析を行う場合、デフォルトでは/etc/analog.cfg(RPMでインストールの場合)を設定ファイルとして読み込む。
バーチャルホスト別にログの解析を行っていて、設定ファイルを使い分けたいとか、過去のログファイルを使って別の解析を行いたい場合は、複数の設定ファイルを作成しておき、Analog実行時に設定ファイルを指定すればよい。

# /usr/bin/analog -g/etc/analog/analog_rep1.cfg

※-gの後に空白を入れずに設定ファイルを指定していることに注意!!

参考文献・サイト


[ TOP ]