本文へジャンプ

DWA 問題判別:リクエストログの取得と解析

問題 (Problem)

ロータスカスタマーサポートでは、Lotus iNotes または Lotus Domino Web Access (以下、DWA) の問題解析において、問題発生時のブラウザのリクエストを調査するために、サードパーティー製のツールを使用したリクエストログの取得を依頼することがあります。

この文書では、リクエストログの取得を Internet Explorer や Firefox で取得することができるツールの一例として、Fiddler での取得手順などについて説明します。

解決策 (Solution)


この文書は、2009 年 9 月現在の Version 2.2.4.2 での情報をベースに記載しています。

注:Fiddler は Eric Lawrence 氏によって開発されたフリーのソフトウェアであり、IBM の製品ではありません。したがって、Fiddler の使用方法の詳細や使用上の問題などについて、ロータスカスタマーサポートではご質問を承ることができないため、ご了承お願いいたします。

【1. Fiddler とは】
Fiddler はブラウザ上でプロキシサーバーのように動作して、HTTP / HTTPS (SSL) に関する問題の詳細な情報を取得します。
Fiddler は Web アプリケーションのデバッグに必要な多くの機能を持っていますが、ロータスカスタマーサポートでは多くの場合、ブラウザ側のリクエストログを取得するのに Fiddler2 を使用した情報収集を行います。Fiddler では通常の HTTP のリクエストログが取得できるだけでなく、SSL 通信によるログも取得可能で、Internet Explorer と FireFox をサポートします。


2. Fiddler の導入とインストール】
Fiddler2 は、Windows プラットフォームで .NET Framework 2.0 以上のランタイムが導入されている環境で動作することができます。
.NET Framework が導入されていない場合は、事前に導入してください。

Fiddler2 は以下のサイトより入手してください。
Fiddler2 - Installation Information

ダウンロードした後のインストールはウィザードにしたがって行うことができます。
導入後は、ブラウザのツールバーに Fiddler のアイコン のようなアイコンが表示されるようになります。


【3. Fiddler によるリクエストログ取得の手順】
1. はじめにクライアント上で起動している Internet Explorer を全て閉じてから、Internet Explorer を再起動し、iexplore.exe のインスタンスが 1 つだけ起動している状態にして下さい。

2. ツールバーにある Fiddler アイコン(Fiddler のアイコン)をクリックするか、スタートメニューから「Fiddler2」をクリックすると、Fiddler2 がプロキシサーバーとして起動し、Internet Explorer の Proxy 設定を以下のように変更します (アドレス:127.0.0.1、ポート:8888)。この設定は Fiddler を終了すると自動的に元の設定に戻ります。

図 1. Fiddler によって設定されるプロキシ情報
Fiddler で自動設定されるプロキシ情報

3. (オプション)特定のホストだけのリクエストを記録しておきたい場合は、右側のペインの「Filters」タブに移動して、以下のように設定してください。
Use Filters:チェックする
Hosts:プルダウンメニューから「Show only the following Hosts」を選択

図 2. Filter の設定
Filter の設定

この設定以降のリクエストログがフィルターされるため、以前のログを削除する場合には、この設定後にツールバーボタンから [Remove] - [All] を選択して不要なリクエストログを削除してください。

