IIS 7.0 用 Advanced Logging - カスタム ログ

作成者 : Vishal Sood
発行日 : 2009 年 3 月 18 日 (作業者 : dmnelson(英語))
更新日 : 2009 年 5 月 12 日 (作業者 : dmnelson(英語))

インターネット インフォメーション サービス (IIS) 7.0 用 Advanced Logging では、ユーザー要求とクライアント データを非常に柔軟に記録できます。Advanced Logging 拡張機能は、IIS マネージャーのユーザー インターフェイスまたは IIS 7.0 構成システムと連携可能なツールで管理できます。

この記事の内容 :

  • 概要
  • 基本概念
  • Advanced Logging 機能のインターフェイスについて
  • カスタム ログ フィールドの追加
  • ログ定義の追加
  • ログ ファイルの格納
  • まとめ

概要

IIS 7.0 用 Advanced Logging には以下の機能が含まれており、顧客に適切なサービスを提供できるように支援します。

  • クライアント ログ。Advanced Logging は、クライアント側の利用指標を受け取る機能を IIS に組み込みます。これにより、顧客が好む、適切かつ重要なユーザー エンゲージメントの指標が提供されます。
  • 集中型のログ。Advanced Logging は、クライアント側の指標の収集および記録を行う中央ログ ファームを設定する機能を備えています。これにより、分散されたログの収集に必要な労力が削減されます。またログ収集が統合されたことで、より効率的に後処理を行うことができます。
  • ログのフィルタリング。Advanced Logging は、要求ごとに複数のログ (各ログには、ログの目的に関連するデータが含まれます) を作成することにより、特定の目的に関連する情報をフィルタリングする機能を備えています。たとえば、あるログにはサービスの品質 (QoS) に関するデータ、別のログには分析に関するデータが含まれます。現在のソリューションを使用して情報の抽出が必要な後処理は、すべて不要になります。
  • リアルタイム ログ。Advanced Logging は、プラットフォームを拡張してリアルタイム分析をサポートします。これにより、顧客にリアルタイムなレポートを提供したり、パートナーと連携して同様のことを行うことができます。
  • 豊富/柔軟なログ。Advanced Logging では、ユーザーにとって重要なことを決め付けることはしません。代わりに、十分な制御を提供して、ユーザーにとって重要なフィールドを指定したり、その他のフィールドを簡単に追加したり、またログ ロールオーバーや要求フィルターに関するポリシーを提供したりすることができます。このような機能は、現在存在しません。今は、管理コンソールによる簡単な構成で、HTTP 要求/応答ヘッダー、IIS サーバー変数、およびクライアント側のフィールドを記録できます。

基本概念

ログ定義。Web サーバー上に生成されたログ ファイルごとに記録されるフィールドを定義します。また、ログのロールオーバー間隔、基本のログ ファイル名などの追加オプションも設定します。

グローバル ログ フィールド。Advanced Logging は、管理者が IIS マネージャーのログ定義に追加できるログ フィールドのマスター リスト (グローバル ログ フィールド リスト) を保持します。カスタム ログ フィールドは、IIS 管理インターフェイスを使用して、グローバル ログ フィールド リスト (つまりはログ定義) に追加できます。このバージョンの Advanced Logging では、カスタム ログ フィールドは以下のソースの種類から追加できます。

  • モジュール。他の IIS モジュールから発行されたログ フィールド。クライアント側のフィールドがこのオプションを使用します。

  • 要求ヘッダー。要求に含まれる標準およびカスタムの HTTP ヘッダー。

  • 応答ヘッダー。要求の応答に含まれる標準およびカスタムの HTTP ヘッダー。

  • サーバー変数IIS サーバー変数 (英語)

Advanced Logging 機能のインターフェイスについて

Advanced Logging 機能を構成するには、IIS マネージャーのホーム ページで [Advanced Logging] をクリックし、[操作] ウィンドウで [機能を開く] をクリックします。

