IISのログについて(種類、ファイル名、格納場所、形式、設定変更 その他)

先日、IISを触る機会があり、IISのログについて調査したので情報をまとめた。

出力されるログの種類、格納場所、ファイル名、ログ格納場所の変更、ログローテート(ロールオーバー)設定、ログ形式設定についてざっくりと記載。

検証環境:Windows Server 2022 Datacenter(Azure 仮想マシン) & IIS 10.0

IISの出力するログの種類

IISが出力するログは2つ。IISログとHTTPERRログ。(イベントビューワーへ出力されるログについてはここでは割愛する)

IISログは、webサーバへの接続情報が記録されるログ。IISは複数のログ形式をサポートしており、管理者にて形式を選択することが可能。ログ形式の詳細については”IISログの形式について”にて後述する。

HTTPERRログはエラーログ、webサーバへの接続エラー情報などが記録される。

IISの各ログの格納場所とファイル名

IISログファイルの格納先

IISログの格納先フォルダは、既定では %SystemDrive%\inetpub\logs\LogFiles である。ここに W3SVC1 フォルダが作成され、このフォルダ配下にIISログファイルが格納されている。ログの格納先ディレクトリは管理者にてIISの管理コンソール(IISマネージャー)にて変更可能となっている。

IISログのファイル名

IISログのファイル名は、既定では u_exyymmdd.log である。
このファイルの命名規則は、選択されたログ形式設定とログファイルロールオーバー設定、エンコード設定などの条件によって決定される。

ログファイルのエンコード方式がUTF8となっている場合は、ファイル名の冒頭に”u_”の文字列が付加される。ANSIの場合は”u_”は付加されない。

ログファイル名の”ex”はログ形式がW3C形式であること、”nc”はNCSA形式であること、”in”はIIS形式であることを示す模様(ざっくり確認した程度、かつ、この規則に当てはまらない出力も確認しているため別途、検証が必要)。

“yymmdd”部分についても、選択されたログファイルロールオーバーのスケジュールによって命名が異なる。ロールオーバー設定で[毎時]を選択した場合は、”yyyymmddhh”の命名則となり、それ以外([毎月]、[毎週]、[毎日])を選択した場合は”yyyymmdd”の命名則でファイル名が決定される。

HTTPERRログファイルの格納先

HTTPERRログファイルの既定の格納場所は C:\Windows\System32\LogFiles\HTTPERR となっている。

ログの格納場所については、IISの管理コンソール(IISマネージャー)からは変更できないが、レジストリキーを作成することで変更できる。

HTTPERRログのファイル名

ファイル名は既定では httperr1.log となっている。

ログの各種設定について

IISログの格納先フォルダの変更

IISマネージャーから変更可能。

[スタート]メニュー→[Windows管理ツール]から[インターネットインフォメーションサービス(IIS)マネージャー]を選択、IISマネージャーを起動する。

IISマネージャーのトップ画面から対象のサーバを選択しダブルクリック、画面中央の機能ビューより、[ログ記録]を選択する。

ログファイル – ディレクトリ(Y):項目を変更する。

IISログのログ形式の変更

IISマネージャーから変更可能。

1.フォルダの変更同様、IISマネージャーにて[ログ記録]画面を表示させる。

2.ログファイル – 形式(M):からログ形式を選択する。

3.(W3C限定)出力するログフィールドを選択する。

IISログの形式について

W3C形式、IIS形式、NCSA形式の違いについては以下を参照。

https://learn.microsoft.com/ja-jp/windows/win32/http/w3c-logging
https://learn.microsoft.com/ja-jp/windows/win32/http/iis-logging
https://learn.microsoft.com/ja-jp/windows/win32/http/ncsa-logging

(注意)IIS形式およびNCSA形式はOSで設定したタイムゾーンでログ出力されるが、W3CはUTC/協定世界時間で出力される。

IISログのログファイル ロールオーバーの設定変更

IISマネージャーから変更可能。

フォルダの変更同様、IISマネージャーにて[ログ記録]画面を表示させる。

ログファイル ロールオーバー からロールオーバーの方式を選択する。[スケジュール](毎月、毎週、毎日次、毎時間)切り替えか、[ファイル最大サイズ]切り替えか、[新しいログファイルを作成しない](1つのファイルにログ出力し続ける)か、選択する。

[スケジュール]方式を選択した場合は、切り替えスケジュールを、毎月、毎週、毎日次、毎時間のいずれかから選択する。

[ファイル最大サイズ]方式を選択した場合、切り替えが行われるファイルサイズを選択する。ここで設定できる最少ファイルサイズは1048576バイトとなっている。

IIS でのログの構成
HTTP 要求とエラーに関する情報を記録する Web サーバーまたは Web サイトでログを構成することができます。 ログ内の情報は、tro... に役立ちます。

HTTPERRログの格納先フォルダ変更

レジストリエディタを使用し、以下のレジストリキーに、レジストリ値を登録することでログ格納先を変更することが可能。

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters

ErrorLoggingDir というレジストリ値を作成、データとして変更先格納フォルダを入力する。

参照サイト:https://learn.microsoft.com/ja-jp/troubleshoot/developer/webapps/aspnet/site-behavior-performance/error-logging-http-apis#configure-http-api-error-logging

コメント

タイトルとURLをコピーしました