AWStats ログファイル解析ツール 7.4 ドキュメント

AWStatsのインストール、設定、レポート作成

この文書は工藤オリジナルのオンラインドキュメントを個人的に和訳し、適宜事例などを加筆したものです。

AWStatsを使い始めるには次の3つの操作が必要です。

1. セットアップ:インストールと設定

1.1. ApacheあるいはApache互換のウェブサーバでのセットアップ(Unix/Linux、Windows、MacOSにて)

ステップ1:

Linux用配布物(RPMパッケージ)やWindowsインストーラを使う場合、このステップは既に実行済みであるはずですが、実行済みなのかどうかよく分からない場合、このステップを再度実行していただいても問題ありません。

AWStatsパッケージをダウンロード・展開した後、その中のtoolsディレクトリにあるawstats_configure.plというスクリプトを実行して下さい。これによりいくつかの処理が行われます(Windowsインストーラの場合は、自動的に実行されます)。

【例】AWStatsが /usr/local/awstats に展開された場合
[root@server ~]# cd /usr/local/awstats/tools
[root@server tools]# perl awstats_configure.pl 

awstats_configure.plが行う処理内容は以下の通りです(awstats_configure.plを使わず、これらを手動で行っても構いません)。

A) 参照するログファイルの決定

awstats_configure.pl はApacheウェブサーバの設定ファイル(httpd.conf)を参照して、解析対象とするログファイルを決定します(httpd.confが見つからなかった場合は入力を求められます)。一般的なログを使うよう「common log」を指定している場合、awstats_configure.plはログ書式の指定を「NCSA combined/XLF/ELF」に変更するよう提案してくるでしょう。カスタマイズした書式のログを指定することもできますが、この定義済みログ書式セットを選択するのが通常は最も良い選択であり、セットアップの高速化につながるでしょう。

もし前述の提案の受け入れた場合、awstats_configure.pl は httpd.conf を以下のように変更します。

【変更前】
CustomLog ログの絶対パス common
【変更後】
CustomLog ログの絶対パス combined 

この設定に関して詳しくはApacheマニュアルも参照して下さい。マニュアルは恐らく http://ウェブサーバ/manual/ にインストールされているでしょう。

B) ディレクトリエイリアスの設定

awstats_configure.pl はディレクトリエイリアスに関する設定がまだApache設定ファイル(httpd.conf)に存在しなければ追加します。追加される内容の詳細は以下の通りです。但し、パスはOS等の環境によって異なる場合があります。

#
# Directives to add to your Apache conf file to allow use of AWStats as a CGI.
# Note that path "/usr/local/awstats/" must reflect your AWStats Installation path.
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory> 
C) Apache再起動

A) または B) の設定変更が行われた場合、設定を有効となるようにするため、awstats_configure.pl はApacheを再起動します。再起動後にウェブサイトにアクセスして、ログの書式が変更されたことを確認して下さい。以下に、変更が適用されたログの例を示します。

 62.161.78.75 - - [dd/mmm/yyyy:hh:mm:ss +0000] "GET / HTTP/1.1" 200 1234 "http://www.from.com/from.html" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
D) 設定ファイル名の決定

awstats_configure.pl は設定ファイル名を聞いてきます。ウェブサーバ名や解析対象とする仮想ドメインのドメイン名など適当な名前(例:mysite)を指定して下さい。

awstats_configure.pl はテンプレートファイルであるawstats.model.confをコピーしてawstats.mysite.confというファイルを生成します。このファイルが生成される場所は以下の通りです。

  • Linux/BSD/Unix 環境の場合: /etc/awstats
  • Mac OS X、Windows、およびその他OSの場合: awstats.plと同じディレクトリ(cgi-bin
E) 終了
以上の処理を終えたら、awstats_configure.pl は終了します。
ステップ2:

