エクスポート (0) 印刷
すべて展開

Windows Azure での診断およびデバッグ

執筆者: Trace Young

Windows Azure ホストおよび Windows Azure アプリケーションのデバッグと診断は、通常、診断データを収集してからその収集したデータを分析することで実行します。このトピックでは、Windows Azure ホスト インスタンスと Windows Azure アプリケーションの診断情報およびデバッグ情報の収集と分析について説明します。

診断データとデバッグ データの収集

Windows Azure アプリケーションまたはホストに対して実行されるデバッグ タスクと診断タスクの大半は、Windows Azure 診断によって収集される診断データによって異なります。したがって、Windows Azure アプリケーションのデバッグおよび診断のほとんどは、リアルタイムでは行われません。ただし、Windows Azure アプリケーションを Windows Azure コンピューティング エミュレーターで実行している場合にローカルで実行できるデバッグは例外です。

Windows Azure 診断では、さまざまなデータ ソースからの診断データがログに記録されます。特定のデータ ソースは、Windows Azure 診断モニターが初期化されるときに既定でログに記録されます。Windows Azure 診断は、他のデータ ソースからのデータをログに記録するように構成することもできます。Windows Azure 診断モニターを初期化し、診断データをストレージに転送するように診断モニターを構成する方法の詳細については、「Windows Azure 診断モニターの初期化方法」を参照してください。

Windows Azure 診断の既定のデータ ソース

Windows Azure 診断では、次のソースからのデータが既定でログに記録されます。

  • Windows Azure ログ – Windows Azure アプリケーションで適切なトレース リスナーが構成されており、Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener がアプリケーションの app.config ファイルまたは web.config ファイルにリスナーとして追加されている場合は、Windows Azure ログにはトレース イベントからのアプリケーション固有の診断情報が含まれます。

  • IIS 7.0 ログ – IIS プロセスによって処理される IIS 要求を記録します。

    note
    ワーカー ロールでは IIS が構成されていないので、IIS 7.0 ログはワーカー ロールでは使用できません。

  • Windows Azure 診断インフラストラクチャ ログ – Windows Azure アプリケーション配置エラーなどの Windows Azure に固有の診断データを提供します。

Windows Azure 診断の既定以外のデータ ソース

Windows Azure 診断は、次のデータ ソースからのデータをログに記録するように構成できますが、これらのデータは既定では記録されません。

  • IIS 7.0 の失敗した要求ログ – IIS 7.0 の失敗した要求ログからデータを収集するには、Web ロールの構成ファイルで Tracing 要素を定義する必要があります。IIS 7.0 の失敗した要求ログを収集するように Windows Azure 診断を構成する方法の詳細については、「IIS 7.0 の失敗した要求トレース ログからデータを収集する方法」を参照してください。

  • Windows イベント ログ – Windows Azure 診断で Windows イベント ログを収集すると、既定の Windows イベント ログ エントリをキャプチャできるだけでなく、Windows Azure アプリケーションで Windows イベント ログに書き込まれたアプリケーションのトレース情報を表示することもできるので便利です。Windows Azure 診断を使用して Windows イベント ログ データをログに記録する方法の詳細については、「Windows Azure でのイベント ログの収集」を参照してください。

  • パフォーマンス カウンター – パフォーマンス カウンターのデータ (カスタム パフォーマンス カウンターのデータを含む) をログに記録するように Windows Azure 診断を構成できます。パフォーマンス カウンターのデータを収集するように Windows Azure 診断を構成する方法の詳細については、「パフォーマンス カウンターからデータを収集する方法」を参照してください。パフォーマンス カウンターを含めるように Windows Azure アプリケーション コードをインストルメント化する方法の詳細については、「パフォーマンス カウンターを含めるための Azure アプリケーションのインストルメント化」を参照してください。

  • クラッシュ ダンプ – クラッシュ ダンプには、何らかの理由でエラーが発生したかクラッシュしたアプリケーションまたはロール インスタンスの物理メモリのコピーが含まれます。ロール インスタンスの物理メモリをキャプチャするように Windows Azure 診断を構成し、ADPlus を使用して Windows Azure アプリケーションのクラッシュ ダンプをキャプチャすることができます。

    ロール インスタンスのクラッシュ ダンプをキャプチャするように Windows Azure 診断を構成する方法の詳細については、「クラッシュ ダンプからのデータの収集方法」を参照してください。

    ADPlus を使用して Windows Azure アプリケーションのクラッシュ ダンプをキャプチャする方法の詳細については、「ADPlus を使用した Windows Azure の高度なデバッグ」を参照してください。

    クラッシュ ダンプは、Windows Azure ストレージからデバッグ ツールがインストールされているローカル コンピューターにコピーできます。デバッグおよび分析のために、Windbg などのデバッグ ツールをクラッシュ ダンプにアタッチできます。デバッグ ツールの詳細については、「Windows 用デバッグ ツールのダウンロードとインストール」を参照してください。

  • カスタム エラー ログ - カスタム エラー ログは、指定したフォルダーからファイルをキャプチャします。指定するフォルダーは、配置のローカル ストレージとして構成されている必要があります。カスタム エラー ログは BLOB ストレージにアップロードされますが、カスタム エラーをログに記録するときにコンテナー名を指定する必要があります。Windows Azure 診断でカスタム エラー ログを実装する方法の詳細については、ブログ投稿「Windows Azure のカスタム診断」を参照してください。

