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