ワーカー ロールをローカルで実行すると、Windows Azure コンピューティング エミュレーター アプリケーションを開いて、ワーカー プロセスの標準出力とエラーを確認できます。
自分の Azure インスタンスにリモート デスクトップ接続するとき、同じ情報をどこから取得すればよいかわかりません。標準出力とエラーはどこにありますか?
ワーカー ロールをローカルで実行すると、Windows Azure コンピューティング エミュレーター アプリケーションを開いて、ワーカー プロセスの標準出力とエラーを確認できます。
自分の Azure インスタンスにリモート デスクトップ接続するとき、同じ情報をどこから取得すればよいかわかりません。標準出力とエラーはどこにありますか?
実際の展開でワーカー プロセスの標準出力とエラーを表示する場合は、追加の構成を行う必要があります。このデータは永続ストレージに保存する必要があります。
最初のステップは、 の構成ウィンドウで診断を有効にすることWorkerRole
です。ここでは、ストレージ アカウントを指定する必要があります。
OnStart()
次のステップは、.のメソッドにコードを追加することWorkerRole
です。ここでは、標準出力とエラーを構成できるだけでなく、次のコード例で提供されているように、Windows イベントと診断情報をリッスンすることもできます。
public override bool OnStart()
{
DiagnosticMonitorConfiguration diagConfig =
DiagnosticMonitor.GetDefaultInitialConfiguration();
// Windows event logs
diagConfig.WindowsEventLog.DataSources.Add("System!*");
diagConfig.WindowsEventLog.DataSources.Add("Application!*");
diagConfig.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Error;
diagConfig.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);
// Azure application logs
diagConfig.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
diagConfig.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(5);
// Performance counters
diagConfig.PerformanceCounters.DataSources.Add(
new PerformanceCounterConfiguration()
{
SampleRate = TimeSpan.FromSeconds(5),
CounterSpecifier = @"\Processor(*)\% Processor Time"
});
diagConfig.PerformanceCounters.ScheduledTransferPeriod =
TimeSpan.FromMinutes(5);
DiagnosticMonitor.Start(
"Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", diagConfig);
return base.OnStart();
}
これらの設定の後、構成された Azure テーブル ストレージに診断データが表示されるようになります。ここでは、データを視覚化するツールを簡単に作成できますが、このための機能が組み込まれた商用ツールもいくつかあります。たとえば、 Cerebrata Diagnostics Manager。
何らかの理由でログ ファイルの保存に Azure Storage を使用したくない場合は、他の場所にログを書き込むカスタム トレース リスナーを実装できます。ここでは、その方法について説明します。http ポートを開いて、自分のサーバーに転送するだけです。
トレース メッセージは Windows Azure のどこにも保存されません。代わりに、Azure Diagnostics を適切に構成すると、これらのメッセージは Windows Azure テーブル ストレージ (WADLogsTable テーブル) に送信され、そこから取得できます。
Azure Diagnostics for Traces を有効にする方法を知りたい場合は、以下のリンクにアクセスして、 Windows Azure Diagnostics のデモンストレーションコード サンプルを探してください。
http://msdn.microsoft.com/en-us/library/windowsazure/hh411529.aspx
Azure Diagnostics の詳細については、こちらをご覧ください。