診断データが Windows Azure ストレージに転送されることの確認

Windows Azure 診断では、ログ データがローカル ストレージ リソースにバッファーされ、ローカル ストレージ リソースから Windows Azure ストレージにデータが定期的に転送されます。ログ データがローカル ストレージから Windows Azure ストレージに転送される頻度は、DiagnosticDataBufferConfiguration.ScheduledTransferPeriod プロパティで定義します。このプロパティで設定できる最短間隔は 60 秒です。ログ データがローカル ストレージから Windows Azure ストレージに転送されることを確認するには、特にロール インスタンスまたは Windows Azure アプリケーションが不安定であると思われる場合は、DiagnosticDataBufferConfiguration.ScheduledTransferPeriod プロパティで長すぎる間隔を指定しないでください。Windows Azure ストレージで診断データを格納および表示する方法の詳細については、「方法: Windows Azure ストレージで診断データを格納および表示する」を参照してください。ローカル ストレージの構成の詳細については、「ローカル ストレージ リソースの構成方法」を参照してください。

Windows Azure 診断に関するリソース

次のリソースでは、Windows Azure 診断の使用について説明しています。

  • Windows Azure 診断を使用したログ データの収集 - Windows Azure 診断を使用してログ データを収集するときの注意点について説明するいくつかのトピックへのリンクを示します。

  • Windows Azure 診断の概要 - 次のような Windows Azure 診断の概要を示します。

    • Windows Azure 診断の使用に関する重要な注意点

    • Windows Azure 診断を設定する方法

    • Windows Azure アプリケーションのフローのトレース

    • Windows Azure アプリケーションでのパフォーマンス カウンターの作成および使用

    • Windows Azure ストレージでの診断データの格納および表示

    • Windows Azure 診断の構成の管理

  • 方法: Windows Azure ストレージで診断データを格納および表示する - Windows Azure ストレージまたは Windows Azure ストレージ エミュレーターで診断データを格納および表示する方法について説明します。

  • 診断モニターの操作 - 以下について説明するコード サンプルのチュートリアルです。

    • 診断モニターを起動する方法

    • 診断モニターのデータ ソースを指定する方法

    • 1 つまたは複数のロール インスタンスの診断構成を実行時に変更する方法

    • Azure Management Portal を使用してロールの診断構成をリモートで変更する方法

  • Windows Azure 診断で問題を調査する一般的な手順 – Windows Azure 診断が期待どおりに動作しない場合に実行する手順について説明します。

  • MSDN の Windows Azure フォーラムに投稿された診断関連の質問のクエリを実行する – 次の URL に埋め込まれている 2 番目のパラメーター (diagnostics) を変更すると、返される結果が変わります。

    http://social.msdn.microsoft.com/Search/en-US/windowsazuresamples?query=%22Marked%20As%20Answer%22%20%22diagnostics%22&refinement=138&beta=0&ac=8

    MSDN フォーラムでは、公式のドキュメント、ブログ投稿、またはその他のソースでまだ公開されていない最新情報が得られることがよくあります。

    note
    このクエリによって返される投稿の日付をチェックして、その内容が使用している SDK のバージョンに関連していることを確認してください。