設定ファイル(awstats_configure.pl、パッケージインストーラが生成したもの、あるいは個別にawstats.model.confをコピーしたもの)が生成されたら、次に主なパラメータがあなたの要求を満たす内容になっているかを確認することが重要です。内容を確認・編集するため、お好きなテキストエディタ(notepad.exe、vi、geditなど)でawstats.mysite.confを開いて下さい。文書処理ソフト(ワープロソフト)は使わないで下さい。開いたら以下の各項目をチェックし、必要に応じ変更して下さい。

  • LogFileの値がサーバのログファイルの絶対パスになっているか確認して下さい。awstats.plがあるディレクトリからの相対パスで記述することもできますが、絶対パスで記した方が思わぬエラーを避ける上で好ましいでしょう。
  • LogTypeの値を確認して下さい。ウェブサーバのログを解析する場合は「W」を指定します。
  • LogFormatの設定内容を確認して下さい。「NCSA apache combined/XLF/ELF」のログ書式を使う場合は「1」を設定して下さい。Apacheのcombined形式のログを使わない場合はカスタムログ書式を指定して下さい。
  • SiteDomainの値には、分析対象とするウェブサイトにアクセスするためのメインドメイン名またはウェブサーバ名(例:www.mysite.com)を設定して下さい。同一のサイトに複数の名前がある場合はメインドメイン名を設定し、その他の名前はHostAliasに設定します。
  • 必要があれば上記以外のパラメータも変更することができます。全パラメータの一覧を設定・指定の一覧ページに記載しています。

これでインストールと設定は完了です。次のプロセスログ:統計データベースの構築・更新に進んで下さい。

1.2. Microsoft IISウェブサーバでのセットアップ

1.3. 他のウェブサーバでのセットアップ

1.4. FTP、メール、ストリーミングなど他のインターネットサービス用のセットアップ

他のファイル書式に対する設定方法については、関連するFAQトピックス(FAQ-COM090: FTPFAQ-COM100: メールFAQ-COM110: ストリーミングメディア)をご覧下さい。

2. プロセスログ:統計データベースの構築・更新

コマンドライン上から行う方法と、ウェブブラウザから行う方法がありますが、推奨するのは前者の方法です。

2.1. コマンドラインから更新する方法(推奨)

最初のログ解析はコマンドラインからマニュアルで実行するのが良いでしょう。なぜならこの処理には時間がかかる可能性があり、何か問題が起きた時、コマンド出力から問題の調査をしやすくなるからです。以下のコマンドを実行するとAWStatsは統計データベースの作成・更新を行います。

perl awstats.pl -config=サイト名 -update 

awstats.pl にパスが通っていない場合、PATH環境変数に awstats.pl のパスを追加するか、またはパス込みで指定する。Linuxの場合、既定のパスは /usr/local/awstats/wwwroot/cgi-bin/

サイト名
AWStatsの設定で指定したドメイン名またはバーチャルホスト名。

AWStatsは awstats.サイト名.conf(見つからない場合はawstats.conf)を参照し、分析対象のログファイルから得られた集計情報に基づきデータベースの作成・更新を行います。

AWStatsの統計データベースファイルは設定ファイルのDirDataで指定した場所に保存されます。データベースの作成・更新が完了すると、以下のような内容が表示されます。

Update for config "/etc/awstats/awstats.mysite.conf"
With data in log file "/pathtoyourlog/yourlog.log"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 225730
 Found 122 dropped records,
 Found 87 corrupted records,
 Found 0 old records,
 Found 225521 new qualified records.
Dropped records(除外されたアクセス記録)
「ユーザ HTTP リクエスト」ではないか、あるいはAWStatsのフィルタ設定(SkipHostsSkipUserAgentsSkipFilesOnlyHostsOnlyUserAgentsOnlyFilesの各パラメータで設定された内容)に合致したアクセスの数です。どの行が破棄されたのかを確認するには、コマンドラインオプションに -showdropped を追加して下さい。
Corrupted records(正常に読み込むことのできなかったアクセス記録)
AWStats設定ファイル中のLogFormatパラメータで定義されたログ書式に合致しないアクセス記録の数です。

2.2. ウェブブラウザから更新する方法

3. レポート作成処理の実行:レポートの作成と読み方

解析結果を参照するには2つの方法がある。セキュリティポリシーの内容に応じ適当な方を選択する。

注:解析結果レポートを作成するには、あらかじめログファイルを解析して対象期間の解析結果データベースを作成しておく必要があります。詳しくは前章を参照して下さい。

3.1. 固定htmlファイルに結果出力

全体のレポート概要を固定のhtmlファイルに出力するには以下のコマンドを実行します。

