MB-Support

パソコン初心者のサポートページ

IIS のログを参照する IIS 6 〜 7.5


インターネット インフォメーション サービス (IIS:Microsoft Internet Information Services:マイクロソフト インターネット インフォメーション サービス、または、アイアイエス) マネージャーを起動します。「スタート」→「コントロールパネル」を開き、「システムとセキュリティ」→「管理ツール」→「インターネット インフォメーション サービス (IIS) マネージャー」をクリックします。



インターネット インフォメーション サービス (IIS) マネージャーが起動したら。ログ記録をダブルクリックします。



ログに関する設定は、全てここで制御できます。ログが保管されているディレクトリは、ここに表示されています。規定では、「%SystemDrive%\inetpub\logs\LogFiles」となっているので、Cドライブの「inetpub」フォルダーを参照すれば良いでしょう。IISインストール初期状態では、WEBサイトのデータはCドライブの「inetpub」フォルダー内の「wwwroot」フォルダーに保管する事になっています。このフォルダーの場所やフォルダー名を変更する事もできますが、ログに関してはここで変更しない限り、「inetpub」フォルダー内に保管されて続けます(つまり、wwwroot に依存しない)。



C:\inetpub\logs\LogFiles\W3SVC1 をエクスプローラーで開くと、テキストファイルが保管されています。これが WEB サイトに関するやりとりを記録するログファイルとなり、実際に IIS で WEB サイトを公開しているならば、このログファイルを定期的にバックアップして、保管、または、解析する事になります。しかし、Windows に付属する IIS は同時接続数が 10 に制限されているので、一般的に公開用途ではなく、開発用途で利用します。公開用途に利用するのは、Windows Server 製品です。



ログファイルは、Windows に付属するメモ帳で開けますが、アクセスが多いページでは開くのに時間がかかります。内容は、何時に何処からサーバー内のどのファイルに何を要求したかが刻々と記録されています。これだけを参照しても特定のものを見つける事は可能ですが、一般的にはログ解析ツールを使ってこのファイルを読み込みます。



規定では、ログファイルの作成単位は「サイト」毎になっており、形式は W3C、エンコードは UTF-8、スケジュールは「毎日」になっています。IIS のバージョンによりログファイルに使われる名前が異なりますが、IIS 7.5 では「u_ex日付.log」形式になっていました。つまり、2010 年 9 月 3 日のログならば、「u_ex100903.lgo」となります。IIS6までは、たぶん 「ex日付.log」 になっていたと思います。新しいログファイルに切り替えるタイミングは、規定で「毎日」になっていますが、時間的には 0 時 〜 翌日の 0 時にはなっていません。これを変更するには、「ファイル名およびロールオーバーに地域設定を使用する(U)」にチェックを入れます。



また、ここでの変更は、インターネット インフォメーション サービス (IIS) マネージャーの右の「適用」をクリックすると反映されます。再起動する必要はありません。ファイルが切り替わるタイミングは 0 時になったものの、ログファイルを参照すると分かりますが、記録される時間がおかしいです。これは、世界共通の GMT(グリニッジ標準時)で記録されるためです。日本標準時は JST で、世界共通の GMT と 9 時間の時差があります。つまり、ログに記されたアクセス時刻、2010-09-03 04:46:19 は、日本時間に直すと 2010-09-03 13:46:19 となります(単純に9時間をプラスする)。ログは JST で記録する事はできませんが、アクセス解析ツールはこの時差を修正する機能が搭載されているのが一般的です。つまり、特に気にする事はありません。



ログに記録するべきデータを変更するには、「フィールドの選択(S)」ボタンをクリックします。



規定では、右のチェックが入った内容だけ記録します。チェックが多く入っていれば、それだけ解析もはかどりますが、一日に記録されるデータ量も多くなります。この変更も、チェックを入れたり外したりして「OK」ボタンを押し、インターネット インフォメーション サービス (IIS) マネージャーの右の「適用」をクリックすると反映されます。



