Azure クラウド サービスをデプロイしましたが、一部のインスタンスが正常に機能せず、リサイクルを続けています。異常なインスタンスのステータス列に「リサイクル中 (ロールにエラーが発生し、停止しました。サイトが展開されました。 )」と表示されます。
構成ペインから正常に機能しないロールの診断を有効にしましたが、インスタンスのログを見つける場所がわかりません。どこで見つけられるか教えてください。
ありがとう、
Azure クラウド サービスをデプロイしましたが、一部のインスタンスが正常に機能せず、リサイクルを続けています。異常なインスタンスのステータス列に「リサイクル中 (ロールにエラーが発生し、停止しました。サイトが展開されました。 )」と表示されます。
構成ペインから正常に機能しないロールの診断を有効にしましたが、インスタンスのログを見つける場所がわかりません。どこで見つけられるか教えてください。
ありがとう、
これは非常に一般的な問題であるため、ここで詳細な説明を提供したいと思います。したがって、すでに知っている可能性のあるもののいくつかを以下に示します。
インスタンスがリサイクルされる一般的なシナリオがいくつかあります。
1) IIS がアプリを起動できない依存 DLL がアプリにありません。
2) WorkerRole.cs または WebRole.cs に未処理の例外が含まれている
3) 起動スクリプトにエラーが含まれています
これを適切にデバッグするには、次のことを確認する必要があります。
1) ロールのプロパティで Azure Diagnostics が有効になっている (Visual Studio でチェックボックスを使用して実行できます)。診断データをホストするには、ストレージ アカウントが必要です。これは、ソリューションを公開するものにすることができます。
2) WebRole.cs および/または WorkerRole.cs ファイルに、適切な try/catch が含まれており、外部ストレージにログが記録されている。Azure Diagnostics は外部ストレージへのデータ転送をサポートしているため、Trace へのログ記録が最も簡単に思えます。
3) 適切なデータを実際に診断ストレージ アカウントに転送するように Azure Diagnostics を構成しました。最善の方法は、EventViewer、インフラストラクチャ、およびトレース ログを転送するために必要な構成を含むソリューションと共に、 diagnostics.wadcfgファイルを投入することです。
4) 最後に、Trace インフラストラクチャが実際に Trace 呼び出しをリッスンするように、アプリケーションの app.config で Trace ログの監視を構成する必要があります。
このリンクには、上記のすべての情報に関する詳細情報が含まれています。
最後に、これらすべてを実行した後、実際に診断ストレージ アカウントのデータを調べて、何が問題なのかを確認できます。役立つツールがあります。
1) RedGate/Cerebrata の Management Studio @ http://www.cerebrata.com/products/azure-management-studio/introduction (商用製品)
2) 任意のストレージ アカウントのコンテンツを探索するのに役立つ Visual Studio への組み込みツール。(必要な WAD テーブルとコンテナーを手動で探してクエリする必要がありますが、無料です)
3) AzureWatch @ http://www.paraleap.com (商用製品、アクティブな監視を目的としていますが、ほとんどのログをオンデマンドで検査できます。免責事項: 私はこの製品と提携しています)
お役に立てれば
Azure Explorer などを使用して、Blob Storage のコンテンツを探索してみてください。あなたが言ったように診断が有効になっている場合、Azure は という名前の Azure BLOB に構成を保持しますwad-control-container
。