診断データとデバッグ データの読み取り

キャプチャした診断データは、読み取って分析することができないと明らかに役立ちません。Windows Azure 診断データを読み取るためのツールがいくつか用意されています。また、Windows Azure 診断データを読み取って分析することができるその他の汎用ツールも使用できます。ここでは、これらのツールについて説明します。

Windows Azure Platform ツール」Web ページの「配置とストレージ」に一覧表示されている次のツールは、Windows Azure アプリケーションの配置とストレージのために特別に設計されています。

  • Windows Azure Platform Management Tool (MMC) - Windows Azure ホステッド サービスおよびストレージ アカウントを管理することができます。このツールには、分析対象のログ データを Microsoft Excel にエクスポートすることができる診断モジュールが含まれています。

  • Azure ストレージ エクスプローラー - クラウド ホスト型のアプリケーションのログなど、Windows Azure ストレージ プロジェクトのデータを調べて変更するための GUI ツールです。

  • DotNetNuke Azure Accelerator - ウィザードの指示に従って、オンプレミスからクラウドに新しい DotNetNuke ホスト インスタンスを作成することができます。

  • DeployToAzure - PowerShell または Azure 管理コマンドレットを使用せずに、Windows Azure プロジェクトの配置を自動化して TFS 2010 ビルド プロセスに含めることができます。

上記のツールに加え、次のツールが Windows Azure 診断データを読み取って分析する場合に便利です。

  • Windows Azure PowerShell コマンドレット - Windows Azure コンピューティング サービスおよびストレージ サービスの参照、構成、管理を PowerShell から直接行うことができます。診断で使用するコマンドレットには、Get-DiagnosticAwareRolesGet-DiagnosticAwareRoleInstancesGet-DiagnosticConfiguration があります。

  • Microsoft PowerPivot – ログに記録された Windows Azure 診断データの分析を行うために使用できる強力なツールです。

Windows Azure アプリケーションのデバッグに関するリソース

次のリソースでは、Windows Azure アプリケーションのデバッグについて説明しています。

  1. Windows Azure アプリケーションのデバッグとトラブルシューティング - Windows Azure アプリケーションを構築、配置、実行する際の問題を検出して解決するための Windows Azure テクノロジ プラットフォームのアプリケーション固有の方法について説明します。

  2. Windows Azure のデバッグ – VM のリソース - Windows Azure アプリケーションをデバッグする際に役立つ、VM にあるリソースについて説明します。

  3. Windows Azure のデバッグ – VM へのツールの配置、パート 1 - Windows Azure VM にデバッグ ツールをコピーするためのさまざまな方法について説明します。

  4. Visual Studio を使用したデバッグ - Windows Azure コンピューティング エミュレーターで実行している Windows Azure アプリケーションをデバッグするために使用できる方法について説明します。

  5. MSDN の Windows Azure フォーラムに投稿されたデバッグ関連の質問のクエリを実行する – 次の URL に埋め込まれている 2 番目のパラメーター (debug) を変更すると、返される結果が変わります。

    http://social.msdn.microsoft.com/Search/en-US/windowsazuresamples?query=%22Marked%20As%20Answer%22%20%22debug%22&refinement=138&beta=0&ac=8

    MSDN フォーラムでは、公式のドキュメント、ブログ投稿、またはその他のソースでまだ公開されていない最新情報が得られることがよくあります。

    note
    このクエリによって返される投稿の日付をチェックして、その内容が使用している SDK のバージョンに関連していることを確認してください。


ビルド日:

2013-10-23

コミュニティの追加

追加
表示:
© 2014 Microsoft