サービスとしての Windows Azure プラットフォーム (PaaS) コンピューティング診断データ
問題のトラブルシューティングを行う必要がある場合、理解すべき最も重要なことの 1 つは、使用可能な診断データです。 ログやその他の診断情報を検索する場所がわからない場合は、トラブルシューティングの試用版またはショットガンのアプローチに頼る必要があります。 ログにアクセスできる場合は、専門分野に含まれていない場合でも、問題を診断する可能性が高くなります。
この記事では、Azure サービスとしてのプラットフォーム (PaaS) コンピューティング環境で使用できるデータについて説明します。 Windows PaaS 仮想マシン (VM) からこのデータを簡単に収集する方法について説明します。
次のセクションでは、Windows PaaS VM の問題をトラブルシューティングするときに最もよく使用されるデータ ソースについて説明します。 セクションは、大まかに重要度 (ログを使用して問題を診断する頻度) で並べ替えられます。
Windows Azure イベント ログ
Windows Azure イベント ログには、Azure ランタイムからの主要な診断出力が含まれています。 ログには、次のようなイベントに関する情報が記録されます。
- ロールの開始と停止
- スタートアップ タスク
OnStart
開始と停止OnRun
始める- クラッシュ
- リサイクル
Windows Azure イベント ログを表示するには:
Start メニューで、イベント ビューアーを検索し、そのアプリを選択します。
ナビゲーション ウィンドウで、[アプリケーションとサービス ログ]<
を展開し、Windows Azure を選択します。
この診断ソースは、Azure ロールが正しく開始されないようにするいくつかの最も一般的な問題の原因を特定するのに役立ちます。 これには、スタートアップ タスクの失敗や、 OnStart
または OnRun
でのクラッシュが含まれます。 イベント ビューアーは、ロール エントリ ポイント コード (WebRole.csやWorkerRole.csなど) を実行する Azure ランタイム ホスト プロセスのクラッシュをキャプチャし、呼び出し履歴を提供します。
アプリケーション イベント ログ
アプリケーション イベント ログを使用して、Azure サーバーとオンプレミス サーバーの両方で標準的なトラブルシューティングを行うことができます。 これらのログには、 w3wp.exe関連のエラーが多く見つかる場合があります。
アプリケーション イベント ログを表示するには:
Start メニューで、イベント ビューアーを検索し、そのアプリを選択します。
ナビゲーション ウィンドウで、 Windows ログを展開し、 Applicationを選択します。
アプリ エージェントのランタイム ログ
アプリ エージェントのランタイム ログは、 C:\Logs\AppAgentRuntime.log にあり、 WindowsAzureGuestAgent.exe 実行可能ファイルによって書き込まれます。 ログには、ゲスト エージェントと VM 内で発生するイベントに関する情報が含まれています。 このイベント情報には、次のカテゴリが含まれますが、これらに限定されません。
- ファイアウォールの構成
- ロールの状態の変更
- リサイクル
- 再起動
- 正常性状態の変更
- ロールの停止と開始
- 証明書の構成
このログは、ロールに対して時間の経過と同時に発生するイベントの概要を簡単に把握するのに役立ちます。 これは、ハートビートをログに記録せずにロールに対する大きな変更を記録するためです。 ゲスト エージェントがロールを正しく開始できない場合 (たとえば、ロックされたファイルでディレクトリのクリーンアップが妨げられる場合)、このログに記録されたイベントが表示されます。
アプリ エージェントのハートビート ログ
アプリ エージェントのハートビート ログは C:\Logs\WaAppAgent.log にあり、 WindowsAzureGuestAgent.exe 実行可能ファイルによって書き込まれます。 ホスト ブートストラップへの正常性プローブに関する状態情報が含まれています。
ゲスト エージェント プロセスは、正常性状態 ( Ready
や Busy
など) をファブリックに報告する役割を担います。 そのため、このログが報告する正常性状態は、管理ポータルに表示される状態と同じです。 このログは、VM 内のロールの現在の状態を判断したり、以前の状態を特定したりするのに役立ちます。 "My Website was down from 10:00 AM to 11:30 AM yesterday" などの問題の説明を提供して、ハートビート ログを使用して、その間のロールの正常性状態を判断できます。
ブートストラップ ログをホストする
ホスト ブートストラップ ログは、 C:\Resources\WaHostBootstrapper.log にあります。 これには、キャッシュやリモート デスクトップ プロトコル (RDP) などのプラグインを含む、スタートアップ タスクのエントリが含まれます。 ログには、ロール エントリ ポイント コード (WaIISHost.exeで実行されるWebRole.cs コード) を実行するホスト プロセスの正常性プローブも含まれます。
ホスト ブートストラップが再起動されるたびにログ ファイルが生成されます。 (つまり、クラッシュ、リサイクル、VM の再起動、アップグレードなどのイベントにより、ロールがリサイクルされるたびに再起動されます)。この方法により、ログを簡単に使用して、ロールがリサイクルされた頻度またはタイミングを判断できます。
ログのインターネット インフォメーション サービス
インターネット インフォメーション サービス (IIS) ログは、C:\Resources\Directory\<DeploymentID>.< にあります。RoleName>。DiagnosticStore\LogFiles\Web。 これらのログは、Azure サーバーとオンプレミス サーバーの両方で標準的なトラブルシューティングに使用されます。
IIS ログは、"My Website was down from 10:00 AM to 11:30 AM 昨日" などのシナリオで見落とされることが多いです。Azure の停止を非難するのは当然です。 ("私のサイトは 2 週間正常に動作していたので、問題は Azure である必要があります!")ただし、IIS ログは多くの場合、それ以外の場合を示します。 停止の直前に応答時間の増加が発生している場合があります。 または、成功していない状態コードが IIS によって返された場合があります。 これらのコードは、Web サイト自体 (つまり、 w3wp.exeで実行される ASP.NET コード) 内で発生した問題を示し、Azure では発生しません。
パフォーマンス カウンター
パフォーマンス カウンターを表示するには、Start メニューを選択し、perfmon で検索し、パフォーマンス モニターを選択します。 このアプリは、Microsoft 管理コンソール (MMC) へのスナップインです。 または、Windows Azure Diagnostics 拡張機能 (WAD) をインストールして構成。
パフォーマンス カウンターは、Azure サーバーとオンプレミス サーバーの両方で標準的なトラブルシューティングに使用されます。 WAD を事前に設定した場合、多くの場合、過去に発生した問題のトラブルシューティングに役立つ貴重なパフォーマンス カウンターがあります (たとえば、Web サイトが昨日の午前 10:00 から午前 11:30 にダウンしています)。。
特定のパフォーマンス カウンターを収集する問題とは別に、WAD によって収集されるパフォーマンス カウンターの最も一般的な用途は、指定された順序で次の項目を検索することです。
通常のパフォーマンス カウンター エントリ
エントリのない期間
次の表のいずれかの状態。
State 説明 通常のエントリの再開 VM が実行されていない可能性があるシナリオ 100% の CPU 使用率 Web サイトのコード自体の無限ループまたはその他のロジックの問題
ログのHTTP.SYS
HTTP.SYS ログは、 D:\Windows\System32\LogFiles\HTTPERR にあります。 これらのログは、Azure サーバーとオンプレミス サーバーの両方で標準的なトラブルシューティングに使用されます。
IIS ログにも当てはまりますがHTTP.SYSログは見落とされることが多いです。 ただし、ホストされているサービス Web サイトが応答しない問題のトラブルシューティングを行うときは重要です。 多くの場合、この問題は、IIS が入ってくる要求の量を処理できないことが原因で発生します。 この原因の証拠は、通常、HTTP.SYS ログに表示されます。
IIS の失敗した要求ログ ファイル
"IIS failed request" ログ ファイルは、 C:\Resources\Directory\<DeploymentID>.< にありますRoleName>。DiagnosticStore\FailedReqLogFiles。 これらのログは、Azure サーバーとオンプレミス サーバーの両方で標準的なトラブルシューティングに使用されます。
既定では、これらのログ ファイルは Windows Azure では有効になっていません。 ほとんど使用されない。 ただし、IIS または ASP.NET に固有の問題をトラブルシューティングする場合は、FREB (失敗した要求イベント バッファリング) トレースを有効にすることを検討する必要があります。 FREB トレースは、これらの問題の詳細を提供できます。
Windows Azure 診断テーブルと構成
Windows Azure Diagnostics 拡張機能 (WAD) のテーブルと構成は、 C:\Resources\Directory\<DeploymentID>.< にあります。RoleName>。DiagnosticStore\Monitor。 これらの項目は、WAD データのローカルの VM 上キャッシュを表します。
WAD は次の手順を実行します。
構成したデータをキャプチャします。
VM 上のカスタム .tsf ファイルにデータを格納します。
指定したスケジュールされた転送期間に基づいて、データをストレージに転送します。
残念ながら、データはカスタムの .tsf 形式であるため、WAD データの内容は限定的に使用されます。 ただし、WAD が正しく動作しない場合の問題のトラブルシューティングに役立つ診断構成ファイルが含まれています。 Configuration フォルダーで、config.xmlという名前のファイルを探します。 このファイルには、WAD の構成データが含まれています。 WAD が正しく動作しない場合は、このファイルが WAD の構成方法を反映していることを確認してください。
Windows Azure キャッシュ ログ ファイル
Windows Azure キャッシュ ログ ファイルは、 C:\Resources\Directory\<DeploymentID>.< にあります。RoleName>。DiagnosticStore\AzureCaching。 これらのログには、Windows Azure のロールベースのキャッシュに関する詳細情報が含まれています。 ログは、キャッシュが期待どおりに動作しない問題のトラブルシューティングに役立ちます。
WaIISHost ログ
WaIISHost ログは、 C:\Resources\Directory\<DeploymentID>.< にあります。RoleName>。DiagnosticStore\WaIISHost.log。 WaIISHost.exe プロセスからの情報が含まれています。 このプロセスでは、WebRoles のロール エントリ ポイント コード (WebRole.cs) が実行されます。 この情報のほとんどは、この記事で説明する他のログ ( Windows Azure イベント ログなど) にも含まれています。 ただし、ここでさらに役立つ情報が見つかる場合があります。
IISConfigurator ログ
IISConfigurator ログは、 C:\Resources\Directory\<DeploymentID>.< にあります。RoleName>。DiagnosticStore\IISConfigurator.log。 IISConfigurator プロセスに関する情報が含まれています。 このプロセスは、サービス定義ファイルで定義したモデルに基づいて、Web サイトの実際の IIS 構成を行うために使用されます。 このプロセスが失敗したり、エラーが発生したりすることはほとんどありません。 ただし、IIS または w3wp.exe がサービスに対して正しく設定されていないように見える場合は、このログを確認する必要があります。
ロール構成ファイル
ロール構成ファイルは、 C:\Config\<DeploymentID>.< にあります。RoleName>.<バージョン>.xml。 これには、次の項目など、ロールの構成に関する情報が含まれています。
ServiceConfiguration.cscfg ファイルで定義されている設定
ローカル リソース ディレクトリ
動的 IP (DIP) と仮想 IP (VIP) の IP アドレスとポート
証明書の拇印
ロード バランサーのプローブ
その他のインスタンス
ロール構成ファイルは、ランタイムによって生成される情報が含まれていないという点でロールモデル定義ファイルに似ています。 ただし、サービスが期待どおりに構成されていることを確認すると便利です。
ロール モデル定義ファイル
ロール モデル定義ファイルは、 E:\RoleModel.xml または F:\RoleModel.xml にあります。 これには、Azure ランタイムに従ったサービスの定義方法に関する情報が含まれています。
このファイルには、各スタートアップ タスクのエントリと、タスクの実行方法に関する情報 (次の特性を含む) が含まれています。
- 背景
- 環境変数
- Location
また、web ロールに対して <sites> 要素がどのように定義されているかを確認することもできます。
ロール モデル定義ファイルにはランタイムによって生成される情報は含まれませんが、Azure が期待どおりにサービスを実行していることを確認するのに役立ちます。 この検証は、開発用コンピューターに特定のバージョンのサービス定義があるが、ビルド サーバーとパッケージ サーバーが別のバージョンのサービス定義ファイルを使用している場合によく役立ちます。
ETL ファイルについて
C:\Logs フォルダーには、RuntimeEvents_<Iteration>.etl および WaAppAgent_<Iteration>.etl ファイルが含まれています。 これらのイベント トレース ログ (ETL) ファイルは、Windows Azure イベント ログ、エージェント ログ、およびその他のログに含まれる情報のコンパイルを含む Event Tracing for Windows (ETW) トレースです。 ファイルは、Azure VM で最も重要なログ データを簡単にコンパイルできます。 ファイルは ETL 形式であるため、情報を使用するには追加の手順を実行する必要があります。 お気に入りの ETW 表示ツールがある場合は、前述のログ ファイルの多くを無視できます。 代わりに、これら 2 つの ETL ファイル内の情報を確認できます。
次のステップ
詳細
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。