また、Response Type And Size で「Hide Image/*」を選択すると、リクエストログから画像ファイルを除くことができます。

4. この状態でブラウザキャッシュを削除し、再現テストを始めます。問題となる操作を行い、現象再現時までのログを取得します。

5. 操作が完了したら、ツールバーから「Save」アイコンを押すか、メニューから [File] - [Save] - [All Sessions] を選択し、Fiddler のログを保存します。

6. 取得した SAZ ファイルをカスタマーサポートまで送付して下さい。


【4. Fiddler による SSL 通信(SSL)の取得時の注意点】
Fiddler では SSL 通信のログを取得することができますが、デフォルトでは暗号化された通信の復号化は行われません。
SSL 通信のログを取得する必要がある場合には、取得前に Fiddler のメニューから [Tools] - [Fiddler Options] を選択し、HTTPS タブから以下の 2 つのオプションをチェックしてください (図 3 参照)。

- Decrypt HTTP traffice
- Ignore servercertificate errors

図 3. Fiddler Options
Fiddler Options

ここで「Ignore server certificate errors」がチェックされていないと、サーバー証明書で何らかのエラーが出力されたときに以下の図 4 のようなダイアログが出るため、このエラーが出た場合にはそのまま「Yes」を押して続行してください。

図 4. Fiddler の証明書エラー
Fiddler の証明書エラー


【5. Firefox でリクエストログを取得する場合】
Fiddler は Internet Explorer と同じように Fiddler 起動時に 127.0.0.1:8888 をプロキシに指定することによってリクエストログを取得することができますが、以下のアドオンを導入するとこれらの切り替えを自動で行うことができます。
FiddlerHook for Firefox (Firefox 用アドオン)

メニューから [ツール] - [Monitor with Fiddler] - [Use Fiddler automatically] をチェックしておくと、Fiddler が起動されると自動的に Proxy を設定し、終了時に元の設定に戻すことができるようになります。Fiddler 用のプロキシ設定が有効になると、Firefox のステータスバーに「Fiddler: ON (auto)」のように表示されます。


【6. Fiddler による SAZ ファイルの調査】
この章では Fiddler2 でお客様環境から取得したログを確認する場合の方法について説明します。
Fiddler ではリクエストログの詳細だけでなく、多くの HTTP に関する詳細情報が取得できますが、ここではリクエストログの確認方法について説明します。

1. Fiddler2 を起動したら、メニューから [File] - [Load Archive] を選択し、取得した *.SAZ ファイルを選択して読み込みます。

2. 左側のペインではセッションの一覧、右側のペインでは選択したセッションの情報を確認します。
長い URL などを扱うために画面の横幅が足りない場合には、メニューから [View] - [Stacked Layout] を選択してください。セッションの詳細情報が画面下部に表示されるようになります。

3. 選択したリクエストログを確認するにはセッションを選択し、右側のペインで [Inspectors] タブに移動してから「RAW」を選択します。
このとき、右上のペインは HTTP Request、右下のペインは HTTP Response の詳細情報が表示されます。

図 5. Fiddler で表示される HTTP リクエストの詳細情報
Fiddler で表示される HTTP リクエストの詳細情報

その他、以下のような機能を利用することもできます

・ POST リクエスト実行時に「WebForms」タブからテーブル上に見やすい形式で表示することができます。

・ セッションの一覧で表示されるアイコンで、応答が HTML だったかスクリプトファイルだったかなどを判別することができます。アイコンの詳細については以下のサイトを参照して下さい。  
The Fiddler User Interface

・ Headers タブにある情報から Cookie などを含む HTTP のリクエストヘッダー情報を確認することができます。特に複雑な Cookie 情報などはここで確認すると便利です。

・ サーバー側が「304 Not Modified」などを返したときには、応答情報の「Caching」タブで確認された HTTP Last-Modified ヘッダーの情報を表示します。

4. 「Statistics」タブではリクエストの所要時間などを確認することができます。

Statisticsタブの出力例(抜粋):
Request Count: 1
Bytes Sent: 4,586
Bytes Received: 726

ACTUAL PERFORMANCE
--------------
Requests started at: 17:27:23:8906
Responses completed at: 17:27:24:0312
Aggregate Session time: 00:00:00:1406
Sequence (clock) time: 00:00:00.1406250

RESPONSE CODES
--------------
HTTP/200: 1

RESPONSE BYTES (by Content-Type)
--------------
~headers: 140
text/html: 586


【7. GZIP されたコンテンツの確認】
DWA のサーバー側の応答は、GZIP 圧縮されていることが多いため、応答データの中身を直接確認できないことがあります。

このとき、Fiddler では応答データの上部に、以下のように「Response is encoded and may need to be decoded before inspection. Click here to transform」というメッセージが表示されます。一度この黄色い枠をクリックして GZIP されたデータを復号化してから調査を行うようにしてください。

図 6. GZIP圧縮されたコンテンツが表示されたときの表示
GZIP 圧縮されたコンテンツが表示されたときの表示

補足情報 (Supporting Information)

Lotus Domino ではサーバー側でリクエストログを取ることもできます。詳細については以下の文書をご参照下さい。
「Domino 6:HTTP リクエストログの仕様について」(Technote #725588)


掲載内容は2009年10月27日現在の情報です。内容は事前の予告なく変更することがあります。
IBM、IBM ロゴおよび ibm.com は、世界の多くの国で登録された International Business Machines Corporation の商標です。
他の製品名およびサービス名等は、それぞれ IBM または各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml (US) をご覧ください。


 
Lotus software

文書情報

プロダクト・ファミリー
Lotus Domino Web Access (iNotes)


プロダクト・カテゴリー
Messaging & Mail > Lotus Domino Web Access (iNotes) > Browser Issue


オペレーティングシステム
Windows


ソフトウェア・バージョン
Lotus Domino Web Access (iNotes) 8.x; Lotus Domino Web Access (iNotes) 8.5.x; Lotus Domino Web Access (iNotes) 8.0.x; Lotus Domino Web Access (iNotes) 7.x


文書番号
733214


最終更新日
2009年10月27 日