AWstatsとはWebログを解析しグラフィカルに表示することの出来る
アクセス解析のフリーソフトです。
その他に似たような解析ものとしては
analog
Webalizer
などもあります。
事前準備
まず、apache のログ形式を調査します。
ログのフォーマットをcombinedにします
# vi /usr/local/apache/conf/httpd.conf
で apache の設定ファイルを開きます。
(VirtualHost を使用していない場合です。)
commonになっている場合は、以下のようにフォーマット形式を変更してください。
#CustomLog logs/access_log common CustomLog /usr/local/apache/logs/access_log combined
AWstatsのソース取得
1. ソースディレクトリへ移動
# cd /usr/local/src
2. ソースをダウンロード
# wget http://nchc.dl.sourceforge.net/sourceforge/awstats/awstats-6.9.tar.gz
3. 取得したファイルを解凍
# tar zxvf awstats-6.9.tar.gz
4. 解凍したフォルダへ移動
# cd awstats-6.9/wwwroot
5. ディレクトリをapache の cgi が動作するフォルダへコピー。
# mkdir /usr/local/apache/cgi-bin/awstats # cp -r icon /usr/local/apache/cgi-bin/awstats/ # cd cgi-bin # cp -r * /usr/local/apache/cgi-bin/awstats/
6. コピーしたディレクトリへ移動
# cd /usr/local/apache/cgi-bin/awstats/
7. 設定ファイルの準備
# cp awstats.model.conf awstats.conf # chmod 644 awstats.conf
8. 設定ファイルの編集
vi awstats.conf #ログファイルの指定 apacheのログの場所を定義します。 LogFile="/var/log/httpd/mylog.log" ↓変更 LogFile="/usr/local/apache/logs/access_log" ←利用環境に置き換えてください。 #ログの種類を指定 W はweb のログになります。 LogType=W #ログフォーマット(apache で combined の場合は 1 を設定) LogFormat = 1 #運用しているドメインを指定します。 SiteDomain="www.example.com" #DNSの逆引きをする場合は1を設定 DNSLookup=1 #解析後のデータ格納ディレクトリ DirData="." #CGI設置場所の指定(cgi を実行するディレクトリ) http://SiteDomain/以下で閲覧するパスの指定です。 DirCgi="/cgi-bin/awstats" #アイコンの場所を指定 DirIcons="/cgi-bin/awstats/icon" #年間表示する場合は3を設定 AllowFullYearView=3 #日本語で表示する場合 Lang="jp" #解析対象外にするホストを指定します。 SkipHosts="192.168.0.1 10.0.0.1" #解析対象外にするユーザエージェントを指定 SkipUserAgents="IE6″ #解析対象外にするファイルを指定 SkipFiles="/badpage.php /page.php?param=x"
手動で解析テスト
# /usr/local/apache/cgi-bin/awstats/awstats.pl -config=awstats.conf -update Create/Update database for config "/usr/local/apache/cgi-bin/awstats/awstats.conf" by AWStats version 6.9 (build 1.925) From data in log file "/usr/local/apache/logs/access_log"... Phase 1 : First bypass old records, searching new record... Direct access after last parsed record (after line 116) Jumped lines in file: 116 Found 116 already parsed records. Parsed lines in file: 51 Found 0 dropped records, Found 0 corrupted records, Found 0 old records, Found 51 new qualified records.
[/bash]
解析結果をHTML出力
/usr/local/apache/cgi-bin/awstats/awstats.pl -config=awstats.conf -output -staticlink > /usr/local/apache/htdocs/awstats.html
WEBブラウザで確認(HTML出力版)
http://<WEBサーバ>/awstats.html
こんな感じで解析されたHTMLが表示されます。

WEBブラウザで確認(CGI版)
http://<WEBサーバ>/cgi-bin/awstats/awstats.pl
シェルを作成
#!/bin/bash #------------------------- # AWstats WEBログ解析 # # @author Seiji Tsukioka #------------------------- PATH=/usr/local/apache/cgi-bin/awstats OUTPUT=/usr/local/apache/htdocs CONF_NAME=awstats.conf $PATH/awstats.pl -config=$CONF_NAME -update $PATH/awstats.pl -config=$CONF_NAME -output -staticlink > $OUTPUT/awstats.html
Cronで定期実行する(ここでは30分おきに実施するようスケジュール)
# crontab -e #AWstats::WEBログ解析 0,30 * * * * /root/bin/awstats.sh > /root/bin/logs/awstats.log