$ cd AWStats CGIローカル絶対パス
$ perl awstats.pl -config=mysite -output -staticlinks >出力先htmlファイル名
AWStats CGIローカル絶対パス
インストールと設定にて設定した、awstats.plの絶対パス。Linuxにおける既定値は/usr/local/awstats/wwwroot/cgi-bin/
-config=mysite
インストールと設定にて設定したドメイン名またはバーチャルホスト名。
-output
htmlファイルに結果を出力する場合に指定する。CGIページを閲覧するのみであれば指定不要。
-staticlinks

個々のレポートを別々のファイルに出力するには以下のようにoutputオプションに出力対象を指定します。

【書式】
$ perl awstats.pl -config=mysite -output=出力項目指定 -staticlinks >出力先htmlファイル名

【例】
perl awstats.pl -config=mysite -output=alldomains -staticlinks > awstats.mysite.alldomains.html
perl awstats.pl -config=mysite -output=allhosts -staticlinks > awstats.mysite.allhosts.html
perl awstats.pl -config=mysite -output=lasthosts -staticlinks > awstats.mysite.lasthosts.html
perl awstats.pl -config=mysite -output=unknownip -staticlinks > awstats.mysite.unknownip.html
perl awstats.pl -config=mysite -output=alllogins -staticlinks > awstats.mysite.alllogins.html
perl awstats.pl -config=mysite -output=lastlogins -staticlinks > awstats.mysite.lastlogins.html
perl awstats.pl -config=mysite -output=allrobots -staticlinks > awstats.mysite.allrobots.html
perl awstats.pl -config=mysite -output=lastrobots -staticlinks > awstats.mysite.lastrobots.html
perl awstats.pl -config=mysite -output=urldetail -staticlinks > awstats.mysite.urldetail.html
perl awstats.pl -config=mysite -output=urlentry -staticlinks > awstats.mysite.urlentry.html
perl awstats.pl -config=mysite -output=urlexit -staticlinks > awstats.mysite.urlexit.html
perl awstats.pl -config=mysite -output=browserdetail -staticlinks > awstats.mysite.browserdetail.html
perl awstats.pl -config=mysite -output=osdetail -staticlinks > awstats.mysite.osdetail.html
perl awstats.pl -config=mysite -output=unknownbrowser -staticlinks > awstats.mysite.unknownbrowser.html
perl awstats.pl -config=mysite -output=unknownos -staticlinks > awstats.mysite.unknownos.html
perl awstats.pl -config=mysite -output=refererse -staticlinks > awstats.mysite.refererse.html
perl awstats.pl -config=mysite -output=refererpages -staticlinks > awstats.mysite.refererpages.html
perl awstats.pl -config=mysite -output=keyphrases -staticlinks > awstats.mysite.keyphrases.html
perl awstats.pl -config=mysite -output=keywords -staticlinks > awstats.mysite.keywords.html
perl awstats.pl -config=mysite -output=errors404 -staticlinks > awstats.mysite.errors404.html

なお、統計ページ作成ツールを使うと、全ページの生成処理を1つのコマンドで行ったり、PDFファイルに出力したりすることができます。

注:

a) urldetailurlentryurlexitallhostsrefererpagesの各レポートについては、出力対象を更に限定するフィルターをかけることもできます。フィルター指定は出力対象指定の直後に「:フィルタルール」の書式で指定します(複数記述可能)。ルールには正規表現も使えます。
例えば、urldetailsのレポートを出力する際、URLに/newsを含むページだけを対象としたい場合は、以下のコマンドを指定します。
perl awstats.pl -config=mysite -output=urldetail:/news -staticlinks > awstats.mysite.urldetailwithfilter.html 
b) 特定の年月だけを集計対象とすることもできます。
-month=-year=
【書式】年月を指定
perl awstats.pl -config=mysite -output -staticlinks -month= -year=西暦 >出力先htmlファイル名

なお、-month=all -year=西暦と指定すると、指定年の全月を対象とした年間レポートを作成します。但しこの処理には多くのメモリとCPUのリソースを消費することがよくあります。Unix/Linux様のOSでは、優先順位を指定して実行する「nice」コマンドを使って実行するのがいいでしょう。