Ee175732.Advanced logging fig1(ja-jp,TechNet.10).jpg

サーバー ログの有効化/無効化

[Advanced Logging] 機能ページの [操作] ウィンドウでは、[ログ記録を有効にする] および [ログ記録を無効にする] リンクを使用して、他の Web サーバー コンポーネントからのログ メッセージを Advanced Logging 機能で処理するかどうかを制御します。既定では、Advanced Logging のインストール後、サーバー ログは有効になっています。

Ee175732.Advanced logging fig2(ja-jp,TechNet.10).jpg

クライアント ログの有効化/無効化

[Advanced Logging] 機能ページの [操作] ウィンドウでは、[Enable Client Logging] および [Disable Client Logging] リンクを使用して、HTTP POST メッセージを介して XML データとして受信されたクライアント ログ メッセージを Advanced Logging 機能で処理するかどうかを制御します。既定では、Advanced Logging のインストール後、クライアント ログは無効になっています。

Ee175732.Advanced logging fig3(ja-jp,TechNet.10).jpg

ログ定義について

Advanced Logging 機能は、サーバーで使用できるすべてのログ定義を IIS マネージャーのホーム ページに表示します。前のセクションの図には、既定でインストールされ、配信の観点から対象となるフィールドを取得するログ定義 %COMPUTERNAME%-Server が表示されています。このログ定義に含まれるフィールドを表示するには、ログ定義名をクリックし、[操作] ウィンドウで [Edit Log Definition] をクリックします。

Ee175732.Advanced logging fig4(ja-jp,TechNet.10).jpg

グローバル ログ フィールド リストについて

[Advanced Logging] 機能ページの [操作] ウィンドウでは、[Edit Logging Fields] リンクから、ログ定義に追加できるログ フィールドを表示するダイアログ ボックスが開きます。

Ee175732.Advanced logging fig5(ja-jp,TechNet.10).jpg

[Edit Logging Fields] ダイアログ ボックスには、Advanced Logging の既定のインストールに含まれているログ フィールドが表示されます。

Ee175732.Advanced logging fig6(ja-jp,TechNet.10).jpg

このリストにカスタム ログ フィールドを追加する方法については、「カスタム ログ フィールドの追加」を参照してください。

カスタム ログ フィールドの追加

グローバル ログ フィールド リストにカスタム フィールドを追加するには、次の手順を実行します。

  1. IIS マネージャーのサーバー、サイト、仮想ディレクトリ、またはアプリケーション レベルで、[Advanced Logging] アイコンをダブルクリックします。

  2. [Advanced Logging] ページの [操作] ウィンドウで、[Edit Logging Fields] をクリックし、[Edit Logging Fields] ダイアログ ボックスを開きます。ダイアログ ボックスには、既定で利用可能なログ フィールドが表示されます。

  3. [Edit Logging Fields] ダイアログ ボックスで、[Add Field] ボタンをクリックして [Add Logging Field] ダイアログ ボックスを開きます。
    Ee175732.Advanced logging fig7(ja-jp,TechNet.10).jpg

  4. [Add Logging Field] ダイアログ ボックスに、カスタム フィールドとして HTTP 要求ヘッダーの参照者を追加します。

    a.   [Source type] で、[要求ヘッダー] を選択します。
    b.  [Source Name] に、記録する HTTP 要求ヘッダーとして「参照者」を入力します。
    c.   ID に、ログ定義に含まれ、グローバル ログ フィールド リストに表示されるフレンドリ名 (例 : 参照者) を入力します。
    Ee175732.Advanced logging fig8(ja-jp,TechNet.10).jpg

ログ定義の追加

