前回、AWStatsのインストールとIISの出力するログの項目変更をしました。
AWStatsをインストールしてIIS7.5のログ解析を行う その2 ≫ sa-sa-ki.jpのblog
今回はAWStatsの設定ファイルを変更して実際にログ解析をしてみたいと思います。
AWStats設定ファイル変更
C:\Program Files (x86)\AWStats\wwwroot\cgi-bin にある awstats.www.sa-sa-ki.jp.conf を awstats.conf にリネームしてメモ帳などで開きます。
下記箇所を変更します。
LogFile="/var/log/httpd/mylog.log"
↓
LogFile="C:\inetpub\logs\LogFiles\W3SVC1\u_ex%YY-0%MM-0%DD-0.log"
# ログファイルのフォーマットを指定します
LogFormat=1
↓
LogFormat = "%time2 %method %url %logname %host %other %ua %referer %code %bytesd"
# IPアドレスの名前解決をします
DNSLookup=2
↓
DNSLookup=1
# 解析ファイル格納場所をブラウザから参照できないフォルダに変更します
DirData="."
↓
DirData="C:\Program Files (x86)\AWStats\data"
# AWStatsのcgi-binの仮想パスを指定します
DirCgi="/cgi-bin"
↓
DirCgi="/awstats/cgi-bin"
# AWStatsのiconの仮想パスを指定します
DirIcons="/icon"
↓
DirIcons="/awstats/icon"
# ローカルホストやローカルネットワークからのアクセスは解析から外します
SkipHosts=""
↓
SkipHosts="127.0.0.1 localhost REGEX[^192\.168\.]"
# AWStatsやWordPressの管理者系画面はアクセスは解析から外します
SkipFiles=""
↓
SkipFiles="REGEX[\/awstats\/] REGEX[\/wp\-admin]"
# QueryStringを含む場合、別ページとしてカウントします
URLWithQuery=0
↓
URLWithQuery=1
# 国別アクセス数を表示します
#LoadPlugin="geoipfree"
↓
LoadPlugin="geoipfree"
# W3C IISログの時間を日本時間で統計します
#LoadPlugin="timezone +2"
↓
LoadPlugin="timezone +9"
AWStats仮想ディレクトリ追加
インターネットインフォメーションサービスマネージャーでAWStatsの仮想ディレクトリを追加します。
インターネットインフォメーションサービスマネージャーが起動したら左ペインの[サーバー名]-[サイト]-[Default Web Site]を選択して、右クリックし[仮想ディレクトリの追加]を選択します。

エイリアスと物理パスを設定して[OK]ボタンをクリックします。
エイリアス:awstats
物理パス:C:\Program Files (x86)\AWStats\wwwroot

インターネットインフォメーションサービスマネージャーの左ペイン[Default Web Site]の下に[awstats]が作成されている事を確認します。

Perl GeoIPFree追加
AWStatsの設定ファイルに国別アクセス数を表示するよう設定を変更しましたが、Geo-IPfreeというPerlのパッケージが別途必要なので[Perl Package Manager]を使って導入します。
スタートメニューより[すべてのプログラム]-[ActivePerl 5.x.x Build xxxx]-[Perl Package Manager]を選択します。
Perl Package Managerが起動したらパッケージ検索テキストボックスに「geo-ipfree」と入力して[Enter]キーを押すと、Geo-IPfreeが表示されるので右クリックして[Install Geo-IPfree 0.8 +]を選択します。

メニューバーの[File]-[Run Marked Actions]を選択します。

「Ready to install 1 package?」とダイアログが表示されたら[OK]ボタンをクリックします。

インストールが完了したら(Geo-IPfreeのマークが灰色から黄色になるとインストール完了です)Perl Package Managerは終了します。

ログ解析実施
コマンドプロンプトからログ解析を実施します。
コマンドプロンプトを起動します。
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
# ログ解析処理を格納しているフォルダに移動します
C:\Users\Administrator>cd "C:\Program Files (x86)\AWStats\wwwroot\cgi-bin"
# ログ解析処理を実行します
C:\Program Files (x86)\AWStats\wwwroot\cgi-bin>awstats.pl -config=awstats.conf -update
Create/Update database for config "C:\Program Files (x86)\AWStats\wwwroot\cgi-bin/awstats.conf" by AWStats version 6.95 (build 1.943)
From data in log file "C:\inetpub\logs\LogFiles\W3SVC1\u_ex100120.log"“
Phase 1 : First bypass old records, searching new record“
Direct access after last parsed record (after line 9857)
Jumped lines in file: 9857
Found 9857 already parsed records.
Parsed lines in file: 0
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 0 new qualified records.
ログ解析処理後、C:\Program Files (x86)\AWStats\data に awstats月年.txt (月2桁、年4桁) ファイルができている事を確認してください。
前回の作業で解析しようとしているIISログファイルの項目が途中で変わっている為だと思います。
その場合は一度IISを停止して、IISのログファイルをリネームしてからIISを再起動すると新しいIISログファイルが再作成されると思うので、これで再度実施してみてください。
awstats月年.txt ファイルができていたらブラウザを起動してURL http://www.sa-sa-ki.jp/awstats/cgi-bin/awstats.pl にアクセスします。
統計結果が表示されました。

ログ解析バッチの作成とタスク設定
このままだとログの解析が更新されませんので、ログ解析バッチを作成してタスクで定期時間おきに実施するようにします。
どこでもいいのですが、yasuはとりあえず C:\Program Files (x86)\AWStats に awstats.bat という名前でテキストファイルを作成します。
テキストファイルに下記処理を追加して保存します。
awstats.pl -config=awstats.conf -update
続いて作成したバッチをタスクスケジューラで定期的に実行します。
実行間隔は各自サーバーの負荷状況などを考慮して確定してください。
yasuは1分間隔で実施することにしました。
管理ツールから[タスクスケジューラ]を選択します。
タスクスケジューラが起動したら[タスクの作成...]を選択します。

タスクの作成ダイアログが表示されます。
まず[全般]タグの設定ですが、タスクの名前を入力します。
セキュリティオプションの[ユーザーがログオンしているかどうかかかわらず実行する(W)]を選択します。
構成は[Windows 7, Windows Server 2008 R2]を選択して[トリガー]タグを選択します。

設定は[毎日(D)]にチェックをつけ、開始時間を0:00:59に変更します。
詳細設定の繰り返し間隔は[5分間]を選択した後5をマウスで選択して1に変更します。
継続時間は[無制限]に変更して[OK]ボタンをクリックします。

[操作]タグを選択し、[新規(N)...]ボタンをクリックします。

操作は[プログラムの開始]を選択して(デフォルトが[プログラムの開始]になってると思うけど)、プログラム/スクリプトにさっき作成したバッチファイル C:\Program Files (x86)\AWStats\awstats.bat を選択して[OK]ボタンをクリックします。

タスクの作成ダイアログの[OK]ボタンをクリックするとパスワードの入力を求められるのでパスワードを入力します。
これで定期的に統計ログを作成できるようになりました。






