3.2. 都度レポートを作成しウェブブラウザで参照

もう一つの結果閲覧方法は、アクセスの都度生成される結果レポートをブラウザで参照するという方法です。結果ページのURLは以下のようになります。

http://www.myserver.mydomain/awstats/awstats.pl?config=サイト名

ここで指定するサイト名は、AWStats設定ファイルで指定したものです(AWStatsはawstats.mysite.confの設定を参照します)。

出力に関するコマンドラインオプションはブラウザで参照する場合でも同じように使えます(但し、-staticlinks-logfileは除く)。-オプション名&オプション名 に変更して指定を行って下さい(例:http://www.myserver.mydomain/awstats/awstats.pl?month=03&2013&output=unknownos)。

レポートは統計データベースの情報に基づいてその都度生成されます。もし動作が遅い場合はサーバの負荷が高すぎることが考えられます。その時はhtmlファイルに結果を出力する方法を使うことを検討して下さい。

AWStats設定ファイルで、AllowToUpdateStatsFromBrowserパラメータの値を 1 に設定しているのであれば、統計データベースの更新をブラウザから行うこともできます。この場合、「Update now」ボタンをクリックするだけでUpdateが実行できます。

3.3. コマンドラインオプション一覧

awstats.plの引数仕様を以下に記す。内容はawstats.pl --helpに基づく。

awstats.pl -config=サイト名 オプション

このコマンドを実行することにより、AWStats設定ファイルで指定されたログファイルから統計情報を更新したり、htmlで書かれたレポートを作成したりすることができます。このコマンドではまず最初にawstats.サイト名.confを探して設定を読み込もうとします。もしこのファイルがなければ次にawstats.confを探し、最後に-config=オプションで指定されたファイルを探しに行きます。

AWStats設定ファイル(awstats.サイト名.confまたはawstats.conf)は下記いずれかの場所にある必要があります。

もし環境変数「AWSTATS_FORCE_CONFIG」が設定されていた場合、AWStatsはコマンドラインやURLでの指定より環境変数の値の方を優先して使用します。

統計情報更新のためのオプション

-update
統計情報を更新します(これが既定値)
-showsteps
8192行処理するごとにベンチマーク情報を付加する。
-showcorrupted
処理がうまく行かなかった行があった場合、その理由と合わせてうまく行かなかったことを出力する。
-showdropped
破棄された行があった場合、その理由と合わせて破棄されたことを出力する。
-showunknownorigin
解析不能な参照元を含む行があった場合、そのことを出力する。
-showdirectorigin
別のページからリンクをたどってきたのではなく、直接このページにアクセスされていた場合にそのことを出力する。
-updatefor=行数
行数に指定した行数を処理したところで更新処理を停止する。
-LogFile=ログファイル名
解析対象のログファイルを指定する。この指定は設定ファイルの LogFile ディレクティブによる指定より優先される。なお、更新処理を行う際、時系列順にログファイルを処理するようにして下さい(既にデータベースにある情報よりも新しいもののみが更新対象となるため)。

統計情報閲覧のためのオプション

-output
メインのHTMLレポートを出力する(-updateオプションも合わせて指定しない限り、更新処理は行わない)。
-output=出力項目
指定した項目のHTMLレポートを出力する。指定できる項目と意味は以下の通り
出力項目名 内容
alldomains 全ドメイン・国名一覧ページを作成する
allhosts 全ホスト一覧ページを作成する
lasthosts 各ホストの最終アクセス時刻ページを作成する
unknownip アクセス元IPアドレスが不明であるアクセスの情報ページを作成する
allemails (メールログのみ)全ての電子メール送信先一覧ページを作成する
-staticlinks
固定リンクをHTMLレポートページに埋め込む。
-staticlinksext=拡張子
固定リンクをHTMLレポートページに埋め込む。但し拡張子を.htmlから指定した拡張子に置き換える。
-lang=言語コード
指定した言語でHTMLレポートを作成する。言語の指定は言語の2文字コード(ja、en、de、es、fr、it、nlなど)で行う。
-month=
過去の指定月のレポートを作成する。月は1〜12の整数で指定。
-year=
過去の指定年のレポートを作成する。年は4桁の整数で西暦を指定。