Webalizer設定
1.インストール
一般的な手順と同じく以下のようにしてインストール可能。# ./configure # make # make installコマンドが/usr/local/bin/webalizer、サンプルのconfファイルが/etc/webalizer.conf.sampleにインストールされる。
2.設定
(1)サンプルのconfファイルを流用してconfファイルを作成していく。
サンプルのconfファイル(/etc/webalizer.conf.sample)をwebalizer.confにリネーム。
(2) LogFileの設定
Apacheのログファイルを指定する。WebalizeはLogFileで指定したApacheのログファイルを読み込んで解析を行う。指定しなかった場合は、標準入力からログを読み込もうとする。
LogFile /var/log/httpd/www-access_log
(3) OutputDirの設定
解析結果のHtmlファイルの出力場所を指定する。
OutputDir /var/www/html/usage
以上で最低限の設定は終わり。webalizerコマンドを実行するとOutputDirで指定したディレクトリに解析結果が出力される。
その他の設定項目を以下に記す。
(4) HistoryNameの設定
過去の月の解析結果を残しておくヒストリファイルの格納場所を指定する。過去12ヶ月分のデータが保存される。フルパスではなくファイル名のみ指定した場合はOutputDirに作成される。省略時はOutputDirにwebalizer.histという名前で作成される。
HistoryName /var/lib/webalizer/webalizer.hist
(5) Incrementalの設定
IncrementalがNoだとWebalize実行時、LogFileに指定されたApacheログを全て解析し統計を出力する。このため、logrotateなどで古いログを消している場合は、ログが消えた時点で解析結果も消えてしまう。
この場合、Incrementalをyesにすることで、Webalizerは前回までの解析結果を保存しておき、次に実行された時、前回からの差分のみを解析して解析結果を蓄積していくようになる。
この場合、Incrementalをyesにすることで、Webalizerは前回までの解析結果を保存しておき、次に実行された時、前回からの差分のみを解析して解析結果を蓄積していくようになる。
解析結果はwebalzier.currentに保存される。このファイルはIncrementalNameでも指定できる。
Incremental yes IncrementalName /var/lib/webalizer/webalizer.current
(6) PageTypeの設定
PageTypeで指定された拡張子のファイルにアクセスがあった場合に、それを「ページ」へのアクセスとみなす。環境に応じて追加するとよい。(phpとかplとか)
PageType php
(7) HideSiteの設定
社内からのアクセスを集計結果(トップxxxの表)に含めたくないような場合は、HideSiteで指定しておくと表示されなくなる。
HideSite *.xxxx.com
(8) HideReferrerの設定
自サイト内のリファラを見てもあまり嬉しくない(通常は自サイト外のどこから自サイトに飛んで来たかを知りたいはず)ので、以下のように自サイト名を書いておくとリファラの表示結果が見やすくなる。
リファラを解析するにはそもそもApacheのログにリファラが含まれていないといけない。CustomLog がcommonになっていたりするとリファラは記録されないのでcombinedなどにしておくこと。
リファラを解析するにはそもそもApacheのログにリファラが含まれていないといけない。CustomLog がcommonになっていたりするとリファラは記録されないのでcombinedなどにしておくこと。
HideReferrer www.xxxx.com
(9) SearchEngine
Webalizerではサーチエンジンでの検索結果からリンクをたどって来た場合、どのようなキーワードで検索していたのかをログに残すことができる。デフォルトでは日本のサーチエンジンは登録されていないので登録しておくとよい。
SearchEngine yahoo.co.jp p= SearchEngine google.co.jp q= SearchEngine msn.co.jp q=
/etc/webalizer.confの例
LogFile /var/log/httpd/access_log OutputDir /var/www/webalize HistoryName /var/lib/webalizer/webalizer.hist Incremental yes IncrementalName /var/lib/webalizer/webalizer.current PageType htm* PageType cgi PageType php PageType shtml DNSCache /var/lib/webalizer/dns_cache.db DNSChildren 10 Quiet yes FoldSeqErr yes HideSite *.bit-hive.com HideURL *.gif HideURL *.GIF HideURL *.jpg HideURL *.JPG HideURL *.png HideURL *.PNG HideURL *.ra
3.解析の実行
以下のコマンドを実行すれば、webalize.confに指定したLogFileからデータを読み込んで解析結果をOutputDirに吐き出す。
/usr/bin/webalizer
webalize.conf以外のconfファイルを指定したい場合は、以下のように-cオプションでファイルを指定する。
/usr/bin/webalizer -c <confファイル>
4. VirtualHost環境での設定
VirtualHost環境で各VirtualHost毎に解析を行いたい場合はVirtualHost毎にconfファイルを準備する必要がある。例:
www1サーバー - webalize.www1.conf
www2サーバー - webalize.www2.conf
LogFile,OutputDir,HistoryName,IncrementalNameの項目を各VirtualHost用の値に設定する。
例:
/etc/webalize.www1.conf
LogFile /var/log/httpd/www1_access_log OutputDir /var/www/webalize/www1 HistoryName /var/lib/webalizer/webalizer.www1.hist Incremental yes IncrementalName /var/lib/webalizer/webalizer.www1.current <以下略>
/etc/webalize.www2.conf
LogFile /var/log/httpd/www2_access_log OutputDir /var/www/webalize/www2 HistoryName /var/lib/webalizer/webalizer.www2.hist Incremental yes IncrementalName /var/lib/webalizer/webalizer.www2.current <以下略>
各VirtualHostのアクセス解析は以下のように行う。
/usr/bin/webalizer -c /etc/webalize.www1.conf /usr/bin/webalizer -c /etc/webalize.www2.conf
5.その他 Tips
5.1 古いログファイルの解析
Webalizeインストール後、既にRotateされてしまっている古いログも含めて解析結果を出したい場合は、以下のようにログファイル古い順に指定してwebalizeを実行すればよい。
# webalizer /var/log/httpd/wiki-access_log.3 # webalizer /var/log/httpd/wiki-access_log.2 # webalizer /var/log/httpd/wiki-access_log.1 # webalizer /var/log/httpd/wiki-access_log
すでに、新しい解析結果が出力されている場合は、古いログファイルを指定しても解析はされないので OutputDirにある解析結果のファイル、HistoryName,IncrementalNameファイルを削除してから上記のコマンドを実行すればよい。(ファイルを消すと過去の解析データも消えるので注意)
# rm /var/www/webalize/* # rm /var/lib/webalizer/webalizer.hist # rm /var/lib/webalizer/webalizer.current
5.2 Hide*とIgnore*の違い
Configファイルの設定項目でHide* (HideSite,HideReferrer,etc...)とIgnore* (IgnoreSite,IgnoreReferrer,etc...)がある。これらの違いは以下のとおり。
- Hide*は指定したサイトやリファラの情報を集計結果(*1)に表示しないようにする。統計(*2)としてはカウントされる。
- Ignore*は指定したサイトやリファラに関するアクセスログを統計にカウントしない。(完全に無視される)
(*1)「トップxxx」の表のこと。例えば、HideSiteは「トップxxx of xxxサイト」の表から指定サイトの表示を隠し、HideReferrerは「トップ xxx of xxx リファラー」の表から指定リファラーの表示を隠す。
(*2)「統計」とは「月の統計」、「日ごとの統計」、「時間ごとの統計」の表にカウントされている値のこと。