失敗した要求トレース 規則を使用したアプリケーション要求ルーティングのトラブルシューティング
適用対象: インターネット インフォメーション サービス 7.0 以降のバージョン
失敗した要求トレースは、IIS 7.0 以降のバージョンで要求処理エラーをトラブルシューティングするための強力なツールです。 この記事では、失敗した要求トレース 規則を有効にして、アプリケーション要求ルーティングのエラーとトレース手順をデバッグする手順について説明します。 失敗した要求トレース規則の詳細については、「 IIS 8.5 でトレースを使用して失敗した要求のトラブルシューティング」を参照してください。
目標
失敗した要求トレース 規則を構成し、アプリケーション要求ルーティングのトラブルシューティング時に検索する内容を理解するには。
前提条件
このチュートリアルでは、次の前提条件が必要です。
- WINDOWS 2008 (任意の SKU) 以降の IIS 7.0 以降で、IIS 用にトレース ロール サービスがインストールされています。
- Microsoft アプリケーション要求ルーティングと依存モジュール。
- 作業サイトとアプリケーションを持つ 2 つ以上のアプリケーション サーバー。
アプリケーション要求ルーティングがインストールされていない場合は、 ダウンロード センターからダウンロードし、「 アプリケーション要求ルーティングのインストール」で説明されている手順に従ってインストールします。
もう 1 つの前提条件は、 アプリケーション要求ルーティング モジュールの使用を完了し、アプリケーション要求ルーティング を構成していることです。 次のセクションに進む前に、アプリケーション要求ルーティングが正常に動作している必要があります。
手順 1: 失敗した要求トレース 規則を構成する
UI またはコマンド ラインを使用して、アプリケーション要求ルーティングの失敗した要求トレース規則を構成します。
UI を使用して失敗した要求トレース 規則を構成する方法
- インターネット インフォメーション サービス (IIS) マネージャー (inetmgr) を起動します。
- [ 既定の Web サイト] を選択します。
- [ 操作 ] ウィンドウの [ 構成] で、[ 失敗した要求トレース...] を選択します。
- [ Web サイトの失敗した要求トレース設定の編集 ] ダイアログ ボックスで、[ 有効] チェック ボックスをオンにします。
- [ OK] を選択 して変更を保存します。
- [ 既定の Web サイト] を選択します。
- [失敗した要求トレース 規則] をダブルクリックします。
- [ 操作 ] ウィンドウで、[ 追加] を選択します。
[ すべてのコンテンツ (*)] を選択し、[ 次へ] を選択します。 -
[状態コード] を選択し、「200-399」と入力します。
[次へ] を選択します。 上記の構成では、状態コードが 200 から 399 の間にある場合にトレースを書き込む失敗した要求トレース規則が作成されています。 -
ASP、ASPNET、ISAPI 拡張機能の選択を解除します。
[WWW サーバー] を選択した後、[書き換え] と [要求][ルーティング] を除き、[領域:] の下のすべての選択を解除します。 アプリケーション要求ルーティングは URL 書き換えモジュールに依存して受信要求を検査するため、アプリケーション要求ルーティング (RequestRouting) と URL 書き換えモジュール (書き換え) の両方に対してトレースを有効にすることをお勧めします。
URL 書き換えモジュールトレースの詳細については、「 失敗した要求トレースを使用して書き換えルールをトレースする 」を参照してください。 - [完了] を選択します。
コマンド ラインを使用して失敗した要求トレース 規則を構成する方法
管理者特権でコマンド プロンプトを開きます。
%windir%\system32\inetsrv
に移動します。既定の Web サイトで失敗した要求トレースを有効にするには、次のコマンドを実行します。
appcmd set site "Default Web Site" -traceFailedRequestsLogging.enabled:"true" /commit:apphost
上記の UI に示すように失敗した要求トレース規則を構成するには、次のコマンドを実行します。
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*']"
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /+"[path='*'].traceAreas.[provider='WWW Server',areas='Rewrite,RequestRouting',verbosity='Verbose']"
appcmd.exe set config "Default Web Site" -section:system.webServer/tracing/traceFailedRequests /[path='*'].failureDefinitions.statusCodes:"200-399"
手順 2: 失敗した要求トレース ログを分析する
この手順では、アプリケーション要求ルーティングに要求を送信し、失敗した要求トレース ログを分析します。
失敗した要求トレース ログを表示するには
失敗した要求トレース ログが書き込まれるディレクトリに移動します。 既定では、場所は
%SystemDrive%\inetpub\Logs\FailedReqLogFiles\
です。既定の Web サイトと一致するフォルダーにディレクトリを変更します。 既定では、 W3SVC1 です。 不明な場合は、IIS マネージャーで [既定の Web サイト] を選択し、[操作] ウィンドウで [詳細設定] を選択します。 ID の値は、対応するフォルダーを示します。 (たとえば、ID 1 は W3SVC1 に対応します)。
XML ファイルがある場合は、次のように入力して削除します。
del *.xml
アプリケーション要求ルーティングに要求を送信します。 アプリケーション要求ルーティングが正しく機能している場合は、 手順 1 で指定された 200 から 399 の範囲に収まる 200 応答が返されます。 そのため、ログは上記の場所に書き込まれます。
ディレクトリ内のファイルを一覧表示して、新しい XML ファイルが書き込まれたことを確認します。
XML ファイルを開きます。 [ 要求の詳細] を選択します。 [ 要求トレースの完了] を選択し、[ すべて展開] を選択します。 次の図は、アプリケーション要求ルーティングの失敗した要求トレース ログの例です。
次のセクションに注意してください。
GENERAL_REQUEST_HEADERS:
- [ヘッダー]: アプリケーション要求ルーティングが受信した HTTP ヘッダーを示します。
ARR_REQUEST_ROUTED:
- WebFarm: 要求がルーティングされるサーバー グループの名前を示します。
- サーバー: 要求がルーティングされる宛先サーバーを示します。
- アルゴリズム: 使用される負荷分散アルゴリズムを示します。
- RoutingReason: サーバーが選択されている理由の背後にある決定を示します。
ARR_SERVER_STATS:
- 状態: 移行先サーバーの可用性。
- TotalRequests: このサーバーに送信された要求の数に関するランタイム統計。
- CurrentRequests: このサーバーへの HTTP 要求の同時実行数に関するランタイム統計。
- BytesSent: このサーバーに送信された KB 単位のデータ量に関するランタイム統計。
- BytesReceived: このサーバーから受信された KB 単位のデータ量に関するランタイム統計。
- ResponseTime: このサーバーの ms での応答性に関するランタイム統計。
GENERAL_RESPONSE_HEADERS
- ヘッダー: 宛先サーバーからの応答 HTTP ヘッダーを表示します。
GENERAL_RESPONSE_ENTITY_BUFFER
- バッファー: 宛先サーバーからの応答エンティティを表示します。
アプリケーション要求ルーティングのパフォーマンスをプロファイルするために、対応するイベントの開始時刻と終了時刻を示すタイムスタンプが追加されました。
- ARR_REQUEST_HEADERS_START
- ARR_REQUEST_HEADERS_END
- ARR_RESPONSE_HEADERS_START
- ARR_RESPONSE_HEADERS_END
- ARR_RESPONSE_ENTITY_START
- ARR_RESPONSE_ENTITY_END
- ARR_RESPONSE_ENTITY_START
- ARR_RESPONSE_ENTITY_END
サーバー コアで失敗した要求トレース ログを収集する場合は、 freb.xsl スタイルシートを含むログをブラウザーが利用可能なコンピューターにコピーします。
概要
これで、アプリケーション要求ルーティングの失敗した要求トレース規則が正常に構成されました。 失敗した要求トレース 規則を使用して、アプリケーション要求ルーティングのトラブルシューティングとデバッグを行うだけでなく、特定の要求の宛先サーバーを選択する際に行った負荷分散アルゴリズムを含むルーティングの決定を理解できます。