|
ログ解析スクリプトAWStats 7.7ドキュメント
|
|
AWStatsのインストール、構成、レポート
AWStatsを使用し始めるために、3ステップがあります:
- セットアップ: インストールと構成
- ログ処理: 統計データベースの作成と更新
- レポート: レポートの作成と表示
* Step 1:
(リナックスディストリビューションかWindowsインストーラが提供したパッケージを使用しているなら、既にStep 1を実行済みかもしれません。知らないなら、再びこのステップを実行できます。)
AWStatsパッケージをダウンロードして解凍した後に、awstats_configure.plスクリプトを実行しいくつかのセットアップ動作をします。AWStatsのtoolsディレクトリにあるはずです(Windowsインストーラを使用するなら、スクリプトは自動的に実行されます):
perl awstats_configure.pl
これはスクリプトがするか、またはさせることです(おのぞみならawstats_configure.plを実行する代わりに手動でこれらのすべてのステップを実行してもいいです。):
- awstats_configure.plはApacheウェブサーバー構成ファイルhttpd.confからの現在のログ形式を決定しようとします(見つけられないなら、経路を聞いてきます)。commonログが使用されていると、awstats_configure.plは、NCSA combined/XLF/ELF形式に変更するようにと示唆するでしょう。(固有のカスタムログ形式も使用できますが、この事前に定義されたログ形式が、しばしば最も良い選択であり、セットアップは簡単になります)
yesと答えると、awstats_configure.plはhttpd.confの以下のディレクティブを変更します:
変更前
CustomLog /yourlogpath/yourlogfile common
変更後
CustomLog /yourlogpath/yourlogfile combined
このディレクティブに関する詳しい情報についてはApacheマニュアルを参照ください(標準ではあなたのサーバのwww.mysite.com/manual/にインストールされています。)
- 次に、awstats_configure.plはApache構成ファイルに既に存在しなければ、以下のディレクティブを追加します。(ディストリビューションやOSにより、"/usr/local/awstats/wwwroot"経路が異なるかもしれないことに注意してください):
#
# CGIとしてAWStatsの使用を許すためにApache構成ファイルに加えるディレクィブ
# パス"/usr/local/awstats/"はAWStatsをインストレーションしたパスを反映しな
# ければならないことに注意してください。
#
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/"
#
# これは、AWStatsディレクトリのスクリプト/ファイルへのURLアクセスを可能にす
# るためのものです。
#
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
- AとBに示す変更が完了したら、awstats_configure.plは、変更を適用するためにApacheを再起動します。ログ形式変更を確認するためには、あなたのホームページを参照してください。これはあなたが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)"
- 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)。
- awstats_configure.plが終了します。
* Step 2
(awstats_configure.plやパッケージインストーラまたはawstats.model.confを手動でコピーして)構成ファイルを作成したら、「主なパラメタ」があなたの必要性に合っていることを確かめるのは重要です。お気に入りのテキストエディタ(すなわち、ノートパッド、vi、gedit、秀丸など)でawstats.mysite.conをの開いて、ワードプロセッサを使ってはいけません、必要に応じて変更を行います。
以下のパラメタに特に注意してください:
- LogFileの指定値について確認します。サーバログファイルのフルパスであるべきです(また、awstats.plディレクトリから相対パスも使用できますが、フルパスの方が安全です)。
- LogTypeの指定値について確認します。ウェブログファイルを分析するためには「W」であるべきです。
- LogFormatが「1」(NCS Aapache combined/ELF/XLFログ形式)であるか確認ください。そうでなければ、カスタムログ形式が用意ができているかどうか確認します。
- 分析するウェブサイトを参照するのに使用する主なドメイン名かイントラネットウェブサーバー名(例: www.mysite.com)にSiteDomainパラメタを設定します。同じサイトを参照するのにいくつかの名前がある場合、主なドメイン名をここで指定して、その他はHostAliasパラメタのリスト残りを指定します。
- また、必要なら、他のパラメタも変更できます。完全なリストは構成ディレクティブページにあります。
これでインストールと構成は終了です。ログ処理: 統計データベースの作成と更新セクションに進んでください。
* Step 1
「W3C拡張ログファイル形式」でログを作成するようにIISを構成してください(独自のカスタムログ形式を使用できますが、標準のフォーマットを使用した方が、セットアップは簡単です)。そうするために、「管理ツール」-「インターネットインフォメーションサービス(IIS)マネージャ」を始動して、適切なウェブサイトを選択してください、そして、プロパティを開いてください。「ログの記録を有効にする」をチェックして、「W3C拡張ログファイル形式」を選んでください。そしてプロパティを選択し詳細設定タブの下のすべてのチェックを外します。すべてクリアした後、以下のフィールドだけをチェックしてください:
日付(date)
時間(time)
クライアントIPアドレス(c-ip)
ユーザ名(cs-username)
メソッド(cs-method)
URI Stem (cs-uri-stem)
URIクエリ(cs-uri-query)
プロトコルの状態(sc-status)
送信バイト数(sc-bytes)
プロトコルバージョン(cs-version)
ユーザエージェント(cs(User-Agent))
参照者(cs(Referer))
ログ形式の変更が有効であるかを確認するためには、IISを止めて、(お望みでしたら)バックアップをとって、古いログファイルのすべてを削除して、IISを再開して、ホームページを参照します。これは新しいログファイルで見つけるべきであるレコードの形式の例です:
2000-07-19 14:14:14 62.161.78.73 - GET / 200 1234 HTTP/1.1
Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0)
http://www.from.com/from.htm
* Step 2
AWStatsパッケージがハードドライブに作ったAWStatsのcgi-binフォルダーの内容を、サーバのcgi-binディレクトリにコピーしてください(これにはawstats.pl、awstats.model.confおよび、lang、lib、およびpluginsサブディレクトリを含んでいます)。
* Step 3
AWStats iconサブディレクトリとその内容をウェブサーバーで読み込み可能なディレクトリ、例えば、C: \yourwwwroot\iconに移動させてください。
* Step 4
awstats.model.confをawstats.mysite.confという新しいファイルにコピーすることによって、構成ファイルを作成してください。ここで"mysite"は任意の値ですが、ドメインであるか仮想ホスト名にするのが通例です。このファイルはawstats.pl(すなわち、cgi-bin)と同じディレクトリに保存しなければなりません。
* Step 5
作成したawstats.mysite.confファイルを編集して、特定の環境を合わせてください:
- LogFileの指定値をウェブサーバーログファイルのフルパスに変えます(また、awstats.pl(cgi-bin)ディレクトリから相対パスも使用できます)。
- LogTypeの指定値をウェブログファイルを分析するための「W」に変えます。
- step 1で説明した「拡張W3Cログ形式」を使用しているなら、LogFormatの指定値を2に変えてください。カスタム形式の場合では、ログのIISフィールドを記載してください。例えば:
LogFormat="date time c-ip cs-username cs-method cs-uri-stem
cs-uri-query sc-status sc-bytes cs-version cs(User-Agent) cs(Referer)"
- アイコンディレクトリの相対パスを反映するためにDirIconsパラメタを変えます。
- 分析されるウェブサイトに達するのに使用される主なドメイン名かイントラネットウェブサーバー名(例: www.mydomain.com)にSiteDomainパラメタを設定します。
- コマンドラインアクセスが出来なくて、cgiアクセスのみの場合、AllowToUpdateStatsFromBrowserパラメタを1に設定します。
- 他のパラメタを再検討して、適切な変更を実施します。
これでインストールと構成は終了です。ログ処理: 統計データベースの作成と更新セクションに進んでください。
C) 他のウェブサーバーの場合のセットアップ
アパッチやIISのセットアップの過程と同様です。
WebStarのネイティブのログ形式ならばLogFormatの指定値に3を使用してください。ログ形式がそれ以外なら、それにあわせた個別のLogFormatを作成してください。
D) 他のインターネット・サーバ、すなわち、FTP、メール、ストリーミングメディアのためのセットアップ
他のファイル形式のためのセットアッププロセスは関連FAQ、FAQ-COM090:FTP、FAQ-COM100:メールとFAQ-COM110:ストリーミングメディアで説明しています。
* Step 1: コマンドラインからの更新(推奨)
コマンドライン出力を見ることができるなら、プロセスが長いかもしれなく、問題を解決するのが、簡単になるので、最初のログ解析はコマンドラインから手動で実行するべきです。(コマンドラインアクセスができないなら、Step2までスキップしてください。)AWStatsは統計を作成(と更新)します。データベースコマンドは以下の通りです。
perl awstats.pl -config=mysite -update
ここで、mysiteは、AWStats構成時に選択したドメイン/仮想のホスト名です。
AWStatsは構成ファイルawstats.mysite.conf(見つけられないならawstats.conf)を読み、分析ログファイルから得られるるすべての情報から、データベースを作成し更新します。
AWStats統計データベース・ファイルは構成ファイルのDirDataパラメタによって定義されたディレクトリに保存されます。
作成/更新処理が終了したら、以下のようなスクリーン表示が出力されます。
Create/Update database for config "/etc/awstats/awstats.mysite.conf" by AWStats version 7.0 (build 1.971)
From 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 0 comments,
Found 0 blank records,
Found 87 corrupted records,
Found 0 old records,
Found 225521 new qualified records.
Dropped recordsは、「ユーザHTTPリクエスト」でなかったかAWStatsフィルタ条件により捨てられたレコードの数です。(SkipHosts、SkipUserAgents、SkipFiles、OnlyHosts、OnlyUserAgentsおよびOnlyFilesパラメタを参照ください。)どの条件で捨てられたかを見たいなら、コマンドラインで-showdroppedオプションを加えます。
Corrupted recordsはAWStats構成ファイルの"LogFormat"パラメタによって定義されたログ書式に合っていないレコードです。すべてが正しく働いていても、すべてのウェブサーバーにはわずかなCorrupted records(<5%)を出力するのが普通です。これはいくつかの理由があります。1)ウェブサーバーの内部のバグ、2)不正なブラウザからの不正なリクエスト、3)サーバのプラグを抜くことなどの汚いウェブサーバーシャットダウン等。
すべてがCorrupted recordsとなり、AWStats構成ファイルのLogFormatパラメタが正しいなら、ウェブサーバーログ形式に関するセットアップ問題があるかもしれません。AWStats構成ファイルのLogFormatパラメタは、分析するサーバログファイル形式に合わなければならないのを忘れないでください。どの行がCorrupted recordsとなったかを見たいなら、コマンドラインで-showcorruptedオプションを加えることができます。
Old recordsは単に前の更新セッションで既に処理されたレコードです。各更新処理の後にあなたのログファイルを削除するのは必須ではありませんが、できる限り削除するのをお勧めします。
New recordsは統計データベースを作成および更新に首尾よく使用されたログファイルのレコードです。
註 ログ解析プロセスは遅いかもしれません(Athlon 1Ghzでログファイルの4500行処理に1秒かかります。また、DNSLookupの指定値が1で、ログファイルのDNS解決が既にされていない場合、それぞれの異なったIPアドレスのためのDNS解決の時間が加わります。詳細な情報に関してベンチマークを参照してください。
* Step 2:ブラウザからの更新
また、AWStatsがCGIとして使用されるとき、現れる「今すぐ更新」リンクをクリックすることで、ブラウザからAWStats統計を更新しリアルタイムの統計を提供できます(URLは「レポート: レポートの作成と表示」という次のセクションで説明します)。
警告!
このリンクを有効にするために、構成ファイルパラメタAllowToUpdateStatsFromBrowserは1に設定しなければなりません(リンクはデフォルトで有効にされません)。
オンラインアップデートを使用しても、定期的に自動更新処理を実行するのを妨げません(コマンドは上の最初の更新処理と同じです)。
これに関しては、あなたには、2つの選択があります:
- ログローテートプロセスに更新コマンドを含めます。詳細に関してFAQ-COM120を参照ください。
- または、定期的にAwstats更新処理を実行するために、crontab(unix/リナックス)かタスクスケジューラ(Windows)で指示を加えます。詳細に関してFAQ-COM130を参照ください。
推奨する更新/ログローテート頻度に関してベンチマークを参照してください。
分析結果を見るために、あなたのセキュリティ・ポリシーによるいくつかのオプションがあります。
注意 レポートを作成しようとする前に、分析の期間のログファイルを処理することによって、統計データベースを作成していなければなりません。前項を参照ください。
- 第1の選択は、以下の構文を使用してコマンドラインから静的なHTML形式のページで、主なレポートを造ることです(CGIアクセスしかない場合は2番目の選択までスキップしてください):
perl awstats.pl -config=mysite -output -staticlinks
> awstats.mysite.html
ここで、mysiteは、AWStats構成時に選択したドメイン/仮想のホスト名です。
特定の個々のレポートを作成するには、以下のようにコマンドラインでレポート名を指定してください1;
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 awstats_buildstaticpagesツールを使えば、1つのコマンドでこれらのすべてのページを造ったり、PDFファイルを生成できます。
注意:
- また、あなたは以下のレポートにurldetail、urlentry、urlexit、allhosts、refererpages「フィルタ」を加えることができます。フィルタは、AWStatsに報告して欲しい完全なキーのregexp(正規表現)でもいいし、":"によって区切って-outputパラメタに追加してもいいです。
例えば、それらのURLの/newsを含むページだけを含むurldetailレポートを出力するために、以下のコマンドラインを使用できます:
perl awstats.pl -config=mysite -output=urldetail:/news
-staticlinks > awstats.mysite.urldetailwithfilter.html
- 特定の月のレポートを造りたいと思うなら、-month=MM -year=YYYYオプションを指定します。ここで、MMは2ケタであわらす月、すなわち03、および年は4ケタでらわします。まる1年間のレポートを造るためには、-month=all -year=YYYYオプションを指定します。(警告:これは、しばしば資源浪費的であり、多くのメモリとCPUを使用するかもしれません。unix/リナックスのようなオペレーティングシステムでは「nice」コマンドを使用できるかもしれません。)
2番目の選択はブラウザから統計をダイナミックに見ることです。これには、次のURLを使用してください:
http://www.myserver.mydomain/awstats/awstats.pl?config=mysite
ここで、mysiteは使用する構成ファイルを指定します(この場合AWStatsはファイルawstats.mysite.confを使用するでしょう)。
また、ブラウザからAWStatsを使用するとき、(-staticlinksと-logfileを除く)すべてのコマンドラインのオプションも利用可能です。"-option"を"&option"に変更して、URLパラメタとして使用できます。すなわち、http://www.myserver.mydomain/awstats/awstats.pl?month=MM&year=YYYY&output=unknownos
レポートはリアルタイムで、統計データベースから作られます。これが遅いか、あまりに多くの負荷をサーバにかけているなら、代わりに静的なレポートを考慮してください。
また、AWStats構成ファイルのAllowToUpdateStatsFromBrowserパラメタを1に設定すると、ブラウザから更新処理を実行できるでしょう。ただリンク「今すぐ更新」をクリックしてください。