IIS 8.5 用の強化されたログ記録

作成者: Gary Ericson

IIS 8.5 では、管理者は、要求ヘッダーか応答ヘッダー、またはサーバー変数から追加のカスタム フィールドをログに記録できます。

互換性

バージョン メモ
IIS 8.5 以降 拡張ログは IIS 8.5 で導入されました。
IIS 8.0 以前 拡張ログは、IIS 8.5 より前はサポートされていませんでした。

問題

Windows Server 2012 のインターネット インフォメーション サービス (IIS) では、固定の標準フィールド セットの制限付きログ機能が提供されます。ログ記録は拡張したり、カスタマイズしたりできません。 この標準セットを超えてフィールドをログに記録する必要がある管理者は、カスタム ログ モジュールを作成する必要があります。

解決策

IIS 8.5 以降では、管理者は、要求ヘッダーか応答ヘッダー、またはサーバー変数から追加のカスタム フィールドをログに記録できます。

ステップ バイ ステップの手順

IIS 8.5 以降の拡張ログ記録を構成する

  1. IIS マネージャーを開きます。
  2. [接続] ウィンドウでサイトまたはサーバーを選択し、[ログ記録] をダブルクリックします。 拡張ログはサイトレベルのログ記録でのみ利用できることにご注意ください。[接続] ペインでサーバーを選択した場合、[W3C ログ記録フィールド] ダイアログの [カスタム フィールド] セクションが無効になります。
  3. [ログ ファイル] の下にある [形式] フィールドで [W3C] を選択し、[フィールドの選択...] をクリックします。
    Select fields
  4. [W3C ログ記録フィールド] ダイアログで、[フィールドの追加...] をクリックします。拡張ログ記録は、サイト レベルのログ記録でのみ利用できることにご注意ください。[接続] ペインでサーバーを選択した場合、[フィールドの追加...] は無効になります。
    Add custom fields
  5. [カスタム フィールドの追加] ダイアログボックスで、ログ ファイル内のカスタム フィールドを識別する [フィールド名] を入力します。 フィールド名にスペースを含めることはできないことにご注意ください。
  6. [ソースの種類] を選択します。 [要求ヘッダー][応答ヘッダー]、または [サーバー変数] を選択できます (拡張ログでは、小文字を含む名前を持つサーバー変数をログに記録できません。イベント ログにサーバー変数を含めるには、その名前がすべて大文字で構成されていることを確認してください)。
  7. [ソース] を選択します。これは、ログに記録する値を含む HTTP ヘッダーまたはサーバー変数 (選択した [ソースの種類] に依存) の名前です。 独自のカスタム ソース文字列を入力することもできます。 たとえば、カスタム HTTP ヘッダー "X-FORWARDED-FOR" を記録するには、[ソース] にその文字列を入力します。
    Enter custom source
  8. OK をクリックします。
  9. 追加するカスタム フィールドごとに [フィールドの追加...] をクリックします。 [フィールドの削除] をクリックし、追加したカスタム フィールドを削除したり、[フィールドの編集...] をクリックし、フィールドを編集したりすることもできます。
  10. OK をクリックします。
  11. [アクション] ペインで [適用] をクリックすると、新しい構成が適用されます。

カスタム フィールドが構成されると、IIS によって新しいテキスト ログ ファイルが作成されます。そのとき、ファイル名に "_x" が追加され、ファイルにカスタム フィールドが含まれていることが示されます。

すべてのカスタム フィールドから収集されるデータの合計サイズが 65,536 バイトを超えることはできないことにご注意ください。 合計が 65,536 バイトを超える場合、IIS ではデータが切り詰められます。

まとめ

このガイドでは、IIS ログにカスタム フィールドを追加するように IIS を構成しました。