Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ

IISのログ・ファイルを午前0時に切り替える

解説をスキップして操作方法を読む

デジタルアドバンテージ
2004/10/16
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
IISでは、1日ごとや1週間ごとにまとめてWebアクセス・ログを出力することができる。
デフォルトではGMTの午前0:00になるとファイルが切り替わるが、これは日本時間の午前9:00になる。
日本時間深夜の午前0:00にログ・ファイルを切り替えるには、IISのログ設定を変更する。
 
解説

 Windows OSに用意されているIISには、サーバへのアクセス記録をログ・ファイルとして残すことができる。ログ・ファイルの記録形式としては、デフォルトで「W3C 拡張ログ ファイル形式」が設定されており、Webサーバへのアクセス情報がテキスト形式で記録されている。クライアントからのアクセスがあるたびに、アクセス時刻(GMT)やIPアドレス、アクセス先、パラメータなどの情報が1行ずつ追加される。そして、あらかじめ決められたログの記録期間が過ぎると新しいログ・ファイルが作成され、そちらに記録される。

※IISのログ・ファイルの例

#Software: Microsoft Internet Information Services 6.0
#Version: 1.0
#Date: 2004-10-12 15:00:16 …ログの記録開始時間
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus
2004-10-12 15:00:16 192.168.2.36 POST /AddPost.aspx ForumID=17 80 - 210.XX.XX.XX Mozilla/4.0 -  302 0
…(以下省略)…

 このフォーマットを処理できるアクセス・ログ解析用ソフトウェアは多く、最も広く使われているフォーマットである。

アクセス解析の例
IISのログをそのまま処理できるアクセス・ログ解析用ソフトウェアは多い。これはWebLog Expert Liteという、フリーの解析ソフトウェアの実行例である。
  ログ・ファイル名。IISの出力したログ・ファイルを指定している。
  あるWebサイトにおける、時間帯別の活動レポート。

 IISにおけるログ・ファイルへの記録期間は、1日単位や1週間単位、1カ月単位など、いろいろ設定することができるが、アクセス解析やログ・ファイルのバックアップなどのことを考えると1日ごとに1つのログ・ファイルになっているのが望ましいだろう。アクセス・ログ解析ソフトウェアにもよるが、1日分だけ解析したければファイルを1つずつ処理すればよいし、過去1週間分ならファイルを7つまとめて処理すればよい。だが1週間単位でログを記録しておくと、例えば昨日のログだけを見たい場合にも、1日分だけ切り出すなどの処理が必要になる。

 ところで1日分のログといえば、通常は午前0時(深夜)から翌日の午前0時までの24時間を意味するのが普通だろう。だがIISのデフォルト設定では、GMT(グリニッジ標準時)で深夜の0:00から翌0:00までの24時間が1日分として扱われる。GMTとJST(日本標準時)では9時間の時差があるため、具体的には午前9時から翌日の朝午前9時までが1日分のログ・ファイルとして作成される。これを避け、JSTの午前0:00からログ・ファイルを開始させるには、ログの設定を変更する必要がある。

 なおログ・ファイルに記録される時刻情報はJSTではなくGMTになっているが、これはW3Cの要求仕様に基づいている。Webサーバが動作しているコンピュータの時刻や言語設定がどこの国になっているかに関係なく、世界中で統一した時刻基準でログを記録するために、このような仕様になっている。これにより、複数の国などにまたがるWebサーバのログでもすべて統合して処理することができる(ログ・ファイルのフォーマットについてはW3Cの「Extended Log File Format」を参照)。


操作方法

 ログ・ファイルのファイル名が切り替わり、別のファイルに新たに記録を始めることを、IISでは「ロール・オーバー」と呼んでいる(UNIXなどではログ・ローテートという)。ロール・オーバーする時間をデフォルトのGMTベースではなく、JSTの0:00にするには、以下の設定を変更する。

 ログ・ファイルの設定を変更するには、まずIISの管理ツールでサイトのプロパティを表示させ、[Web サイト]タブを開く。

IISのログ・ファイル設定
ログ・ファイルの設定は、IISの「Webサイト」ごとに行う必要がある。
  これを有効にしてログを記録する。
  デフォルトではこの「W3C 拡張ログファイル形式」が選択されている。
  設定を変更するにはこれをクリックする。

 プロパティの画面中にロール・オーバーの設定を変更するチェック・ボックスがあるので、これをオンにする。

ログ・ファイルの設定
ここでログ・ファイルの期間ファイル名、記録する項目などを設定する。
  これを選択すると、1日ごとに1つのログ・ファイルが作成される。
  これをオンにすると、ローカル(Windows OSのローカル国別設定)の0時0分にファイルがロール・オーバーする。デフォルトではオフであり、この場合はGMTの0時0分(日本標準時では午前9時0分)にロール・オーバーする。ただしその日にアクセスがなければ、ログ・ファイルは作成されない。
  ログ・ファイルが置かれる場所。
  出力されるログ・ファイルの名前でサイトごとに1つフォルダが作成され、その中にex041010.logといった名前のファイルが作成される。
  ログ・ファイルに記録される項目を設定するには、これをクリックする。

 なおこの設定を変更しても、記録される時刻情報のデータがJSTになるわけではない。記録される時刻情報はGMTのままであり、ファイルがロール・オーバーする時刻がJSTの0:00になるだけである。そのため、ログ・ファイルに記録される具体的な時刻は、GMTで15:00〜翌15:00となる。つまりファイルの最初のエントリは15:00:00(以降の最初のアクセス時)から始まり、日本時間の午前9時0分にGMTの0:00:00になり、ファイルの最後はまた15:00:00(の直前)になる。End of Article

  参考リンク
  拡張ログ ファイル形式では時刻が常に GMT で記録される(マイクロソフト サポート技術情報)
  [IIS] ログ ファイルがローカルではなく GMT 時間でロール オーバーされる(マイクロソフト サポート技術情報)
  IIS ログ ファイルのエントリのタイム スタンプが間違っている(マイクロソフト サポート技術情報)
     
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間