●webalizer がインストールされているか確認
http://www.mydomainA/usage/
仮想サーバ毎のログ解析設定手順▼
[root@www ~]# yum list installed | grep webalizer●なければ webalizer をインストール
[root@www ~]# yum info webalizer [root@www ~]# yum -y install webalizer●デフォルトのままでも webalizer コマンドで、ログファイル
/var/log/httpd/access_logを解析し
/var/www/usageへ結果ページが生成。
http://www.mydomainA/usage/
仮想サーバ毎のログ解析設定手順▼
●一般ユーザ権限で実行。
●「LogFile」解析対象ログファイル。
●「OutputDir」結果ページの生成パス。
●「HistoryName」「IncrementalName」「DNSCache」差分解析時に生成されるファイルパス。
簡単にするため結果ページと同じパス。
●「HostName」ページのサイトタイトル。
●「HTMLHead」結果ページに charset=UTF-8 指定。
●「HTMLTail」結果ページの下部に任意の HTML 追加。ここでは任意に解析実行するボタンとリロードボタン。
●「AllSites」全明細ページ生成。
●「AllReferrers」全明細ページ生成。
●「AllAgents」全明細ページ生成。
●「AllSearchStr」全明細ページ生成。
●「HideURL」解析除外するURL。
●「IgnoreSite」解析除外するクライアント。
●「SearchEngine」検索URL・パラメータを追加。
★行の文字数に上限あり。
★アクセスログの形式は combined 前提。
●結果ページで解析実行する webalizer.php ▼
●ここまでの仮想サーバ設定の場合次のURLで閲覧可能となるので、必要に応じて制限。
http://www.mydomainA/webalizer/
[root@www ~]# exit logout [taro@www ~]$ which webalizer /usr/bin/webalizer [taro@www ~]$ webalizer -v Webalizer V2.01-10 (Linux 2.6.18-308.el5) English Copyright 1997-2001 by Bradford L. Barrett●仮想サーバ毎にデフォルトの設定ファイルを複製・編集
[taro@www ~]$ vi ~/web/www/document/blog/webalizer/webalizer.conf [taro@www ~]$ diff /etc/webalizer.conf ~/web/www/document/blog/webalizer/webalizer.conf 28c28 < LogFile /var/log/httpd/access_log --- > LogFile /home/taro/web/www/logs/access_log 42c42 < OutputDir /var/www/usage --- > OutputDir /home/taro/web/www/document/webalizer 52c52 < HistoryName /var/lib/webalizer/webalizer.hist --- > HistoryName /home/taro/web/www/document/blog/webalizer/webalizer.hist 76c76 < IncrementalName /var/lib/webalizer/webalizer.current --- > IncrementalName /home/taro/web/www/document/blog/webalizer/webalizer.current 94c94 < #HostName localhost --- > HostName MyDomain 131c131 < DNSCache /var/lib/webalizer/dns_cache.db --- > DNSCache /home/taro/web/www/document/blog/webalizer/dns_cache.db 157c157 < #HTMLHead <META NAME="author" CONTENT="The Webalizer"> --- > HTMLHead <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 182c182,186 < #HTMLTail <IMG SRC="msfree.png" ALT="100% Micro$oft free!"> --- > HTMLTail <form method="POST" action="./webalizer.php"> > HTMLTail <input type="hidden" name="href" value="/blog/webalizer/" /> > HTMLTail <input type="submit" value="analyze" /> > HTMLTail <button onclick="location.reload()">location.reload()</button> > HTMLTail </form> 329c333 < #AllSites no --- > AllSites yes 331,333c335,337 < #AllReferrers no < #AllAgents no < #AllSearchStr no --- > AllReferrers yes > AllAgents yes > AllSearchStr yes 393a398,399 > HideURL *.css > HideURL *.CSS 473c479,482 < #IgnoreSite bad.site.net --- > IgnoreSite localhost > IgnoreSite 127.0.0.1 > IgnoreSite 192.168.0.* > IgnoreSite 192.168.1.* 516a526,538 > SearchEngine .google. q= > SearchEngine .msn. q= > SearchEngine .goo.ne.jp MT= > SearchEngine .yahoo.co.jp p= > SearchEngine .infoseek.co.jp qt= > SearchEngine .nifty.com Text= > SearchEngine .biglobe.ne.jp q= > SearchEngine .live.com q= > SearchEngine .ceek.jp q= > SearchEngine ask.jp q= > SearchEngine .fresheye.com kw= > SearchEngine .aol.com query= >
●「LogFile」解析対象ログファイル。
●「OutputDir」結果ページの生成パス。
●「HistoryName」「IncrementalName」「DNSCache」差分解析時に生成されるファイルパス。
簡単にするため結果ページと同じパス。
●「HostName」ページのサイトタイトル。
●「HTMLHead」結果ページに charset=UTF-8 指定。
●「HTMLTail」結果ページの下部に任意の HTML 追加。ここでは任意に解析実行するボタンとリロードボタン。
●「AllSites」全明細ページ生成。
●「AllReferrers」全明細ページ生成。
●「AllAgents」全明細ページ生成。
●「AllSearchStr」全明細ページ生成。
●「HideURL」解析除外するURL。
●「IgnoreSite」解析除外するクライアント。
●「SearchEngine」検索URL・パラメータを追加。
★行の文字数に上限あり。
★アクセスログの形式は combined 前提。
●結果ページで解析実行する webalizer.php ▼
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta HTTP-EQUIV="REFRESH" CONTENT="10;URL=<?php echo $_POST['href'];?>"> <title>webalizer</title> </head> <body> <?php $cmd='/usr/bin/webalizer -c /home/taro/web/www/document/blog/webalizer/webalizer.conf >> /home/taro/web/www/logs/webalizer_log 2>&1 &'; $s=exec( $cmd, $a, $l ); ?> <a href="<?php echo $_POST['href'];?>">analyze</a> ... <?php if($l){echo 'NG '.$s.'/'.var_dump($a).'/'.$l;}else{echo 'ok.';}?> </body> </html>●毎日朝5時に解析実行。
[taro@www ~]$ crontab -e 0 5 * * * /usr/bin/webalizer -c /home/taro/web/www/document/blog/webalizer/webalizer.conf /home/taro/web/www/logs/access_log.1 > /dev/null 2>&1『こちらの設定』で、4時にローテートされ24時間後に圧縮される「access_log.1」を5時に解析する。
●ここまでの仮想サーバ設定の場合次のURLで閲覧可能となるので、必要に応じて制限。
http://www.mydomainA/webalizer/