Linuxなどのメモ書き

Webalizer設定


Rev.21を表示中。最新版はこちら


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の設定
社内からのアクセスを統計に含めたくないような場合は、HideSiteで指定しておくと解析されなくなる。
HideSite        *.xxxx.com

(8) HideReferrerの設定
自サイト内のReferrerを見てもあまり嬉しくない(通常は自サイト外のどこから自サイトに飛んで来たかをしりたいはず)ので、以下のように自サイト名を書いておくとReferrerの表示結果が見やすくなる。

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
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

古いログファイルの解析

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


最終更新 2006/06/07 20:31:24 - kztomita
(2006/04/06 12:27:47 作成)


リンク

その他のWiki
Linuxメモ
Xnuメモ

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

よくやる仕事

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

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

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

検索

Adsense
最近のコメント