Linuxなどのメモ書き

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は前回までの解析結果を保存しておき、次に実行された時、前回からの差分のみを解析して解析結果を蓄積していくようになる。

解析結果は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などにしておくこと。

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)「統計」とは「月の統計」、「日ごとの統計」、「時間ごとの統計」の表にカウントされている値のこと。



最終更新 2007/03/07 11:18:53 - kztomita
(2006/04/06 12:27:47 作成)


リンク

その他のWiki
Linuxメモ
Xnuメモ

会社
(有)ビットハイブ
受託開発やってます。

よくやる仕事

・Webシステム開発(LAMP環境)
・Linuxサーバー設定関連
サーバー移転作業代行

開発事例にデジタルカタログ/マンガビューワーを追加しました。

draggable.jsのスマホ対応版デモページを追加しました。説明はこちら

検索

Adsense
最近のコメント