このセクションでは、前のセクションで追加したカスタム ログ フィールドの参照者を、新しいログ ファイルで使用する方法について説明します。これには、新しいログ定義を作成する必要があります。

  1. IIS マネージャーのサーバー、サイト、仮想ディレクトリ、またはアプリケーション レベルで、[Advanced Logging] アイコンをダブルクリックします。

  2. [Advanced Logging] ページの [操作] ウィンドウで、[Add Log Definition] をクリックし、[Log Definition] ページを開きます。

  3. [Log Definition] ページで、以下のオプションを構成します。

    a.   Base file name。生成されたログ ファイルのファイル名として、指定した Base file name とタイムスタンプを、Basefilename_timestamp.log の形式で使用します。環境変数を Base file name として使用できます。環境変数は Advanced Logging 機能によって展開されます。この例では、TestLog を使用します。

    b.   有効。このチェック ボックスがオンになっている場合は、新しいログ定義が有効になります。新しいログ定義を無効にするには、チェック ボックスをオフにします。この例では、有効のままにします。

    c.   Publish real-time events。このオプションを指定すると、Advanced Logging 機能は、リアルタイム ログおよび分析のために他の IIS モジュールが使用できるイベントを生成できるようになります。イベントはすべてのデータを含み、データがログ ファイルに書き込まれる直前に生成されます。この例では、オフにします。リアルタイム ログの詳細については、「IIS 7.0 用の Advanced Logging - リアルタイム ログ」を参照してください。

    d.   ログ ファイル ロールオーバー[ログ ファイル ロールオーバー] オプションでは、新しいログ ファイルが生成される頻度を指定します。この例では、毎日、協定世界時 (UTC) の午前零時に新しいログ ファイルが生成される、[スケジュール] オプションの [毎日] を選択します。

    e.   Selected logging fields[Add Fields] ボタンをクリックして [Logging Fields] ダイアログ ボックスを開きます。ここでは、前のセクションのグローバル ログ フィールド リストに追加したカスタム ログ フィールドの参照者など、このログ定義で記録するフィールドを選択できます。[参照者] ログ フィールドを追加するには、[Available fields] リストから選択します。
    Ee175732.Advanced logging fig9(ja-jp,TechNet.10).jpg

    f.   その他のログ フィールドをログ定義に追加するには、[Available fields] リストでその名前をクリックして選択し、[OK] をクリックします。

    g.   ログ フィールドをログ定義の [Selected logging fields] リストに追加した後は、リストでフィールド名を選択し、[上へ移動] または [下へ移動] のいずれかをクリックして、ログに書き込まれる順序を指定できます。
    Ee175732.Advanced logging fig10(ja-jp,TechNet.10).jpg

  4. 新しいログ定義を保存するには、[操作] ウィンドウで [適用] をクリックします。

ログ ファイルの格納

サーバーにホストされた Web ページにアクセスすると、参照者と前のセクションで指定したその他の選択済みフィールドが、作成されたログ ファイルに記録されていることがわかります。既定では、ログ ファイルは %SystemDrive%\inetpub\logs\AdvancedLogs に格納されます。ログ ファイルの格納場所として別のディレクトリを指定するには、次の手順を実行します。

  1. IIS マネージャーの、TestLog ログ定義を作成したサイト、仮想ディレクトリ、またはアプリケーション レベルで、[Advanced Logging] アイコンをダブルクリックします。ログ ディレクトリは、サーバー レベルでは指定できません。

  2. [Advanced Logging] ページの [操作] ウィンドウで、[Edit Log Directory] をクリックします。

    Ee175732.Advanced logging fig11(ja-jp,TechNet.10).jpg

  3. [Edit Log Directory] ダイアログ ボックスで、ログ ディレクトリ パスを更新します。
    Ee175732.Advanced logging fig12(ja-jp,TechNet.10).jpg

まとめ

このチュートリアルでは、Advanced Logging 機能を確認し、グローバル ログ フィールド リストへのカスタム ログ フィールドの追加方法、これを使用した新しいログ ファイルの作成方法、ログ ファイルの格納場所の指定方法について学びました。

関連コンテンツ

記事