|
ログ解析スクリプトAWStats 7.7ドキュメント
|
|
FAQ(よくある質問)とトラブルシューティング
全般についての質問:
セットアップ / 利用についての質問:
以下に, AWStatsをセットアップ/利用する際によく聞かれる質問をまとめました。
- FAQ-COM025 サーバのログがない場合、AWStatsをどのように利用すればいいのでしょうか?
- FAQ-COM050 AWStatsが解析できるログサイズの上限は?
- FAQ-COM090 FTPサーバログファイル(proftpd, vsftpd, ...)の場合のセットアップ
- FAQ-COM100 メールサーバ(Postfix, Sendmail, QMail, MDaemon, Exchange...)のログのセットアップについて
- FAQ-COM110 メディアサーバ(Realmedia, Windows media, Darwin streaming server)のログファイルのセットアップについて
- FAQ-COM115 LogFormatパラメタのセットアップ例
- FAQ-COM120 損失なくログファイルを循環させるには
- FAQ-COM130 一定間隔でAWStatsを起動するには?
- FAQ-COM140 自身のIPアドレス(もしくはサブネットごと)を統計から除外するには?
- FAQ-COM142 スクリーンサイズやブラウザ機能についてのレポートを動作させるには?
- FAQ-COM145 エクストラセクションの機能を利用するには?
- FAQ-COM150 ベンチマーク/AWStats更新の頻度について
- FAQ-COM200 どうすれば未解決のIPアドレスについてDNSの逆引きをしてくれるのでしょうか?
- FAQ-COM250 他のログ解析ツール(Analog, Webalizer, WUsage, wwwStats...)と異なる結果が出ます
- FAQ-COM300 現地時間とAWStatsが報告する時間とが一致しません
- FAQ-COM320 GeoIP国レポートの"eu(欧州連合)"は何のことですか?
- FAQ-COM350 古いログファイルを処理させるにはどうしたらいいのでしょうか?
- FAQ-COM360 一回に複数のファイルを処理させる方法は?
- FAQ-COM400 負荷分散システムで, ログファイルが分割されている場合の統計の更新方法は?
- FAQ-COM500 統計をリセットするにはどうしたらいいのでしょうか?
- FAQ-COM600 一日分だけの統計を構築するには?
- FAQ-COM700 AWStatsの履歴ファイル(awstatsMMYYYY*.txt)の任意の行を安全に削除することはできますか?
障害/トラブルシューティングについての質問:
AWStatsを利用する際に発生する障害や問題についての質問と解答をまとめました。
セキュリティについての質問:
以下に, AWStatsを利用する際のセキュリティの問題について, よく聞かれる質問をまとめました
FAQ-ABO100 : サポートされているログファイル形式/OSは?
AWStatsは以下の環境で動作します。
- Apacheのようなcombinedログ形式 (XLF/ELF), ApacheやSquidのようなcommonログ形式(CLF), IIS 5.0以上のような W3Cログ形式でログを記録できる全てのWebサーバー, そのほかAWStatsが必要とする情報をすべて含むあらゆるログ形式
- そのほかのほぼ全てのWeb/Wap/プロキシサーバー
- 特定のFTPログ、シスログ、メールログファイル
AWStatsはPerlで記述されているため、全てのOSで動作します。
利用実績があるプラットフォームの例を以下に示します(太字は'著者がテストした'という意味で、そのほかはAWStatsのユーザーから正常に動作したという報告があったものです)。
OS:
Windows Vista, Windows XP, Windows 2000, Windows NT 4.0, Windows Me, Linux (RedHat, Mandrake, Debian, Suse...), Macintosh, Solaris, Aix, BeOS, FreeBSD, ...
Web/Wap/プロキシ/ストリーミングサーバ
Apache 1.3.x and 2.x, IIS 5.0 or higher, ISA, WebStar, WebLogic, WebSite, Windows Media Server, Tomcat, Squid,
Sambar, Roxen, Resin, RealMedia server, Oracle9iAS, Lotus Notes/Domino, Darwin, IPlanet, IceCast, ZeroBrand, Zeus, Zope, Abyss...
FTPサーバ
ProFTPd, vsFTPd...
メールサーバ
Postfix, Sendmail, QMail, Mdaemon, www4mail, ...
Perlインタープリタ(5.005以降のPerlすべて):
ActivePerl 5.6, ActivePerl 5.8, Perl 5.8, Perl 5.6, Perl 5.005, mod_perl and mod_perl2 for Apache, ...
AWStatsで事前に定義されているログ形式を利用すれば、設定が簡単になります。しかし、独自のログ形式を利用することもできます。このため、AWStatsはほぼ全てのWeb/WAP/プロキシサーバーのログを解析できるのです。また、特定のFTPサーバーやシスログ、メールサーバーのログを解析することもできます。
唯一の必須条件は、"必要とされる情報がログファイルに格納されていること"です。
解析できるログ形式の一例を以下に示します:
- Apache common ログ形式 (注意*を参照)
- Apache combined ログ形式 (NCSA combined ログ形式、XLFあるいはELF形式という名で知られています)
- その他のカスタマイズされたApacheのログ形式
- あらゆるIISのログ形式(W3C形式という名で知られています)
- Webstarネイディブログ形式
- Realmediaサーバ, Windows Mediaサーバ, Darwinストリーミングサーバ,
- ProFTPサーバ, vsFTPdサーバ
- Postfix, Sendmail, QMail, Mdaemon
- 多くのweb/wap/プロキシサーバーのログ形式
注意*:Apache commonログ形式(AWStatsはこの形のログも解析できるようになりましたが、AWStatsが必要とする全ての情報が含まれていません。 問題は内容であり、形式ではありません)。commonログ形式のファイルを解析するのはあまり有意義とはいえません。なぜならば、欠落している情報が多すぎて、ロボットのフィルタや検索エンジン/検索キーワード/OS/ブラウザの検出ができないからです、しかし、多くのユーザーがAWStatsにcommonログ形式のサポートを望んでいたため、AWStatsはその声に応えてサポートしました。 しかしながら、ロボットのフィルタや検索エンジン/検索キーワード/OS/ブラウザの検出などのAWStatsの先進的な機能の多くは、動作しません。
FAQ-COM115: LogFormatパラメタのセットアップ例も参照してください。
FAQ-ABO200 :利用できる言語は? 言語の追加方法は?
AWStatsは46もの言語でレポートを作成することができます。以下に最新版のリストをアイウエオ順で示します(LangパラメーターとShowFlagLinksパラメーターで利用できるISO-639-1言語コードです)
アイスランド語=is, アラビア語=ar, アルバニア語=al, イタリア語=it, インドネシア語=id, ウェールズ語=wlk, ウクライナ語=ua, 英語=en, エストニア語=et, オランダ語=nl, カタロニア語=ca, ガリシア語=gl, 韓国語=ko, ギリシャ語=gr, クロアチア語=hr, スウェーデン語=se, スペイン語=es, スロヴェニア語=si, スロベキア語=sk, セルビア語=sr, タイ語=th, チェコ語=cz, 中国語(台湾)=tw, 中国語(簡体字)=cn, デンマーク語=dk, ドイツ語=de, トルコ語=tr, 日本語=jp, ノルウェー語(ニーノシク)=nn, ノルウェー語(ブークモール)=nb, バスク語=eu, ハンガリー語=hu, フィンランド語=fi, フランス語=fr, ブルガリア語=bg, ヘブライ語=he, ベラルーシ語=be, ポーランド語=pl, ボスニア語=ba, ポルトガル語=pt, ポルトガル語(ブラジル)=br, マケドニア語=mk, ラトヴィア語=lv, リトアニア語=lt, ルーマニア語=ro, ロシア語=ru.
ただし、AWStatsのドキュメントは英語でのみ提供されています。
しかし、有志によるドキュメントも存在します。AWStatsやログ解析関連のドキュメントページを参照してください。
あなたの言語がこのリストにないなら、自分で翻訳できます。このために、まず、2文字の言語コードからあなたの言語コードを見つけてください。
みつけたとして、今、例えば、ガリシア語が"gl"だと分かったとしましょう。langsディレクトリのファイルawstats-en.txtをawstats-gl.txtにコピーして、中のあらゆる文を翻訳します。tooltips_f、tooltips_m、およびtooltips_wサブディレクトリの中のファイルで同じことを行います。そして、 eldy@users.sourceforge.net へ翻訳したファイルは発信します。
FAQ-ABO250 : AWStatsがPHP Nukeに統合される可能性は?
私の知っているPHPNuke内に統合されたプラグインはPhpNuke addon for AWStatsだけです。
AWStatsは、もともと私自身が私の個人的なウェブサイトや扱った他のプロジェクト(www.chiensderace.com, www.chatsderace.com, www.dolibarr.org,および www.destailleur.fr)で訪問者を追跡するために設計しました。そして、2000年に、それをsourceforgeに置くと決めました。そして、多くの新しいバージョンが、今日までエンハンスを加えるために開発されました。更新のすべての履歴関しては更新履歴を見てください。
FAQ-COM025 : サーバのログがない場合、AWStatsをどのように利用すればいいのでしょうか?
- 問題:
- AWStatsを利用したいのですが、自分のサーバのログファイルを入手できません。
- 解決方法:
-
AWStatsはログ解析ツールであるため、ログファイルを読むことができないということは、解析するべき情報がないということを意味し、AWStatsを利用することはできません。しかし、ログファイルを入手するための方策はあります。psloggerのようなCGIスクリプトを呼び出すタグをすべてのWebページに付加する必要があります。
こうすれば、AWStatsに解析させることが可能な人工的なログファイルを入手することができます。
AWStatsの開発者の手により機能強化されたPerl版CGIが、配布ファイルにpslogger.plという名前で含まれています。 あるいは、Florent CHANTRETによるPHP版CGIも、配布ファイルにpslogger.phpsという名前で含まれています。
FAQ-COM050 : AWStatsが解析できるログサイズの上限は?
- 問題:
- 新しいログファイルについて、頻繁にAWStats更新処理を実行すれば、処理するログが普通の大きさになるのは知っていますが、最初の更新では、非常に大きい古いログファイルの更新処理を実行する必要があります。AWStatsが分析できるログファイルの大きさに制限がありますか?
- 解決方法:
- いいえ、AWStats自体にはまったく制限がありません。これは、大きいログファイルで使用できることを(10GBのログファイルでテストをしました)意味します。
しかしながら、システム(オペレーティングシステムやPerlのバージョン)には、限界があるかもしれません。例えば、2ないし4GBより大きいファイルでサイズ制限エラーになることがあります。Perlだけの限界であれば、「USE_LARGE_FILES」オプションでコンパイルされたPerlバージョンを使用するようにしてください。(訳注:ActivePerl 800以降は対応済み)。
コンパイルしたり、対応済みのバージョンが入手できないときには、下記のLogFileパラメタを使用してみてください。
LogFile="/ログファイルパス/ログファイル"
の代わりに、
LogFile="cat /ログファイルパス/ログファイル |"
FAQ-COM090 : FTPサーバログファイル(proftpd, vsftpd, ...)の場合のセットアップ
- 問題:
- FTPサーバログの解析はどうすればいいですか?
- 解決方法:
- AWStatsは、いくつかのFTPサーバのログを解析できます。
ProFTPdの場合
- サーバーログファイル形式の設定
proftpd.confファイルを変更して、次の2行を追加します。
LogFormat awstats "%t %h %u %m %f %s %b" # 警告: %タグの間は空白でなくタブで区切ること!
ExtendedLog /var/log/xferlog read,write awstats # 警告: ExtendedLogディレクティブは、もし使っているならば、virtual host内におく必要があります。
旧形式の転送ログを停止します。
TransferLog none # WARNING: TransferLogディレクティブは、もし使っているならば、virtual host内におく必要があります。
変更を有効にするためには、サーバを止めて、古いログファイル/var/log/xferlogを削除して、サーバを再開してください。
FTPでファイルをダウンロードしてください、そして、新しいログファイルが下記のようになっているか確認してください。
[01/Jan/2001:21:49:57 +0200] ftp.server.com user RETR /home/fileiget.txt 226 1499
- FTPログファイルを解析するためのAWStatsの設定
"awstats.model.conf"を"awstats.ftp.conf"にコピーします。
ここで下記の修正をします。
LogFile="/var/log/xferlog"
LogType=F
LogFormat="%time1 %host %logname %method %url %code %bytesd"
LogSeparator="\t"
NotPageList=""
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
ShowLinksOnUrl=0
ShowMenu=1
ShowSummary=UVHB
ShowMonthStats=UVHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=HB
ShowHostsStats=HBL
ShowAuthenticatedUsers=HBL
ShowRobotsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=1
ShowPagesStats=PBEX
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=0
ここで通常と同様にAWStatsを使用できます(更新処理を実行して、統計を参照します)。
vsFTPdやxferlog形式でログを取るFTPサーバの場合
- サーバのログ形式を確認する
FTPサーバのログ形式を見る。この項目で説明するは下記の例に一致する場合です。
Wed Jan 01 19:29:35 2001 1 192.168.1.1 102 /home/file1.txt b _ o r username ftp 0 * c
- FTPログファイルを解析するためのAWStatsの設定
もし、FTPログファイルの書式が問題ないのなら、"awstats.model.conf"を"awstats.ftp.conf"にコピーします。
ここで下記の修正をします。
LogFile="/var/log/xferlog"
LogType=F
LogFormat="%time3 %other %host %bytesd %url %other %other %method %other %logname %other %code %other %other"
LogSeparator="\s"
NotPageList=""
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
ShowLinksOnUrl=0
ShowMenu=1
ShowSummary=UVHB
ShowMonthStats=UVHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=HB
ShowHostsStats=HBL
ShowAuthenticatedUsers=HBL
ShowRobotsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=1
ShowPagesStats=PBEX
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=0
ここで通常と同様にAWStatsを使用できます(更新処理を実行して、統計を参照します)。
FAQ-COM100 : メールサーバ(Postfix, Sendmail, QMail, MDaemon, Exchange...)のログのセットアップについて
- 問題:
- メイルログファイルの解析にAWStatsを使うにはどうしたらよいですか?
- 解決方法:
- この項目はAWStats 5.5以降で動作します。
Postfix, Sendmail, QMailおよびMDaemonログファイルの場合
メールログファイルプリプロセッサを使用するようにAWStatsにセットアップしなければなりません(AWStatsのtoolディレクトリにmaillogconvert.plを提供しますが、任意のプリプロセッサを使用できます)。
"awstats.model.conf"構成ファイルを"awstats.mail.conf"にコピーしてください。
この新しいコンフィグファイルを変更してください。標準のPostfix、Sendmail、MDaemonと標準のQMailログファイルについては、下記の通りセットします。
LogFile="perl /path/to/maillogconvert.pl standard < /pathtomaillog/maillog |"
ログファイルが圧縮されている場合、このようにします。
LogFile="gzip -cd /var/log/maillog.0.gz | /path/to/maillogconvert.pl standard |"
そして、VAdmin QMailログファイル(vadminソフトウェアを動かすマルチホスト/virtualhostメールサーバ)の場合、下記の通り実行します。
LogFile="perl /path/to/maillogconvert.pl vadmin < /pathtomaillog/maillog |"
そして、どのサーバの場合でも、下記の変更を行います。
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
LevelForFileTypesDetection=0
ShowMenu=1
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1
警告: MDaemonメールサーバの場合、"-Statistics.log"に終わる新しいMDaemonログファイルを使用しなければなりません。
ここで通常と同様にAWStatsを使用できます(更新処理を実行して、統計を参照します)。
Exchangeログファイルの場合
多数のログ形式が可能なExchangeですが、(情報不足、乱雑なデータ(複数のレコードを同一のメールとして統合するためのidがないので)真剣に意味のある解析の対象にはできません。この理由で、Exchangeログファイルを「正確に」ログ解析するというのは冗談のようなものです。しかしながら、サポートを少し提供します。Exchangeトラフィックを分析するために、「メッセージの追跡」を有効にしなければなりません(記事Exchange 2000 Server でメッセージの追跡を有効にする方法を参照ください)。
そして、"awstats.mail.conf"にawstats.model.conf構成ファイルをコピーしてください。
この新しい構成ファイルを次の通り変更してください。
LogType=M
LogFormat="%time2 %email %email_r %host %host_r %method %url %code %bytesd"
LevelForBrowsersDetection=0
LevelForOSDetection=0
LevelForRefererAnalyze=0
LevelForRobotsDetection=0
LevelForWormsDetection=0
LevelForSearchEnginesDetection=0
LevelForFileTypesDetection=0
ShowMenu=1
ShowSummary=HB
ShowMonthStats=HB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=0
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=HBML
ShowEMailReceivers=HBML
ShowSessionsStats=0
ShowPagesStats=0
ShowFileTypesStats=0
ShowFileSizesStats=0
ShowBrowsersStats=0
ShowOSStats=0
ShowOriginStats=0
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=0
ShowSMTPErrorsStats=1
また、Exchangeでは、ログ分析した情報が正確ではないのを忘れないでください。ExchangeのログをAWStatsで解析するのに関して質問や要求も送らないでください、これはAWStatsの問題ではありません、そして、オープンでない製品をサポートする時間はありません。
Exchangeについて完全で正確な情報を得たいのなら、AWStatsを使用をやめるか、もっとまじめなメールサーバ(Postfix, Sendmail, QMail...)を使用してください。
FAQ-COM110 : メディアサーバ(Realmedia, Windows media, Darwin streaming server)のログファイルのセットアップについて
- 問題:
- メディアサーバのログファイルの解析にAWStatsを使うにはどうしたらよいですか?
- 解決方法:
-
Realmediaの場合
ログは下記のような形式のはずです。
216.125.146.50 - - [16/Sep/2002:14:57:21 -0500] "GET cme/rhythmcity/rcitycaddy.rm?cloakport=8080,554,7070 RTSP/1.0" 200 6672 [Win95_4.0_6.0.9.374_play32_NS80_en-US_586] [80d280e1-c9ae-11d6-fa53-d52aaed98681] [UNKNOWN] 281712 141 3 0 0 494
"awstats.mediaserver.conf"にawstats.model.conf構成ファイルをコピーしてください。
この新しい構成ファイルを次の通り変更してください。
LogFile="/pathtomediaserverlog/mediaserverlog"
LogType=S
LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %uabracket %other %other %other %other %other %other %other %other"
LogSeparator="\s+"
ShowMenu=1
ShowSummary=UHB
ShowMonthStats=UHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=HB
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=0
ShowPagesStats=PB
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowBrowsersStats=1
ShowOSStats=1
ShowOriginStats=H
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=1
ShowSMTPErrorsStats=0
ここで通常と同様にAWStatsを使用できます(更新処理を実行して、統計を参照します)。
Windows Media Server / Darwin Streaming Serverの場合
- Windows Media/Darwin streaming Serverのバージョンが許容するなら、以下のフィールドを出力するようにログ形式を設定してください:
c-ip
date
time
cs-uri-stem
c-starttime
x-duration
c-rate
c-status
c-playerid
c-playerversion
c-playerlanguage
cs(User-Agent)
cs(Referer)
c-hostexe
c-hostexever
c-os
c-osversion
c-cpu
filelength
filesize
avgbandwidth
protocol
transport
audiocodec
videocodec
channelURL
sc-bytes
変更を有効にするように、サーバを停止してください、そして、古いログファイルを削除してください。そして、サーバを再起動してください。
ストリーミングのファイルを聞いてください、そして、新しいログファイルが下記のようになっているかをチェックしてください。
80.223.91.37 2002-10-08 14:18:58 mmst://mydomain.com/mystream 0 106 1 200 {F4A826EE-FA46-480F-A49B-76786320FC6B} 8.0.0.4477 fi-FI - - wmplayer.exe 8.0.0.4477 Windows_2000 5.1.0.2600 Pentium 0 0 20702 mms TCP Windows_Media_Audio_9 - - 277721
Windows Media/Darwin Streaming Serverのバージョンによっては、上のログ形式を定義できない場合、ただステップ2の指示に従いますが、ログファイルの最初の行で見つけたログ書式の記号列(#Fields文字列のすぐ後)をAWStats LogFormatパラメタの値として使用してください。例えば、このようなLogFormatになるでしょう。
LogFormat="c-ip date time c-dns cs-uri-stem c-starttime x-duration c-rate
c-status c-playerid c-playerversion c-playerlanguage cs(User-Agent)
cs(Referer) c-hostexe c-hostexever c-os c-osversion c-cpu filelength
filesize avgbandwidth protocol transport audiocodec videocodec channelURL
sc-bytes c-bytes s-pkts-sent c-pkts-received c-pkts-lost-client
c-pkts-lost-net c-pkts-lost-cont-net c-resendreqs c-pkts-recovered-ECC
c-pkts-recovered-resent c-buffercount c-totalbuffertime c-quality s-ip s-dns
s-totalclients s-cpu-util"
これは、AWStatsタグを使用しないことを意味しますが、また、AWStatsはしばしばすべてのIIS、そして/または、WindowsメディアServerタグを理解できます。
- そこで、Media Serverログを解析するようにAWStatsを設定する。
"awstats.mediaserver.conf"にawstats.model.conf構成ファイルをコピーしてください。
この新しい構成ファイルを次の通り変更してください。
LogFile="/pathtomediaserver/mediaserverlog"
LogType=S
LogFormat="c-ip date time cs-uri-stem c-starttime x-duration c-rate c-status c-playerid c-playerversion c-playerlanguage cs(User-Agent) cs(Referer) c-hostexe c-hostexever c-os c-osversion c-cpu filelength filesize avgbandwidth protocol transport audiocodec videocodec channelURL sc-bytes"
DecodeUA=1
ShowMenu=1
ShowSummary=UHB
ShowMonthStats=UHB
ShowDaysOfMonthStats=HB
ShowDaysOfWeekStats=HB
ShowHoursStats=HB
ShowDomainsStats=HB
ShowHostsStats=HBL
ShowAuthenticatedUsers=0
ShowRobotsStats=0
ShowEMailSenders=0
ShowEMailReceivers=0
ShowSessionsStats=0
ShowPagesStats=PB
ShowFileTypesStats=HB
ShowFileSizesStats=0
ShowBrowsersStats=1
ShowOSStats=1
ShowOriginStats=H
ShowKeyphrasesStats=0
ShowKeywordsStats=0
ShowMiscStats=0
ShowHTTPErrorsStats=1
ShowSMTPErrorsStats=0
ここで通常と同様にAWStatsを使用できます(更新処理を実行して、統計を参照します)。
FAQ-COM115 : LogFormatパラメタのセットアップ例
- 問題:
- 私のログファイル形式で動くようにAWStatsを設定するためにはLogFormatパラメタにどの値を指定しなければなりませんか?
- 解決方法:
- AWStats構成ファイルのLogFormatパラメタによってAWStatsのすべての可能な動作が指定できます。これは、ユーザを助けるために、ログファイル形式のいくつかのよくある例と、その場合のAWStats構成ファイルのLogFormatの指定値です。
ログ形式が「正確に」下記のようである場合(NCSA combined/XLF/ELFログ形式):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
次の指定とすること : LogFormat=1
これは次の指定と等価である: LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
ログ形式が「正確に」下記のようである場合(同一のログファイルを共用するヴァーチャルホスト名付きのNCSA combined
virtualserver1 62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
次の指定とすること : LogFormat="%virtualname %host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
ログ形式が「正確に」下記のようである場合(Apache 1.xのNCSA combinedとmod_gzip format 1):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" mod_gzip: 66pct.
次の指定とすること : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot %other %gzipratio"
ログ形式が「正確に」下記のようである場合(Apache 1.xのNCSA combinedとmod_gzip format 2):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" mod_gzip: DECHUNK:OK In:11393 Out:3904:66pct.
次の指定とすること : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot %other %other %gzipin %gzipout"
ログ形式が「正確に」下記のようである場合(Apache 2のNCSA combinedとmod_deflate):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" (45)
次の指定とすること : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot %deflateratio"
ログ形式が「正確に」下記のようである場合(ZopeのNCSA combinedでいくつかのフィールドが二つの空白で区切られる場合):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 3904 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)" (45)
次の指定とすること :
LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
LogSeparator=" *"
ログ形式が「正確に」下記のようである場合(NCSA common CLFログ形式):
62.161.78.73 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234
次の指定とすること : LogFormat=4
注意: ブラウザ、OS、キーワード、および参照元機能はこの様なログでは使用できない。
ログ形式が「正確に」下記のようである場合(いくつかのバージョンのSquidでemulate_http_logをonに設定した場合
200.135.30.181 - - [dd/mmm/yyyy:hh:mm:ss +0x00] "GET http://www.mydomain.com/page.html HTTP/1.0" 200 456 TCP_CLIENT_REFRESH_MISS:DIRECT
次の指定とすること : LogFormat="%host %other %logname %time1 %methodurl %code %bytesd %other"
ログ形式が「正確に」下記のようである場合(古いIIS W3Cログ形式
yyyy-mm-dd hh:mm:ss 62.161.78.73 - GET /page.html 200 1234 HTTP/1.1 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) http://www.from.com/from.html
次の指定とすること : LogFormat=2
ログ形式が「正確に」下記のようである場合(.netサーバの場合のIIS W3Cログ形式):
yyyy-mm-dd hh:mm:ss GET /page.html - 62.161.78.73 - Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) http://www.from.com/from.html 200 1234 HTTP/1.1
次の指定とすること : LogFormat=2
これは次の指定と等価である: LogFormat="%time2 %method %url %logname %host %other %ua %referer %code %bytesd %other"
ログ形式が「正確に」下記のようである場合(IIS 6+ W3Cログ形式):
yyyy-mm-dd hh:mm:ss GET /page.html - 62.161.78.73 - Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) http://www.from.com/from.html 200 1234
次の指定とすること : LogFormat=2
これは次の指定と等価である: LogFormat="date time cs-method cs-uri-stem cs-username c-ip cs-version cs(User-Agent) cs(Referer) sc-status sc-bytes"
ログ形式が「正確に」下記のようである場合(ISA W3Cログ形式):
62.161.78.73, anonymous, Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1), N, 1/1/2001, 0:00:16, W3ReverseProxy, HCSERV2, -, www.host.be, 192.168.141.101, 80, 266, 406, 10042, http, TCP, GET, http://192.168.141.101/, text/html, Inet, 200, 0x42330010, -, -
次の指定とすること :
LogFile="sed -e 's/, /\t/g' "/yourlogpath/yourlogfile.log" |"
LogFormat=2
LogSeparator=" "
ログ形式が「正確に」下記のようである場合(あるWebSiteのバージョン):
yyyy-mm-dd hh:mm:ss 62.161.78.73 - 192.168.1.1 80 GET /page.html - 200 11205 0 0 HTTP/1.1 mydomain.com Mozilla/4.0+(compatible;+MSIE+5.5;+Windows+98) - http://www.from.com/from.html
次の指定とすること : LogFormat="%time2 %host %logname %other %other %method %url %other %code %bytesd %other %other %other %other %ua %other %referer"
ログ形式が「正確に」下記のようである場合(Webstarの本来のログ形式):
05/21/00 00:17:31 OK 200 212.242.30.6 Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) http://www.cover.dk/ "www.cover.dk" :Documentation:graphics:starninelogo.white.gif 1133
次の指定とすること : LogFormat=3
ログ形式が「正確に」下記のようである場合(Lotus Notes/Dominoのあるバージョン):
62.161.78.73 - Name Surname Service [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
次の指定とすること : LogFormat=6
ログ形式が「正確に」下記のようである場合(Lotus Notes/Domino 6.xログ形式):
62.161.78.73 - "Name Surname" Service [dd/mmm/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" 200 1234 "http://www.from.com/from.htm" "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
次の指定とすること : LogFormat="%host %other %lognamequot %time1 %methodurl %code %bytesd %refererquot %uaquot"
ログ形式が「正確に」下記のようである場合(Oracle9iAS):
62.161.78.73 - [dd/mmm/yyyy:hh:mm:ss +0x00] GET /page.html HTTP/1.1 200 1234 - "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"
セパレータは「タブ」かいくつかの「空白」
次の指定とすること : LogFormat="%host %logname %time1 %method %url %other %code %bytesd %referer %uaquot"
LogSeparator="\s+"
ProFTPdのようなFTPサーバの場合:
FAQ-COM090参照
メールサーバのログを解析する場合(Postfix, Sendmail, QMail, MDaemon, Exchange):
FAQ-COM100参照
メディアサーバの場合(Realmedia, Windows Media Server):
FAQ-COM110参照
ログ形式が「正確に」下記のようである場合(あるプロバイダ):
62.161.78.73 - - [dd/Month/yyyy:hh:mm:ss +0x00] "GET /page.html HTTP/1.1" "-" 200 1234
次の指定とすること : LogFormat="%host %other %logname %time1 %methodurl %other %code %bytesd"
注意: ブラウザ、OS、キーワード、および参照元機能はこの様なログでは使用できない。
その他いろいろなログ形式がありえます。
カスタマイズログ形式LogFormat="..."を使用しなければならない。構成ファイルで説明されるように、他の様々なログ形式をサポートしてください。
FAQ-COM120 : 損失なくログファイルを循環させるには
- 問題:
- サーバシステムのオプション(例えば、logrotate)やサードパーティソフトウェア(cronologのrotatelog)を使用して、ログをアーカイブ/ローテイトしたい。しかし、ローテート中の訪問情報も失わないようにしたい。
- 解決方法:
-
- もし、構成ファイルのLogFileパラメタで、の現在の実行しているログファイルを指定してしている場合(「リアルタイム」の統計を取得するためにAllowToUpdateStatsFromBrowserオプションを使用したいと思うなら、必須です)、ローテート中に多くのレコードを失うのを避けるために、ローテートの直前にAWStatsの更新を実行します。
「Linuxのような」OSでの最も良い方法は、linux内蔵のログローテート機能を使用することです。しウェブサーバーログファイルの設定を定める(通常、/etc/logrotate.dディレクトリに保存される)logrotate構成ファイルを編集して、下記の例のように(太い線はprerotateプロセスを持つために加える行です)プリプロセッサコマンドとしてAWStats更新処理を加えなければなりません。
/usr/local/apache/logs/*log
{
notifempty
daily
rotate 7
compress
sharedscripts
prerotate
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=mydomainconfig
endscript
postrotate
/usr/bin/killall -HUP httpd
endscript
}
この場合、下記のような順に実行されます。
ステップ | 説明 | ステップ名 | 日付/時刻例 |
A | (cronによる)ログローテイト開始 | ログローテイト開始 | 04:02:00 |
B | ログローテイトがAWStatsの更新処理を開始 | AWStats開始 | 04:02:01 |
C | AWStatsがログファイルを読み始める | | 04:02:02 |
D | AWStatsがログファイルの最後まで読み終わり、ディスク上のデータベースへの格納を開始。 | | 04:05:00 |
E | AWStatsは更新したデータベースを格納して停止。 | AWStats終了 | 04:06:00 |
F | ログローテイトが旧ログファイルfile.logをfile.log.savに変更。Apacheはこのfile.log.savにログを取得している。ファイル名は変更されたがファイルハンドルはそのままになっているため。 | ログファイル名変更 | 04:06:01 |
G | ログローテイトは、-HUPまたは-USR1シグナルをApacheに送る。 -HUPの場合、Apacheはただちにすべての子プロセス/スレッドを停止し、file.log.savをクローズして、file.logを再オープンする。ここで、すべてのヒット情報は新しいファイルに格納される。 -USR1の場合、Apacheは子プロセス/スレッドにHTTPリクエストが最後まで終了したときに終了するように要求する。しかし、file.log.savをただちにクローズして、file.logを再オープンする。したがって、新しいヒット情報は新しいファイルに格納される。まだ実行中のHTTPリクエストの情報は旧ファイルに格納される。 | Apacheリスタート | 04:06:02 |
H | ログローテイトは、旧ログファィルfile.log.savをfile.log.gzに圧縮する。 | 圧縮開始 | 04:06:03 |
I | もし、Apacheのスレッド/プロセスがまだ走っていたら(-USR1を送った場合、リクエストの完了まで子プロセスが実行されるため)、これらのスレッド/プロセスはまだ、file.log.savに書き込み続ける。 -HUPを使った場合は、すべてのプロセスはすでにリスタートしているので、すべて新しいfile.logに書き込まれる。 | | |
J | ログローテイトは、file.log.gzへの圧縮を完了する。file.log.savは削除される。 | 圧縮の終了 ログローテイトの終了 | 04:07:03 |
K | もし、シグナルが-USR1であると(たとえば、とても長いくリクエストを処理している場合に)、いくつかの子がまだ実行していることがある。するとログへの書き込みは、もう削除されたファイルに対応するハンドルに書き込まれる。つまり、ログはどこかに失われる。(これは、-USR1を使った場合で、リクエストがとても長い場合のみに発生します。) | | |
この解決策の利点は、多くの製品が使用している非常に一般的な方法でセットアップがたやすいといううことです。しかし、いくつかのヒットを「失う」ことがあります。
-HUP信号を使用すると、DとEの間に書かれたすべてのヒットがAWStatsの統計から失われるだけです。また、Gでは、実行中のすべてのリクエストを中断することに注意してください。例では、1分間のログの統計が取られません(中小型のウェブサイトでは、数秒よりもっと少なくなる)ので、これは0.07%(小さいウェブサイトには、もっと少ない)より低い誤りとなります。これは「統計」プログラムには、これは重要ではありません。
-USR1信号を使用すると、どんなリクエストも中断されません。しかし、(-HUPと同様に)DとEの間に書かれたすべてヒットだけでなく、(サービスの実行に数分を必要とする非常に長いリクエストのような)Hの後も実行されているすべてのヒットがAWStatsの統計からを失われます。ヒットの処理がIの間に終わるなら既に分析されたログファイルに書き込まれ、Kまで遅れるとどこにも書き込まれません。例では、それはやはり0.07%の誤りに加え、IからKの間に終了したヒットの処理が無視されますが、Gより前に始まり、Hでも終わらなかったヒットの処理だけが関係するので、このようなヒットはごくわずかです。多くの場合、ヒットの処理は数ミリセカンドで終了するので、失われるヒットは無視できます。
- 別の一般的な使い方は、ログファイルがアーカイブされた後にAWStats更新処理を実行することです。
例えば、ログファイルローテートにcronologかrotatelogツールを使用しているのなら、これが必要です。例えば、Apacheユーザは、パイプを通してcronologかrotatelogにログファイルを書くように、Apache httpd構成ファイルのCustomLogディレクティブに指定できます。
CustomLog "|/usr/sbin/cronolog [cronolog_options] /var/logs/access.%Y%m%d.log" combined
この機能を使用する場合、ローテイトの前にAWStats更新を開始することができない、だから、ローテイト処理の後で、アーカイブされたログを使って更新処理を実行します。
最新のアーカイブ・ログファイルをいつも使用するようにAWStatsにセットアップするには、LogFileの指定に利用可能な'タグ'を使用できます。
この場合の問題は、ローテートの後にだけデータが更新されるということである。しかしながら、ヒットはまったく失われませんし、サーバーのプロセスも決して中断されません。
- それで、ヒットを全く失わないで、ローテイトより頻繁に更新するのを本当に望んでいるなら、最も良い道が複合解であす(わたしには、それが痛みの価値があるとは思えません。統計は統計にすぎないことを思い出してください)。
AWStats更新処理を、たとえば毎時間およびローテイト処理の半時間前に、crontabにより実行します。次のFAQに、ジョブのスケジュールの方法があります。
そして(logrotateかパイプされたcronologログファイルで)、ログローテイトが完了した後、そして次に予定しているAWStats更新処理の前に、AWStats構成ファイルで定義された現在のログファイルではなく、アーカイブされたログファイルを-logfileオプションに指定して更新処理を実行します。これで、ログローテイトするまでの(AWStatsは新しい行を見つけるでしょう)消える半時間分を更新できるでしょう。しかしながら、次のcrontab更新の前にこの特定の更新を終えなければならなかったのを忘れないでください。
FAQ-COM130 : 一定間隔でAWStatsを起動するには?
- 問題:
- AWStatsの統計の更新を定期的に実行したいのですが、私はどうしたらいいでしょう?
- 解決方法:
ログのプリプロセッサがログをローテイトさせるとき、AWStats更新処理を実行するのがよい方法です。これについては、前のFAQ(FAQ-COM120)を見てください。
しかし、また、定期的にスケジューラでAWStats更新処理を実行できます。
Windowsの場合、標準のタスクスケジューラを使用できます。このツールはAWStats関連の問題でないので、Windowsマニュアルを見てください。スケジュールするタスクで「awstats.pl -config=mysite -update」を使用するなら警告しておきますが、タスクが障害になるかもしれません。代わりに以下を試みてください。
"C:\WINNT\system32\CMD.EXE /C C:\[awstats_path]\awstats.pl -config=mysite -update"
または
"C:\[perl_path]\perl.exe C:\[awstats_path]\awstats.pl -config=mysite -update"
他の多くのオープンソーススケジューラがもっと良いことが多いです(そうでなければ、良いシェアウェアやフリーウェアもあります)。
unixのようなオペレーティングシステムの場合、"crontab"を使用できます。
これはcronファイルに加えることができる行の例(cronに関してunixリファレンスマニュアルを参照ください)です。
毎日03:50に更新を実行するには、以下を使用してください。
50 3 * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update >/dev/null
更新を毎時実行するには、以下を使用してください。
0 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=mysite -update >/dev/null
FAQ-COM140 : 自身のIPアドレス(もしくはサブネットごと)を統計から除外するには?
- 問題:
- 私は統計の自身のIPアドレスを見えなくしたいと思いますし、またはサブネット全体を訪問を数え入れないようにしたいと思います。
- 解決方法:
- SkipHostsパラメタを変更するために構成ファイルを編集しなければなりません。
例えば、
- 自分のIPアドレス123.123.123.123を除くためには、SkipHosts="123.123.123.123"を指定します。
- 123.123.123.xxxのサブネット全体を除くためには、SkipHosts="REGEX[^123\.123\.123\.]"を指定します。
- すべてのサブホストxxx.myintranet.comを除くためには、SkipHosts="REGEX[\.myintranet\.com$]"を指定します(これはログファイルでDNSの逆引きがすでに実施されている場合のみ有効です)。
FAQ-COM142 : スクリーンサイズやブラウザ機能についてのレポートを動作させるには?
- 問題:
- 訪問者の使う画面のサイズや(ブラウザがFlashやJava、JavascriptのPDFファイル、Macromedia、オーディオのプラグインなどをサポートしているかどうかというような)他のブラウザの情報をレポートできるとAWStatsの機能一覧にあります。どうすれば行うことができますか?
- 解決方法:
AWStatsはログ・アナライザなので、訪問者の画面サイズを報告するためには、ログ・ファイル自体の中に情報があることが必要です。このために、唯一の方法は、あなたのページ(ホームページは使用比率を得るのに十分である)のいくつかの中にいくつかのHTMLタグを追加することです。このタグは、そのパラメタに、画面サイズ・解像度やブラウザ機能に関する他の全ての情報(Flash、Java、Javascript、PDF、マクロメディア、Audioプラグイン...)を含む仮想URLを得るよう、ブラウザに要求するjavascriptを呼び出します。
これが(例えば、ホームページの最後に)追加するべきコードです。:
<script language="javascript" type="text/javascript" src="/js/awstats_misc_tracker.js" ></script>
<noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height="0" width="0" border="0" style="display: none"></noscript>
ウェブ・ルートのjsディレクトリに、(AWStatsが/jsディレクトリに提供している)awstats_misc_tracker.jsスクリプトを入れなければならないことに注意すべきです。
このあと、ホームページをブラウザで参照して、ログ・ファイルに以下のような行があるかをチェックしてください。
123.123.123.123 - - [24/Apr/2005:16:09:38 +0200] "GET /js/awstats_misc_tracker.js?screen=800x600&win=724x517&...&sid=awssession_id123 HTTP/1.1" 200 6237 "http://therefererwebsite.com/index.php" "Mozilla/5.0 (Linux) Gecko/20050414 Firefox/1.0.3"
もしそうなら、AWStats更新処理を実行できます。画面サイズ情報は分析されます。そこでしなければならないことは、htmlで出力するレポートに追加するようにAWStatsに指定するために構成ファイルを編集することです。これのために、ShowMiscStatsパラメタを変えてください。
ShowMiscStats=anjdfrqwp
注意:awstats_misc_tracker.jsを保存するディレクトリを(/jsディレクトリ以外に)変更するときは、変更に合わせて、以下も修正しなければなりません:
- 追加されるHTMLタグ
- awstats_misc_tracker.jsスクリプトの中の次の行
var awstatsmisctrackerurl="/js/awstats_misc_tracker.js";
- AWStats構成ファイルのMiscTrackerUrlパラメタの指定
FAQ-COM145 : エクストラセクションの機能を利用するには?
- 問題:
- デフォルトのAWStatsレポートに含まれないカスタマイズしたレポートを構築したいです。そのためには、AWStats構成ファイルのExtra Sectionsパラメタをどうセットアップすればいいですか?
- 解決方法:
- エクストラセクション機能により追加レポートを作成するを参照ください。
FAQ-COM150 : ベンチマーク/AWStats更新の頻度について
- 問題:
- AWStatsの処理速度はどのくらいですか?
統計の更新のためにどのくらいの頻度でAWStatsを起動するべきですか?
- 解決方法:
- ペンチマークの情報と更新処理の頻度についての指針については、ベンチマークを参照ください。
FAQ-COM200 : どうすれば未解決のIPアドレスについてDNSの逆引きをしてくれるのでしょうか?
- 問題:
- AWStatsが報告するページには、IPアドレスだけでホスト名がありません。報告される国のすべてが「不明」です。
- 解決方法:
- AWStatsがIPアドレスをログファイルでみつけると、AWStats構成ファイルのDNSLookupパラメタが、DNSLookup=1(デフォルト値)であるならば、ホスト名とドメインを見つけるために逆DNSルックアップを試みます。最初に、正しい値をを指定しているか調べてください。ログファイルのIPアドレスがすでに逆引きされている場合にだけ、DNSLookup=0を使わなければなりません。たとえば、ApacheのHostNameLookups=onディレクティブを指定した場合です。ウェブサーバにIPアドレスの代わりにホスト名を記録させるために逆DNSルックアップをするよう指定しても、逆DNSルックアップが必ずしも可能ではないので、まだ若干のIPアドレスがログファイルにあることがあります。しかし、ウェブサーバが失敗するならば、AWStatsも失敗します(すべての逆DNSルックアップは同じシステムAPIを使用します)。それで、すでに実行された(成功であれ失敗であれ)ルックアップをAWStats再度行うのを避けるために、DNSLookup=0をAWStats構成ファイルでセットすることができます。お望みならば、(ログファイルのIPアドレスをドメイン名に変換したいだけならば)ログ解析ツールを実行する前に、ログファイル上で逆DNSルックアップをすることができます。AWStatsに同梱しているlogresolvemergeツールを使うことができます(これはApacheで提供しているlogresolveの改良版です)。
FAQ-COM250 : 他のログ解析ツール(Analog, Webalizer, WUsage, wwwStats...)と異なる結果が出ます
- 問題:
- Webalizer、Analog(または、別のログ解析ツール)も使用していますが、AWStatsと同じ結果を報告しません。なぜですか?
- 解決方法:
- 他のログ解析ツールとAWStatsの結果を比べると、いくつかの違いをがあり、なかには非常に重要なものもあります。事実上、すべてのログ解析ツールは(AWStatsでさえ)、プロキシサーバとロボットの問題のため「過大な報告」となります。しかしながら、AWStatsは、最も正確なもののひとつであり、「過大な報告」は非常に低くなります。一方、他のログ解析ツールは、最も有名なものでも、誤り率が「非常に高く」(現実より10%から200%多く!)なっています。
これが違いの最も重要な理由です:
- CGIが(.cgi等の)定義された拡張子で終わらない場合、(Webalizer等の)いくつかのログ解析ツールは、CGIプログラムが生成する動的なページを(単に「ヒット」のように扱い)「ページ」のように数えないので、統計に正しく含まれていません。AWStatsは逆の方針を取っていて、ファイルタイプがリストにある場合を除き、ページとみなします。(NotPageListパラメタを参照ください)。この方針により誤り率は低くなります。
- いくつかのログ解析ツールは、訪問者を数えるのに「ヒット」を使用します。これは非常に悪いやり方です。(AOLユーザ等の)ある訪問者がネットサーフィンするのに多くのプロキシサーバを使用し、これは、いくつかのホスト(つまりいくつかのIPアドレス)が1人の訪問者だけがサイトに達するのに使用されることが可能であることを意味します。(つまり、1つのプロキシサーバがページをダウンロードし、そして、他の2つのサーバがすべてのイメージをダウンロードします)このため、一意な訪問者数の統計を「ヒット」を使い作ると、3人のユーザが報告されますが、それは間違っています。それで、AWStatsは、HTML「ページ」だけで一意な訪問者を数えることにしています。一つのプロキシサーバがHTMLフレームをダウンロードし、別の1つが別のフレームをダウンロードすることも可能ですから、完全ではありませんが、これによって一意な訪問者を多く数える誤りが減少します。
- 違いの別の大きな理由は、ログファイルは完全にいつもソートされているというわけでなく、キャッシュやサーバの使うログエンジンを都合で「おおむね」ソートされていることです。そして、(商業のものもそうでないものも)ほとんどすべてがログ解析ツールが、ログファイルは、ヒット日付で「完全に」ソートされていることを仮定して、訪問、最初に閲覧、および最後に閲覧ページについて計算します。しかし、このことは保証されていなくて、たいていのログファイルは「おおむね」ソートされています。特に、非常に負荷の高いの場合。AWStatsには、ログファイルが「ほとんど」分類されているだけであっても正しく訪問、最初に閲覧、および最後に閲覧ページを数えることができる高度な構文解析アルゴリズムがあります。
- AWStatsは、(デフォルトの指定では)サーバの[Apacheの]RewriteRule機能によるリダイレクトを二重に数えません。このようなルールによれば、ログには2回のヒットが記録されるので、ほとんどのログ解析ツールは2回に数えますが、一回しかページは「参照」されていません。
- そして、レポートを間違うログ解析ツールのバグがあります。例えば、多くのユーザが、Webalizerがある条件で訪問や訪問者の数を「倍増する」と報告しました。
- AWStatsはロボット訪問を検出できます。ほとんどのログ解析ツールは、ロボットの検索を人間の訪問者であると思います。この誤りにより、実際より訪問と訪問者を過大に報告します。AWStatsが「1人の訪問者」を報告するとき、それは、「1人の人間の訪問者」を意味します(すべてのロボットを検出するのが可能でなくても、ロボットの大部分は検出されます)。「ロボット訪問者」は「ロボット/スパイダーの訪問者」チャートに報告します。AWStatsは、ロボットデータベースについてもっとも有名なログ解析ツールの一つです。実際、多くのログ解析ツールがAWStatsのロボットデータベースを更新してそれらの解析のために利用しています。しかしながら、ロボットデータベースが更新されていても、ログ解析ツールが検出できないいくつかのロボットがあります。このため、AWStatsは、実際より10%多い訪問をレポートします。これが、Google AnalyticsのようなHTMLタグシステムとログ解析ツールの差が発生する大きな理由になります。
これからもっと以下にその他の小さい理由を見ていきます。しかしながら、これらはこれらはとても小さな差異を声明するものです(1%以下。もしもっと大きな差異がある場合は上記の項目を参照ください)。
- 同じ訪問者の別の訪問を区別するために、ログ解析ツールは訪問タイムアウトを使用します。この値が異なるなら、(訪問、最初に閲覧、および最後に閲覧ページの)結果は異なります。そのようなタイムアウト値は(例えば60分といった)固定値で、前のページをダウンロードして、59分後にヒットがあると同じ訪問とみなし、61分後ならば別の訪問となります。もちろん、59と61の間に本当の違いはありませんが、タイムアウトをつかわずに訪問を数えるのは不可能です。そして、最も重要なことは(実際の値ではなく)時間監視することなので、AWStatsの時間監視は、60分間「正確に」監視するのでなく、「おおよそ」監視します。AWStatsはこれにより、処理時間を短くすることができるのですが、それにより、他のログ解析ツールと同じタイムアウト値を定義しても(AWStatsのタイムアウト処理がほとんどで、ちょうどではないので)、AWStatsと別のログ解析ツールの間の訪問回数が少し違うかもしれません。
- ログ解析ツールのデータベースやアルゴリズムの違いにより結果の詳細の正確が多少異なります。
AWStatsのブラウザ、OS、サーチエンジン、およびロボットデータベースは他より大きいので、これらに関するレポートはその分正確です。
AWStatsには、検索エンジンごとにサイトを見つけるために使った検索語や検索文を見つけるurl構文規則がありますが、さらにAWStatsは、未知の検索エンジンについても検索語を検出するためのアルゴリズムを未知のurl構文規則として用意しています。
等・・・
ログ解析ツールがどの程度真面目かチェックしたい場合は、次のログファイルを解析してみてください。これは非常に一般的なログファイルですが、結果を見ると(すべての市販製品を含む)ほとんどのログ解析ツールは、いかに悪いかが分かります。
# これは、ログファイルで見つかる様々な多くのデータを含むログファイルのサンプル
# です。ログ解析ツールの信頼性と正確さをテストするために巨大サンプル。
# ----------------------------------------------------------------------------
# このサンプルログファイルには、10の異なったIPアドレスが含まれています。
# 5人の真の訪問者が行った6回の訪問、
# 5人の真の訪問者のいずれかで行った1回のプロキシ経由の訪問、
# 間違ったURLを指定したために失敗した第6の訪問者による1回の試み(彼は何も見なかった)
# サイトのインデックス取るための1回のボットの訪問
# 1回のワーム攻撃
# 1回のお気に入りへの追加(2回のヒット、最初のヒットはルート以外でエラーになっています。)
# ----------------------------------------------------------------------------
# 80.8.55.1 2訪問(両方とも/を「最後に閲覧」のページで00:00:00と12:00:00に開始)
# 80.8.55.2 これは訪問ではない、他のサイトのページに含まれる画像だけ
# 80.8.55.3 訪問1回(そしてホームページをお気に入りに追加)
# 80.8.55.4 AOLプロキシを使用した80.8.55.3と同じ訪問者
# 80.8.55.5 訪問ではない(ボットのインデックス作成)
# 80.8.55.6 訪問1回(認証済み訪問者)
# 80.8.55.7 訪問1回(名前に空白を含む認証済の訪問者)
# 80.8.55.8 訪問ではない(試みるが404と405エラーで二回失敗)
# 80.8.55.9 訪問ではない(ワームの攻撃)
# 80.8.55.10 検索エンジンではないWebページから来ている訪問1回
#
#
# 正しい結果:5人の異なる訪問者が6回訪問し、21ページと15のページ以外を参照した(36ヒット)。
# その他7ページ/ヒットは、「参照ではない」トラフィック。
#
80.8.55.1 - - [01/Jan/2001:00:00:10 +0100] "GET /page1.html HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:00 +0100] "GET / HTTP/1.0" 200 7009 "http://www.sitereferer/cgi-bin/search.pl?q=a" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:20 +0100] "GET /page2.cgi HTTP/1.0" 200 7009 "http://localhost/page1.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:25 +0100] "GET /page3 HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:30 +0100] "GET /image.gif HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:35 +0100] "GET /image2.png HTTP/1.0" 200 7009 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:40 +0100] "GET /dir/favicon.ico HTTP/1.0" 404 299 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:00:00:40 +0100] "GET /favicon.ico HTTP/1.0" 200 299 "-" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.1 - - [01/Jan/2001:12:00:00 +0100] "GET / HTTP/1.0" 200 7009 "http://WWW.SiteRefereR:80/cgi-bin/azerty.pl?q=a" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:10 +0100] "GET /page1.html HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:20 +0100] "GET /page2.cgi HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:25 +0100] "GET /page3 HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:30 +0100] "GET /image.gif HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:35 +0100] "GET /image2.png HTTP/1.0" 200 7009 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:40 +0100] "GET /js/awstats_misc_tracker.js HTTP/1.1" 200 4998 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.1 - - [01/Jan/2001:12:00:45 +0100] "GET /js/awstats_misc_tracker.js?screen=1024x768&cdi=32&java=true&shk=n&fla=y&rp=y&mov=n&wma=y&pdf=y&uid=awsuser_id1073036758306r9417&sid=awssession_id1073036758306r9417 HTTP/1.1" 200 4998 "-" "Mozilla/4.7 [fr] (Win95; I)"
80.8.55.2 - - [01/Jan/2001:12:01:00 +0100] "GET /hitfromothersitetoimage.gif HTTP/1.0" 200 7009 "-" "Mozilla/5.0+(Macintosh;+U;+PPC+Mac+OS+X+Mach-O;+en-US;+rv:1.4)+Gecko/20030624+Netscape/7.1"
80.8.55.3 - - [01/Jan/2001:12:01:10 +0100] "GET / HTTP/1.0" 200 7009 "http://www.sitereferer:81/cgi-bin/azerty.pl" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:15 +0100] "GET /page1.html HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:20 +0100] "GET /page2.cgi?x=a&family=a&y=b&familx=x HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:25 +0100] "GET /page3 HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:30 +0100] "GET /image.gif HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.3 - - [01/Jan/2001:12:01:35 +0100] "GET /image2.png HTTP/1.0" 200 7009 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5a) Gecko/20030728 Mozilla Firebird/0.6.1"
80.8.55.4 - - [01/Jan/2001:12:01:45 +0100] "GET /samevisitorthan80.8.55.3usingaolproxy.gif HTTP/1.0" 200 7009 "-" "Mozilla/3.0 (Windows 98; U) Opera 6.03"
80.8.55.5 - - [01/Jan/2001:12:02:00 +0200] "GET /robots.txt HTTP/1.0" 200 299 "-" "Unknown bot"
80.8.55.5 - - [01/Jan/2001:12:02:00 +0200] "GET /robots.txt HTTP/1.0" 200 299 "-" "GoogleBot"
80.8.55.5 - - [01/Jan/2001:12:02:05 +0200] "GET /page2.cgi HTTP/1.0" 200 7009 "-" "GoogleBot"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /cgi-bin/order.cgi?x=a&family=a&productId=998&titi=i&y=b&y=b HTTP/1.0" 200 7009 "http://www.google.com/search?sourceid=navclient&ie=utf-8&oe=utf-8&q=ma%C3%AEtre+élève" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image1.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image2.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image3.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image4.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.6 - john [01/Jan/2001:13:00:00 +0100] "GET /images/image5.gif HTTP/1.0" 200 364 "http://www.google.fr/search?q=cache:dccTQ_Zn4isJ:www.chiensderace.com/cgi-bin/liste_annonces.pl%3FTYPE%3D5%26ORIGINE%3Dchiensderace+labrador+chiensderace&hl=en&lr=lang_en|lang_fr&ie=UTF-8" "SAGEM-myX-5m/1.0_UP.Browser/6.1.0.6.1.103_(GUI)_MMP/1.0_(Google_WAP_Proxy/1.0)"
80.8.55.7 - John Begood [01/Jan/2001:13:01:00 +0100] "GET /cgi-bin/order.cgi;family=f&type=t&productId=999&titi=i#BIS HTTP/1.0" 200 7009 "http://www.a9.com/searchkeyfroma9" "Mozilla/3.01 (compatible;)"
80.8.55.7 - John Begood [01/Jan/2001:13:01:00 +0100] "GET /do/Show;jsessionid=6BEF030AB1677BEC333FFCC7BF4DF564?param=1477 HTTP/1.0" 200 7009 "-" "Mozilla/3.01 (compatible;)"
80.8.55.8 - - [01/Jan/2001:14:01:20 +0100] "GET /404notfoundpage.html?paramnotpagefound=valparamnotpagefound HTTP/1.0" 404 0 "http://refererto404nofoundpage/pageswithbadlink.html?paramrefnotpagefound=valparamrefnotpagefound" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.8 - - [01/Jan/2001:14:01:20 +0100] "GET /405error.html HTTP/1.0" 405 0 "http://refererto405error/pagesfrom405.html" "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
80.8.55.9 - - [01/Jan/2001:15:00:00 +0200] "GET /default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a HTTP/1.0" 404 299 "-" "-"
80.8.55.9 - - [01/Jan/2001:15:00:00 +0200] "SEARCH / -" 411 - "-" "-"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParams..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParams..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParams..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParams..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:00:00 -0300] "GET / HTTP/1.1" 200 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParams..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:16:30:00 -0300] "GET /page1.html HTTP/1.1" 200 70476 "http://www.freeweb.hu/icecat/filmek/film04.html" "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
80.8.55.10 - - [01/Jan/2001:17:00:00 -0300] "GET /cgi-bin/awredir.pl?url=http://xxx.com/aa.html HTTP/1.1" 302 70476 "http://us.f109.mail.yahoo.com/ym/ShowLetter?box=Inbox&MoreYahooParams..." "Mozilla/5.0 (Windows; U; Windows NT 5.0; fr-FR; rv:1.7.5) Gecko/20041108 Firefox/1.0"
正しい結果:
6人の訪問者
5人の異なった訪問者
1回のロボットの訪問
1回のワームの攻撃
真の訪問の最初に訪問のページは、(80.8.55.1の場合でさえ)"/"または"/ cgi-bin/order.cgi"しかありえません。
注:このような一般的なログファイルを正しく扱うことができる、商用ログ解析ツールを見つけられませんでした。もし見つけたら、知らせてください!
FAQ-COM300 : 現地時間とAWStatsが報告する時間とが一致しません
- 問題:
- IISを使用すると、現地時間とAWStatsが報告する時刻が違います。例えば、4:00にページにヒットしたのに、AWStatsはそれが2:00であると報告します。
- 解決方法:
- これは、ローカルクライアントホストでの時刻の問題ではありません。AWStatsは、サーバーのログに報告された時刻のみを処理し、すべての時刻はサーバの時刻によります。問題は、一部の外国のバージョンのIISがログファイルに(現地時間でなく)UTを報告することです。そのため、統計にもUTで表示されます。
Microsoftが次のバージョンのIISでこれを変更することを待つことができます。ただし、マイクロソフトオンラインサポート文書番号: 271196「IIS ログ ファイルのエントリのタイム スタンプが間違っている」は次のように言っています。
ログ ファイルの形式として W3C 拡張ログ ファイル形式が選択されています。W3C 拡張ログ ファイル形式は、W3C Working Draft WD- logfile-960323 で Phillip M. Hallam-Baker 氏と Brian Behlendorf 氏が定義したファイル形式です。この仕様では日付および時刻ファイルが準拠する時間帯は一律 GMT (グリニッチ標準時) と規定されています。したがって、この動作は仕様によるものです。
そのため、この仕様は決して変わらないかもしれません。別の方法はAWStatsのプラグイン"timezone"を使用することです。
警告:このプラグインはPerlモジュールTime::Localを必要とする。AWStatsの処理速度を大幅に下げます。
プラグインを有効にするには、構成ファイル内の次の行のコメントを解除します。
LoadPlugin="timezone TZ"
ここでTZは、割り当てられたタイムゾーンの値(パリは+2、-8...)です。
FAQ-COM320 : GeoIP国レポートの"eu(欧州連合)"は何のことですか?
- 問題:
- IPアドレスの地理的位置により国に報告するAWStatsのgeoipプラグインを使用しています。国の報告書では、何人かの訪問者が"EU(欧州連合)"から来ていると述べています。この訪問者がフランスから来た場合、それが二度報告されることを意味しますか?
- 解決方法:
- いいえ
"EU(欧州連合)"は訪問者が欧州連合の国から来たがのは確実であるが、どの国かを伝えることができないことを意味します。フランス、英国、スペイン、ドイツなどの主要な国かもしれないし、非常に小さい国かもしれません。
だから、国の報告では、各訪問者はたった1つのグループにはいります。 "EU(欧州の国)"で報告された場合、それは別の国でカウントされません、そして特定の国で報告された場合は、この国がヨーロッパに存在する場合でも、それは、"EU(欧州連合)"にはカウントされません。
FAQ-COM350 : 古いログファイルを処理させるにはどうしたらいいのでしょうか?
- 問題:
- AWStatsのレポートにデータを取り込むために古いログファイルを処理したい。
- 解決方法:
- LogFileパラメータを古いログファイルを指すように変更して(またはLogFileパラメータを上書きするコマンドラインの-logfileオプションを使用して)更新を実行します。更新プロセスは、それぞれの月のファイルを時系列順にしか受け入れられないので、既に最新のファイル処理し、古いデータを含むログファイルで更新を実行するのを忘れている場合は、すべての統計情報をリセットする必要があります(FAQ-COM500参照)。そしてすべての過去のログファイルを、時系列順に更新プロセスのすべてを再実行します。
ただし、データを失った特定の月だけを再構築することを可能にする"ヒント"があります。
現在は、2003年7月5日であると仮定し、すべての統計は2003年4月10日(この日に更新処理実行を忘れたので、この日の訪問がない)分を除いて最新の状態になっています。次の操作を実行できます。
- 4月のみの統計情報をリセット(これはFAQ-COM500あるように、ファイルawstats042003.[config.]txtを削除することを意味します)。
- 4月以降の月の履歴ファイル(ファイルaawstats052003.[config.]txt、awstats062003.[config.]txt、・・・)を一時ディレクトリに移動します(つまり、それらが削除されたかのように、DirDataのディレクトリからはなくなっています)。
- 4月のすべてのログファイルを(時系列順に)更新処理を実行します。処理するログよりも最近のデータをもつ履歴ファイルがDirDataディレクトリにはないため、AWStatsは"あまりにも古いレコード"と文句をいうことはありません。
- DirDataディレクトリに移動した月の履歴ファイルを戻します。
これで統計が最新のものになり、欠落している日はもうありません。
FAQ-COM360 : 一回に複数のファイルを処理させる方法は?
- 問題:
- どうしたら一度の実行で、複数のログファイルで統計を更新できますか?
- 解決方法:
- 解決策のようなものを使って構成ファイルを設定するはずです。
LogFile=mylog*.log
しかし、このような構文では、AWStatsはログファイルの処理の順序を知ることができないで(ログファイルのどれが、最初、次や最後か)。したがって、このように動作するようにするには、次の構文を使用する必要があります。
LogFile="/pathto/logresolvemerge.pl mylog*.log |"
Logresolvemergeはその場で複数のログファイルをマージするAWStatsの(toolsディレクトリ内)で提供されているツールです。各ファイルにポインタを保持し、行単位でこれらから最も古いレコードを送信します。AWStatsのLogFileパラメタのパイプソースとしてツールを使用すると、それは非常に良いソリューションです。なぜなら、高速でメモリー使用せず、ハードディスクの使用せず(一時ファイルを使用しない)、どのようなサイズのログファイルでもをマージすることができ、ログファイルが正しく順序付けされていない場合、不正な順序することを妨げるなど..だからです。
このツールはまた、負荷分散システム(FAQ-COM400を参照)のログファイルを処理するために使用することができます。
FAQ-COM400 : 負荷分散システムで, ログファイルが分割されている場合の統計の更新方法は?
- 問題:
- ログが分割されてしまう、負荷分散システムを使用する場合、どうやって統計を更新しますか?
- 解決方法:
- 最初のソリューションは、すべての負荷分散されたサーバから生じたすべての分割ログファイルを1つに、マージすることです。このために、AWStatsで提供するlogresolvemergeツールを使用することができます。
logresolvemerge.pl file1.log file2.log ... filen.log > newfiletoprocess.log
そして、構成ファイルでLogFileパラメタを設定しnewfiletoprocess.logファイルを処理するか、-logfileコマンドラインオプションを使用してLogFileの値を上書きしてください。
ディスク容量を節約したり、時間を節約する場合は、他のソリューションとして、AWStatsの更新プロセスと同時にlogresolvemergeにログファイルをマージさせることができます。このために、AWStatsの構成ファイルで次の構文を使用します。
LogFile="/pathto/logresolvemerge.pl file*.log |"
logresolvemergeの使用については、FAQ-COM360も参照ください。
FAQ-COM500 : 統計をリセットするにはどうしたらいいのでしょうか?
- 問題:
- 最初から更新の過程を再実行するためにすべての統計をリセットしたい。
- 解決方法:
- すべての解析データはawstatsMMYYYY.[config.]txt(毎月一つのファイル)と呼ばれる履歴ファイルにAWStatsが格納しています。DirDataパラメタ(デフォルトではawstats.plと同じディレクトリ)で定義されたディレクトリにあります。
すべての統計情報をリセットするには、単にすべてのawstatsMMYYYY.*.txtファイルを削除します。
特定の構成ファイル用に構築されたすべての統計情報をリセットするには、単にすべてのawstatsMMYYYY.myconfig.txtファイルを削除します。
警告、どこかに古いログファイルを保持しない限り、それらのデータファイルを削除した場合、統計データを回復することができなくなります。統計を取り戻すために過去のすべてのログファイルを(時系列順に)処理する必要があります。
- 問題:
- どうすれば毎日統計データを構築することができますか? 特定の日のデータのみを持つすべてのチャートがあり、それが、日ごとに用意されているという意味。
- 解決方法:
-
- バージョン6.5以降の場合:
- 統計の構築:
- -databasebreak=hourまたは-databasebreak=dayを追加して更新処理を再実行します。このオプションを指定しないと、-databasebreak=monthを使用することになり、AWStatsはデフォルトで従来の動作となります。
この隠しオプションを使用すると、AWStats各ブレークのエンティティのために別のデータベースファイルを構築します。これはオプションに応じて、レポートを1時間または1日ごとに行われることを意味します。
- 統計の参照:
- AWStatsのレポートをコマンドラインから静的に生成する場合、同じ-databasebreak=hourまたは-databasebreak=dayオプションを- outputオプションと同時に指定するか、またはAWStatsをCGIとして呼び出す場合、&databasebreak=hourまたは&databasebreak=dayを追加指定します。また、月次や年次のレポートのすべてのオプションに加え、day(databasebreakのオプションが'day'または'hour'の場合)とhour(databasebreakは"hour"の場合のみ)が指定可能です。つまり、AWStatsがコマンドラインから実行した場合、-day=XX及び/または-hour=XXを指定します。AWStatsがCGIとして呼び出された場合は、&day=XX及び/または&hour=XXを指定します。
この機能の開発は最近のことなので、完全に信頼できない結果が生じる可能性があります。それがまだ完全に文書化されていない理由です。
- バージョン6.4以前の場合:
- これは標準的な作業方法ではないので、文書化されていないくてサポートされていないトリックです。
最初、深夜に更新処理を実行します(または真夜中にログローテイトしたためにこの特定の日のログのみを含むファイルを使って、更新処理を実行します。また、一日の「開始」する時刻を夜の別の時刻に設定することもできます。)
更新処理が済んだら、(copyではなく)moveで、AWStatsの構築した履歴ファイルを移動します。例えば、Unixのようなシステムでは次のようになります。
mv mydirdata/awstatsMMYYYY.mydomain.txt mydirdate/awstatsDDMMYYYY.mydomain.txt
日付が追加されたことによって、名前が変更されていることに注意してください。更新処理の後に毎日これを繰り返します。
こうすると、日ごとに1履歴ファイルがあることになります。その後、(他の-month=MMと-year=YYYY指定と同様に)コマンドラインでの非文書化パラメタ-day=DDを追加することによって、特定の日の完全な統計を見ることができます。ブラウザから実行した場合は、URLに&day=DDを追加することもできます。
しかしながら、別の構成ファイルを用意して、元の月別の履歴ファイルを保持していないのならば、一日ごとの統計はあるのですが、1カ月ごとの統計はないことになります。
FAQ-COM700 : AWStatsの履歴ファイル(awstatsMMYYYY*.txt)の任意の行を安全に削除することはできますか?
- 問題:
- ログファイルを処理した後、AWStatsの更新プロセスを実行することなく、AWStatsの履歴データベースファイル内のデータを直接変更して統計を変更したい。
- 解決方法:
- "BEGIN_"または"END_"で始まる行を削除した場合、AWStatsは、ファイルが"壊れた"と判定するので、この二種類の行を変更しないでください。
任意のセクションにある任意の行を変更、追加または削除してもいいですが、この場合に、MAPセクション(BEGIN_MAPとEND_MAPの間の行)も合わせて更新してください。このセクションには、他のセクションへのダイレクトI/Oアクセスのための、ファイル内のオフセット含まれているためです。履歴ファイルが最新のものである場合、単に完全にMAPセクションを削除して、更新処理を再実行してください。そうすればAWStatsは、履歴ファイルを書き換えて、MAPセクションを再作成します(更新処理はMAPセクションを読まず作成するだけです)。自己責任で行ってください。主なリスクは、いくつかのチャートが間違った値を報告したり、使用できなくなるということです。
FAQ-SET050 : "Missing $ on loop variable ..."というエラーが発生します。
- 問題:
- コマンドラインからawstats.plを実行したら、次のエラーが出ました
"Missing $ on loop variable at awstats.pl line xxx"
- 解決方法:
- Perlインタプリタの問題です。もっと新しい/安定したPerlインタプリタをインストールまたは再インストールしてみてください。
ActivePerl(Windows)またはPerl.com(Unix/Linux/その他)で、新しいPerlのバージョンを取得することができます。
FAQ-SET100 : ブラウザで閲覧すると, Perlスクリプトが実行されずに, ソースが見えてしまいます。
- 問題:
- Webサーバーを介してPerlスクリプトを実行しようとすると、実行結果のHTMLのページの代わりに、Perlスクリプトのソースが表示されます!
- 解決方法:
- これは、AWStatsの問題ではなく、Webサーバーのセットアップの問題です。awstats.plファイルは、Webサーバの"CGI"ディレクトリ、つまり、"実行可能"ファイルを含むためのディレクトリに置かなければなりません。つまり、ドキュメントのファイルを含むディレクトリではなく、"実行可能"ファイルを含むディレクトリになければなりません。"実行可能なcgiの"ディレクトリを定義する方法については、Webサーバを参照のこと(IISにはディレクトリのプロパティにいくつかのチェックボックスがあります。Apacheでは、ディレクトリのDirectiveのExecCGIオプションを使用する必要があります)。
FAQ-SET150 : Windows版のApacheで"...couldn't create/spawn child process..."というエラーが発生します。
FAQ-SET200 : Apacheに接続すると, "内部サーバーエラー"もしくは"エラー500"がブラウザに表示されます。
- 問題:
- AWStatsは、コマンドプロンプトで問題なく動作しているように見えますが、ブラウザからCGIとして実行したときに、"Internal Error 500"となります。
Apacheのエラーログファイルに(またはApache2.0以降の場合のブラウザ上に)次のメッセージが出ているかもしれません。
...couldn't create/spawn child process: c:/mywebroot/cgi-bin/awstats.pl
- 解決方法:
- 最初に、ファイルが正しいかどうかを確認するには、コマンドラインからawstats.plを実行してみてください。UnixライクOSで構文エラーとなる場合、ファイルがUnixライクテキストファイル(これは、各行がCR+LF文字でなくLF文字で各行が終わることを意味する)か確認してください。
awstats.plファイルがコマンドラインから正しく実行されている場合は、おそらくWeb serverがPerlスクリプトを実行する方法を分からないのでしょう。この問題は、内部のPerlインタプリタがない(mod_perlがアクティブではない)Apache Webサーバーで発生する可能性があります。これを解決するには、外部のPerlインタープリタがどこにあるApacheに伝える必要があります。
このためには、2つの解決方法があります。
- Apacheのhttpd.confの設定に次のディレクティブを追加(または行がすでに使用可能な場合は#を削除しコメントでなくする)。
ScriptInterpreterSource registry
その後、Apacheを再起動します。これは.plという拡張子に関連付けられたプログラムを見つけるためにレジストリに見ることをApacheを教えてくれます。
- もうひとつの解決策は、(最初の解決方法がうまくいかない場合にかぎらず)Perlインタプリタのフルパスにawstats.plファイルの最初の行を変更します。
例えば、Windows OSのActivePerl Perlインタプリタ(C:\Program Files\ActiveState\ActivePerlにインストール)の場合は、awstats.plファイルの最初の行を次のように変更します。
#!c:/program files/activestate/activeperl/bin/perl
FAQ-SET220 : Windows XPを利用するとawstats.plの実行中にクラッシュする, もしくはページの内容の一部しかロードされない
- 問題:
- 時々、あるAWStatsの設定でawstats.plの実行中に、ブラウザ(ほとんどの場合、IE6)がクラッシュします。他のバージョンまたはブラウザでは、ページの内容が部分的にロードされます。
- 解決方法:
- MSのサイトQ317949に記載されているようにWinXPとWinXPproの問題でした。
"listen および accsept が異なるプロセスで発生した場合にソケットの共有によってデータが失われる"
その結果、MSIEはクラッシュするか何も表示しないことです。NetscapeとOperaはソケットの処理が良いので部分的にページを表示します。
ページの内容が多いほど(30K以上)、バグの影響はより顕著です。
http://support.microsoft.com/kb/317949/ja
Apache.orgでも下記にて記載しています。
http://www.apache.org/dist/httpd/binaries/win32/
MSは修正プログラムを作成し、現在、SP1に含まれています。
しかし、最善の解決策は、もっと良いウェブブラウザを使用することです。最も人気のある最高のWebブラウザのひとつFirefoxを見てみましょう。
FAQ-SET270 : corrupted/dropped recordsだけしかない
- 問題:
- AWStatsの更新処理を実行した後、すべてレコードが壊れている(corrupted)か捨てられた(dropped)と報告されます。
- 解決方法:
- 最初に、破損または捨てられたレコードがわずかなパーセントの場合、心配しないでください。これは正常な動作です。いくつかの破損または捨てられたレコードは、内部のWebサーバのバグ、ウイルス攻撃、エラーの書き込み、書き込み中のログのパージやログローテイト等の原因でログファイルの上に現れます。
しかし、すべてのレコードが破損または削除されると報告されている場合、以下の事柄を確認してください。
すべてが捨てられる(dropped)場合、オプション-showdroppedを追加してコマンドラインからの更新処理を実行する。
→捨てられるレコードが廃棄される理由を知ることができるようになります。ほとんどの場合、これは大きすぎるか、不正なフィルタパラメータ(SkipFiles、SkipHosts、OnlyFiles)を使用しているためです。
すべて壊れている(corrupted)場合は、オプション-showcorruptedを追加してコマンドラインからの更新処理を実行する。
→壊れているレコードが廃棄される理由を知ることができるようになります。
ログの形式のためである場合、ログ形式のエラーに関するFAQ-SET350を確認してください。
記録の日付が前の日よりも古いといわれている場合は、これは、ログファイル間の時系列順を維持することなく、ログファイルの更新処理を実行したことを意味します。
日付が無効であるため、こうなる場合は、いくつかのPentium4/Xeon4プロセッサで起こる正しく計算されない日付の問題がある可能性があります。
一部の(少数の)インテルPentium4(またXeon4)を用いるホストシステムは、ログファイルの時刻が正しく計算できません。これはAWStats自体の問題ではありません。このエラーは通常、すべてのシステムライブラリがCPUの最適化でコンパイルされる(GentooやSlackware等の)ソースベースのLinuxディストリビューションで発生します。AWStatsは高度に発達したPERLアプリケーションです。Perl自体は、例えばGLIBCといった、いくつかのシステムライブラリに依存しています。GLIBCライブラリに、通常、この場合はバグがあります。ここで説明する問題が、システム上のAWStatsの問題かどうかを把握する簡単な方法があります。
マシンへのシェルアクセスがある場合は、単に次のコマンドを入力します。
perl -e "print int ('541234567891011165415658')"
(注:すべての25桁の数字で機能します、この正確な数値を入力する必要はありません。)
すべてがうまくいけば、出力として浮動小数点数が表示されます。
5.41234567891011e+23
このケースでは、ログファイル形式の詳細な検討を行ってください。ご使用のホストシステム自体は、このエラーについては責任がありません。
しかし、単に"0"を返すかまたは他のいくつかのエラー場合、これはglibcが壊れているの示しています。
注意:この場合の唯一の解決方法はglibcを再コンパイルするかもしれません。これはかなりトリッキーな作業になる場合があります。最初に、問題のLinuxディストリビューションのドキュメントとFAQを参照してください!(専門家向け:最初にmarch=Pentium4のような、グローバルなコンパイルフラグをチェックしてください。ある場合には、他のコンパイルフラグとともに試みると迅速に問題を解決することができます。)
注:場合によっては、このエラーは、AWStatsが既に既に完璧に実行されていたにもかかわらず、"突然"発生する可能性があります。
FAQ-SET280 : "Not same number of records of..."というエラーが発生します。
- 問題:
- コマンドラインから(またはブラウザからCGIとして)AWStatsを実行すると、"Not same number of records of ..."というメッセージ"が出ます。
- 解決方法:
- これはAWStatsのリファレンスデータベースファイル(オペレーティングシステム、ブラウザ、ロボット...)が正しくはないことを意味します。まず、最新のバージョンに更新してみてください。次に、下記のファイルをディスク上で「1つ」だけを持っていることを確認してください。それらは、awstats.plがインストールされている'lib'ディレクトリ(4.0では'db')にあるはずです。
browsers.pm
browsers_phone.pm
domains.pm
operating_systems.pm
robots.pm
search_engines.pm
worms.pm
status_http.pm
status_smtp.pm
FAQ-SET300 : "Couldn't open file ..."というエラーが発生します。
- 問題:
- 次のエラーメッセージが出ます。
"Couldn't open file /workingpath/awstatsmmyyyy.tmp.9999: Permission denied."
- 解決方法:
- このエラーは、Webサーバーはアクセス許可の問題で一時作業ファイル(.tmp.9999で終るファイル。9999は数字です。)の書き込みに成功しなかったことを意味します。
最初にディレクトリ/workingpathに対して、
ユーザーnobody(Linuxシステム上のApacheがデフォルトで使用するユーザー)
またはユーザーIUSR_SERVERNAME(NT上のIISがデフォルトでで使用するユーザー)
が"書き込み"権限を持っていることを確認してください。
Unixでは、リンクのないパスにしてみてください。
NTでは、ディレクトリがNTFSパーティション上にある場合は、NTFSアクセス許可("読み取り/書き込み/変更")を確認する必要があります。
IISでは、IISの設定でディレクトリのプロパティで定義されている"書き込み"アクセス許可属性はもあります。これもチェックする必要があります。
IISでは、デフォルトのcgi-binディレクトリがIISのインストール時に作成されている場合、このディレクトリにAWStatsを入れてみてください。
これでも失敗すると、別のディレクトリを(Webサーバのプロセスが使用するデフォルトのユーザーが書き込むことができることが確実なディレクトリ)を使用することAWStatsに指定するためにDirDataのパラメタを変更することができます。
FAQ-SET320 : "Malformed UTF-8 character (unexpected..."というエラーが発生します。
- 問題:
- コマンドラインからAWStatsを実行するときに、このように一つまたは複数の行が出力されます。
Malformed UTF-8 character (unexpected non-continuation byte 0x6d, immediately after start byte 0xe4) at /www/cgi-bin/lib/xxx.pm line 999.
- 解決方法:
- この問題は、RedHat8とPerl 5.8との組み合わせで発生します。
RedHatがこの問題の修正を提供しているかどうかわからない。しかし一部のユーザーは、LANG環境変数の末尾の".UTF-8"を削除することにより、これらの無害なメッセージを削除できることを報告していた。たとえば、LANG="en_US.UTF8"の代わりにLANG="en_USを"設定する。
- 問題:
- AWStatsは動作しているようですが、何も結果を得られません。ヒットが全くないような統計のページを取得しました。
- 解決方法:
- それはありうる最も一般的な問題の一つで、3つの理由が考えられます。
- ログファイル形式の設定が間違っているかもしれません。
Apache Webサーバを使用する場合
作業の最良の方法は、"combined"ログの形式をを使用することです。(AWStatsのインストール、構成、レポートを参照し、"common"ログの形式から"combined"にApacheサーバのログを変更する方法をしらべてください。)Apacheを停止してログファイルをリセットし、combinedへの変更が有効になるようにApacheを再起動することを忘れないでください。次に、AWStatsの設定ファイルをLogFormat=1と設定する必要があります。
別の形式を使用する場合は、ログファイル形式ごとのLogFileの値の例のある次のFAQを読んでください。
IISサーバーつまりWindowsに組み込まれたWebサーバーを使用する場合
Internet Information Serverの既定のW3C拡張ログファイル形式ではAWStatsは正しく動作しません。正常に動作させるには、「管理ツール」-「インターネットインフォメーションサービス(IIS)マネージャ」を始動して、適切なウェブサイトを選択してください、そして、プロパティを開いてください。「ログの記録を有効にする」をチェックして、「W3C拡張ログファイル形式」を選んでください。そしてプロパティを選択し詳細設定タブの下のすべてのチェックを外します。すべてのチェックをはずした後、AWStatsのインストール、構成、レポートのページ("マイクロソフトIISサーバーのセットアップ")にあるリストのチェックボックスをオンにします。
また、ログファイル形式ごとのLogFormatの値の例のある次のFAQも参照ください。
- サーバ上にヒットがなかった年間または月間の統計を表示しているかもしれません。
AWStatsを実行すると、デフォルトでは現在の月/年のレポートになります。
別の月/年のデータを表示する場合は以下の操作を行う必要があります。
コマンドラインからのHTMLレポートのページを作成する場合、コマンドラインに-year=YYYY -month=MMを追加します。
AWStatsの統計情報をCGIで表示する場合、http://myserver/cgi-bin/awstats.pl?config=xxx&year=YYYY&month=MMのようなURLを使用してください。
- 統計を読み込むときに、AWStatsは更新処理に使用したものと同じ設定ファイルを使用していないのかもしれません。ディスクをスキャンし、awstats.*.confにマッチするものを探し、必要とする構成ファイル(複数可)ではないすべてのファイルを削除します(awstats.confファイルがもしあったら、削除することができます。awstats.mydomain.confの形式の構成ファイルを使用する方がよいです)。
FAQ-SET360 : レポートにOS、プラウザ、ロボットおよび検索文/検索語がありません。
- 問題:
- AWStatsは統計情報を報告しているようですが、ロボット、OS、ブラウザ、検索エンジン、および検索文/検索語等が空のチャートになっています。
- 解決方法:
- ロボット、検索エンジンまたは検索文/検索語だけが空の場合、これは単にウェブサイトはまだロボットがアクセスしてないか誰も検索エンジンで見つけていない(特にこれは検索エンジンで参照されない、イントラネットの場合に起こる)ことを意味します。何回か更新しても、それらのすべてが空であるか、または唯一の未知の値となっている場合、おそらくログファイルには、すべての情報が含まれていないのでしょう。Apacheの場合、標準の"combined"ログの代わりに標準の"common"ログの形式を使用すると、こうなります。
また、AWStatsの構成ファイルでLogFormat=1の代わりににLogFormat=4を指定しているかもしれません。
AWStatsのインストールを読んで、Apache Webサーバーに"combined"ログ形式でログを報告させる方法を知り、そして、AWStatsの構成ファイルにあるLogFormat=1を設定します。
FAQ-SET400 : ファイルに出力をパイプしようとしたら, 空ページになってしまいました。
- 問題:
- 次のコマンドでファイルにawstats.plからの出力をリダイレクトしようとしたのですが、
>awstats.pl -config=... [その他のオプション] > myfile.html
しかしmyfile.htmlはは空です(サイズが0)。リダイレクトを削除すると、何もかもが正しく動作します。
- 解決方法:
- これは、AWStatsのバグでなく、PerlとWindowsの間の問題です。
この代わりに次のコマンドを実行して解決することができます。
perl awstats.pl -config=... [その他のオプション] > myfile.html
- 問題:
- (すべてのデータとカウンタがうまくいって)AWStatsは動作しているようですが、画像が表示されません。
- 解決方法:
- Apache Webサーバを使用している場合、"icons"と呼ばれるディレクトリを使用すると(Apacheの事前定義された"icons"エイリアスディレクトリのために)、(画像が統計ページに表示されない)トラブルをがあるかもしれないので、代わりに、たとえば、終わりにsのない"icon"と呼ばれるディレクトリを使用する(物理的にディレクトリの名前を変更し、この変更を反映するように構成ファイル内のDirIconsのパラメタを変更する)。
FAQ-SET700 : 3.2から5.xに移行した際に,過去の月の訪問が二倍になります。
- 問題:
- ある月の古い履歴ファイルを移行した後、その月の訪問数が倍になります。したがって、"訪問/訪問者"の数も倍増され、"ページ/訪問"と"ヒット/訪"は1/2になります。"ページ"、"ヒット"と帯域幅のような他のすべてのデータは正しいです。
- 解決方法:
- 3.2から5.xへの履歴ファイルを移行するときにこの問題が発生します。
この問題を解決するには、次のヒントを使用することができます(警告、3.2から5.xへの移行後、訪問の値が2倍になった場合のみこの操作を行うこと)。目標は、次のような履歴ファイル内の行を削除することです。
YYYYMM00999 999999 999
YYYYとMMは、履歴ファイルの年と月であり、999は数値です。
- OSがUnix/Linuxの場合
-
grep -vE '^[0-9]{6}00' oldhistoryfile > newhistoryfile
mv newhistoryfile oldhistoryfile
その後、移行処理を再実行します。
- OSがWindowsでCygwinがある場合
- OSがUNIX/ Linuxの場合と同じ手順ですが、(^はDOSが理解しないため)DOSプロンプトからでなくCygwinの"sh"シェルからこの操作を行う必要があります。
その後、移行処理を再実行します。
- その他の場合(実際どのOSでも実行できます)
- 手動でYYYYMM00 999 999 999 999の行(そのような行は一つしか見つかりません)を削除し、そのファイルで移行処理を再実行します。
FAQ-SET750 : AWStatsがCygwin Perl上で更新している場合の、メモリ例外の問題
- 問題:
- CygwinのPerlで、AWStatsの大規模なログファイルの更新処理を実行するとメモリが不足する。AWStatsのドキュメントの「AWStatsを良好に実行するための、CPU/パラメタの例」表の"メモリ所要量"(ベンチマーク)にしたがって、AWStatsを実行するための十分なメモリがあるのに。
- 解決方法:
- CygwinのPerlの内部では限界かもしれません。Cygwinのパラメタheap_chunk_in_mbを増やしてみてください。
FAQ-SET800 : AWStatsのスピード/タイムアウトの問題
- 問題:
- 大きなログファイルを分析する場合、処理時間は非常に重要です(例:ブラウザからの更新プロセスが、長い待ち時間の後にタイムアウト/内部エラーを返します)。これを回避し、スピードを向上させるためにセットアップ上などで注意する事はありますか?
- 解決方法:
- ログアナライザが良好な処理速度で実行するための仕組みを本当に理解する必要があります。処理時間を減らすためにできることには大きなセットアップの変更もあります。
ベンチマークのAWSTATSをうまく使うための注意を参照してください。
FAQ-SEC100 : AWStatsはクロスサイトスクリプティングの攻撃対象となり得ますか?
- 問題:
- 悪質なユーザーが、パラメータに< SCRIPT > ... </SCRIPT>セクションを含むURLにヒットするようにブラウザを使用して、AWStatsがレポートページ上にそのリンクを表示した場合、スクリプトは実行されますか?
- 解決方法:
- いいえ、AWStatsはログ分析レポートのページを使用したクロスサイトスクリプティング攻撃を行うためにURLに含まれているすべてのスクリプトコードを削除するフィルタを使用しています。
FAQ-SEC150 : 特定のユーザーが他のユーザーの統計を閲覧できないようにするにはどうしたらいいのでしょうか?
- 問題:
- (サイトwww.xxx.comを持つ)ユーザーのxxxは、(サイトwww.yyy.comを持つ)ユーザーyyyの統計を参照する必要はありません。どのようにこのためにAWStatsを設定できますか?
- 解決方法:
- セキュリティについての小ネタを参照ください。
FAQ-SEC200 : ワームによって破損されたログ(統計)ファイルを修復する方法は?
- 問題:
- サイトが、(Nimba, Code Red等の)いくつかのワームウイルスに攻撃されます。これでログファイルは破損レコードと404エラーで一杯です。それで、統計も404エラーでいっぱいです。これによりAWStatsが遅くなり、履歴ファイルを非常に大きくします。これを避けるためにはどうすればよいですか?
- 解決方法:
- はい。
"ワーム"の攻撃とは、感染したブラウザ、ロボットまたはクライアントに変更されたサーバーが、次のような非常に長い未知のURLを使用して、サイトへヒットすることです。
/default.ida?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%40%50...%40%50
URLは、感染したロボットによって生成され、目的は、Webサーバの脆弱性(ほとんどの場合、IISだけに脆弱性があります)を悪用することです。このような攻撃では、常にそれらのURLの"共通の文字列を'見つかるでしょう。たとえば、Code Redワームで、URL文字列には常にdefault.idaあります。いくつか他のワームは、その中にcmd.exeのあるURLを送信します。
バージョン6.0およびそれ以降を使用すると、ワームのフィルタリングとレポートを有効にするために構成ファイルのLevelForWormsDetectionパラメタを"2"にShowWormsStatsパラメタを"HBL"に設定することができます。
ただし、この機能は、AWStatsのスピードを深刻に下げ、ワームデータベース(lib/worms.pmファイル)はすべてのワームのシグネチャを含むことができません。それでもゴミのヒットが残るなら、worms.pmファイルを変更したり、例のような正規表現構文を使用して、必要のないレコードを破棄するSkipFilesパラメタにいくつかの値を追加して、構成ファイルを編集することができます。
SkipFiles="REGEX[^\/default\.ida] REGEX[\/winnt\/system32\/cmd\.exe]"