変更時刻はログの途中で記録されます。各データが何を意味しているかは、ログファイルの先頭か、変更した時刻に#Fields が記録されます。上で選択したフィールドは、順番通りに記録されるわけではありません。実際にすべてをチェックして記録したところ、次の順番になりました。


date time s-sitename s-computername s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs-version cs(User-Agent) cs(Cookie) cs(Referer) cs-host sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken

これをフィールド変更プロパティにある日本語に置き換えると以下の順番になります。

日付(サーバーにアクセスしてきた日付)、時間(サーバーにアクセスしてきた時間)、サービス名(W3SVC1)、サーバー名(受け側のサーバーのコンピュータ名)、サーバー IP アドレス(受け側のサーバーのIP アドレス)、メソッド(GET)、URIシステム(アクセスしてきたドメイン以下のアドレス)、URIクリエ、サーバー ポート(ポート番号、WEBサーバーなら80)、ユーザー名、クライアント IP アドレス(アクセスしたユーザーのIPアドレス)、プロトコル バージョン(HTTP/1.1など)、ユーザーエージェント(アクセスしてきたユーザーのOS、ビット数、ブラウザなどの情報)、クッキー、参照者、ホスト、プロトコルの状態、プロトコルの副状態、Win32の状態、受信バイト数、送信バイト数、所要時間。


多くの情報を記録しても、それを解析するツールにより、対応非対応があります。ツールによって記録する内容を追求すれば、データ量を抑える事ができます。管理人は「WebLog Expert Lite」を使っていますが、このツールを使う場合は規定のままで問題ありません。今、ログファイルをローカルに移動して、ローカルだけで解析しているのが「AWStats」と呼ばれるツールですが、このツールを設定する場合、ログフォーマットを詳しく指定する必要があります。ログフォーマットは「cgi-bin」フォルダー内の「awstats.ドメイン.conf」で、「LogFormat = 数字」または、「LogFormat = ””フィールド”」のいずれかになり、「AWStats」は IISの例として「LogFormat = 2」を指定すれば良いとありますが、バージョンにより対応できません。この場合は、後者のフィールド名を指定する必要があります。これが面倒だったので、対応表を作りました。


IIS = awstats

date time = %time2
c-ip = %host
cs-username = %logname
s-sitename = %other
s-computername = %other
s-ip = %other
s-port = %other
cs-method = %method
cs-uri-stem = %url
cs-uri-query = %query
sc-status = %code
sc-win32-status = %other
sc-substatus = %other
sc-bytes = %other
cs-bytes = %bytesd
time-taken = %other
cs-version = %other
cs-host = %virtualname
cs(User-Agent) = %ua
cs(Cookie) = %other
cs(Referer) = %referer

ここに掲載されていないものは、「%other」とします。実際に記録したログファイルの先頭の以下の部分を参照します。

#Fields: cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taken

これを「awstats」の「LogForma」に置き換えると以下になります。

LogFormat="%time2 %method %url %query %other %logname %host %ua %referer %code %other %other %other %bytesd %other"

また、先に説明した 9 時間の時差を解消するには、「LoadPlugin="timezone +9"」と指定します( 9 はログに記録された時刻に 9 時間をプラスする意味)。一方、「WebLog Expert Lite」は自動で修正してくれるので、特に何もする必要はありません。「awstats」は現在ローカルで試している状況で、もしかしたら使い方を掲載するかも知れません。ただ、個人的には本サーバーで利用する事はありません(負荷とセキュリティ対処の指定も読み解くのは面倒なので)。「WebLog Expert Lite」は以下に掲載しています。

IIS のログ解析 簡易版 WebLog Expert Lite

「WebLog Expert Lite」は無料版なので仕方ありませんが、同じ無料版でも「awstats」の方が強力です。ただ、CGI とローカル環境で WEB サーバーを構築する必要があります。





Copyright © 2018 MB-Support パソコン初心者のサポートページ All Rights Reserved.

管理人サイト閲覧方法プライバシーポリシー著作権/免責事項