Share via


【IIS7】 Active Server Pages のトレースをとりたいと思ったら

IIS7 には失敗した要求トレースという素晴らしい機能があります。もし ASP を延命させたい、打鍵をしてアプリをテストしていくのに何か記録を残せないのか、動かしている間に何かエラーログを残せないかと思うことになるでしょう。

そういう時は以下を参照するといいでしょう。

失敗した要求トレースを使用して Classic ASP エラーをトラブルシューティングする
https://technet.microsoft.com/ja-jp/library/ee155452.aspx

また、ちょうどこの階層のところに従来の ASP (本社では Classic ASP と呼んでいます。)に関する記事がいくつかあるので全部目を通しておくことをお勧めしておきます。

ひとつ前の投稿でアプリケーションプールの設定を変更する前にエラーが出てましたのでそれをもう一回出る環境にしましょう。ちなみに私のこの環境は Windows 7 だけれどもサーバー接続用の IIS マネージャーをインストールしてありますので Windows 7 でいきなり試した人は画面ショットが違うと思います。便利なので入れておくことを薦めますが、ちょっと Tips があって、これは拡張をしてくれるものなので、元々 IIS マネージャーをインストールしておく必要がありますので。

インターネット インフォメーション サービス (IIS) 7 マネージャー
https://www.microsoft.com/downloads/details.aspx?FamilyID=32c54c37-7530-4fc0-bd20-177a3e5330b7&displayLang=ja


1. 失敗した要求トレースを有効にする

IISマネージャーを開く。面倒な人は inetmgr とスタートの検索で入力して Enter キーで起動できます。

まずはサイトレベルで有効にする必要があるので Default Web Site を選択している状態で右の操作メニューから 構成 - 失敗した要求トレースをクリックします。

「有効にする」のチェックを入れます。これで機能自身はオンになります。

なお、ファイル数が多くなるとディスクを圧迫するので少なく既定値はしてありますが、リクエストが非常に多い状態では循環してしまい、欲しいエラーが記録に残らないかもしれないのでそこは適宜 数を設定してください。

2. トレースを取得する条件を設定する

これはアプリケーションレベルで設定できますので App1 とかを選びます。

失敗した要求トレースの規則 というアイコンを探して実行します。

右の操作メニューから 追加 を実行します。
ここでは既定の値のままいきましょう。

image

トレースするエラーは HTTP エラー 全部という意味の 200-999 と設定しておきましょうか。

最後に ASP のプロバイダーだけにしておくことにしましょう。

image

さてと。下記が出る状態でリクエストを何回かしましょう。

image

トレースはどこに書かれるかというと、以下のフォルダーです。

C:\inetpub\logs\FailedReqLogFiles

でもって、サイト単位でフォルダーがきられます。普通はそのままであれば W3SVC1 になります。

image

うーん Desciption 内が URL エンコードされてる。。。

ちょっと他の便利なサイトをお借りしてと。。。

https://www.tagindex.com/cgi-lib/encode/url.cgi

%83v%83%8D%83o%83C%83_%81[%82%AA%8C%A9%82%C2%82%A9%82%E8%82%DC%82%B9%82%F1%81B%90%B3%82%B5%82%AD%83C%83%93%83X%83g%81[%83%8B%82%B3%82%EA%82%C4%82%A2%82%C8%82%A2%89%C2%94\%90%AB%82%AA%82%A0%82%E8%82%DC%82%B7%81B

プロバイダーが見つかりません。正しくインストールされていない可能性があります。

だとわかります。

view trace のリンクをクリックすると IIS 内で行われたイベントが全部列挙されている Request Details のページ内でのエラー発生箇所に飛びます。


この失敗した要求トレース機能は 管理サービスが無いとダメかもしれません。入れておきましょう。で、Windows 7 だと開始しておく必要があるので サービス で状態を確認しておきましょう。

基本的にこの失敗した要求トレースは色々なことに使えます。たとえば、実行時間を単に成功リクエスト(200)で見るようなことでも使えます。便利ですよ!