2012-11-23 5 views
7

Windows Azureで作業者役割のトレースログを取得しようとしていますが、動作していないため、エラーが表示されません。私のワーカーの役割でAzure診断が機能しません

私はここで説明したように紺碧の診断を使用するには、自分のアプリケーション設定した

:私のServiceConfigurationで、

<system.diagnostics> 
    <trace> 
     <listeners> 
      <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.8.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
       name="AzureDiagnostics"> 
       <filter type="" /> 
      </add> 
     </listeners> 
    </trace> 
</system.diagnostics> 

その後:https://www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics/

まず、私は私のWorkerロールのapp.configをでこれを持っています私が持っている私のServiceDefinition.csdefで

<ConfigurationSettings> 
    <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="DefaultEndpointsProtocol=https;AccountName=XXXXXXX;AccountKey=XXXXXXXXX" /> 
    ... 

:.Cloud.cscfg私は、この接続文字列を持っている

私のrun()メソッドで

var config = DiagnosticMonitor.GetDefaultInitialConfiguration(); 
     config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(1.0); 
     config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information; 

     DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); 

その後、私は(いくつかのTrace.WriteLineを行う):

<Import moduleName="Diagnostics" /> 

、最終的に私が持っているWorkerRole.csののOnStart()メソッドで。

これはストレージにWADLogsTableを作成するはずですが、そうではありません。

リモートデスクトップ経由でインスタンスに接続すると、イベントビューアにエラーは表示されません.WebHostBootstrapperログが表示され、DiagnosticsAgent.exeプロセスが2回起動されています取得したときに、ステータス1つのプロセスが応答し、他にはない、これは、ログの一部です:

[00002868:00002872, 2012/11/23, 21:26:30.367, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:30.383, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:30.414, 00040000] Executing Startup Task type=2 rolemodule=Diagnostics cmd="E:\plugins\Diagnostics\DiagnosticsAgent.exe" 
[00002868:00002872, 2012/11/23, 21:26:30.414, 00040000] Executing "E:\plugins\Diagnostics\DiagnosticsAgent.exe" . 
[00002868:00002872, 2012/11/23, 21:26:30.414, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:30.446, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:30.477, 00040000] Executing Startup Task type=0 rolemodule=Diagnostics cmd="E:\plugins\Diagnostics\DiagnosticsAgent.exe" /blockStartup 
[00002868:00002872, 2012/11/23, 21:26:30.477, 00040000] Executing "E:\plugins\Diagnostics\DiagnosticsAgent.exe" /blockStartup. 
[00002868:00002984, 2012/11/23, 21:26:30.821, 00040000] Registering client with PID 2964. 
[00002868:00002984, 2012/11/23, 21:26:30.821, 00040000] Client DiagnosticsAgent.exe (2964) registered. 
[00002868:00002984, 2012/11/23, 21:26:30.821, 00040000] Registering client with PID 2940. 
[00002868:00002984, 2012/11/23, 21:26:30.821, 00040000] Client DiagnosticsAgent.exe (2940) registered. 
[00002868:00002872, 2012/11/23, 21:26:45.961, 00040000] Program "E:\plugins\Diagnostics\DiagnosticsAgent.exe" /blockStartup exited with 0. Working Directory = E:\plugins\Diagnostics 
[00002868:00002872, 2012/11/23, 21:26:45.961, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:45.992, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:46.008, 00040000] Executing Startup Task type=2 rolemodule=RemoteAccess cmd="E:\plugins\RemoteAccess\RemoteAccessAgent.exe" 
[00002868:00002872, 2012/11/23, 21:26:46.008, 00040000] Executing "E:\plugins\RemoteAccess\RemoteAccessAgent.exe" . 
[00002868:00002872, 2012/11/23, 21:26:46.008, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:46.055, 00100000] <- WapGetEnvironmentVariable=0x800700cb 
[00002868:00002872, 2012/11/23, 21:26:46.071, 00040000] Executing Startup Task type=0 rolemodule=RemoteAccess cmd="E:\plugins\RemoteAccess\RemoteAccessAgent.exe" /blockStartup 
[00002868:00002872, 2012/11/23, 21:26:46.117, 00040000] Executing "E:\plugins\RemoteAccess\RemoteAccessAgent.exe" /blockStartup. 
[00002868:00002984, 2012/11/23, 21:26:46.399, 00040000] Registering client with PID 936. 
[00002868:00002984, 2012/11/23, 21:26:46.399, 00040000] Client RemoteAccessAgent.exe (936) registered. 
[00002868:00002936, 2012/11/23, 21:26:46.430, 00040000] Registering client with PID 2432. 
[00002868:00002936, 2012/11/23, 21:26:46.430, 00040000] Client RemoteAccessAgent.exe (2432) registered. 
[00002868:00002872, 2012/11/23, 21:26:47.586, 00040000] Program "E:\plugins\RemoteAccess\RemoteAccessAgent.exe" /blockStartup exited with 0. Working Directory = E:\plugins\RemoteAccess 
[00002868:00002872, 2012/11/23, 21:26:47.586, 00100000] <- GetDebugger=0x1 
[00002868:00002872, 2012/11/23, 21:26:47.602, 00100000] <- GetRoleHostDebugger=0x1 
[00002868:00002872, 2012/11/23, 21:26:47.633, 00100000] <- WapXmlReadContainerId=0x1 
[00002868:00002872, 2012/11/23, 21:26:47.649, 00100000] <- WapGetVirtualAccountName=0x1 
[00002868:00002872, 2012/11/23, 21:26:47.664, 00040000] Executing base\x64\WaWorkerHost.exe . 
[00002868:00002872, 2012/11/23, 21:26:47.664, 00040000] Role host process PID: 2560. 
[00002868:00002936, 2012/11/23, 21:26:47.742, 00040000] Registering client with PID 2560. 
[00002868:00002936, 2012/11/23, 21:26:47.742, 00040000] Client WaWorkerHost.exe (2560) registered. 
[00002868:00002936, 2012/11/23, 21:26:47.742, 00040000] Client process 2560 is the role host. 
[00002868:00002936, 2012/11/23, 21:26:47.742, 00040000] Role host process registered. 
[00002868:00002892, 2012/11/23, 21:26:47.899, 00040000] Getting status from client DiagnosticsAgent.exe (2964). 
[00002868:00002892, 2012/11/23, 21:26:47.899, 00100000] Failed to connect to client DiagnosticsAgent.exe (2964). 
[00002868:00002892, 2012/11/23, 21:26:47.914, 00100000] <- CRuntimeClient::OnRoleStatusCallback(0x00000000007EE660) =0x800706ba 
[00002868:00002892, 2012/11/23, 21:26:47.961, 00040000] Getting status from client DiagnosticsAgent.exe (2940). 
[00002868:00002892, 2012/11/23, 21:26:47.961, 00040000] Client reported status 0. 

は何も悪いことはありますか?これらの診断情報を私の紺碧のストレージに投稿するにはどうすればよいですか?

+0

ローカルdevstoreに対して最初に実行しようとしましたか? – Guy

+0

はい、ローカルで動作します – Escobar5

答えて

11

最初に誤ってwebrole-oopsを実行していたと編集されました。

ワーカーの役割では、ロギング設定を記述したblobを削除してから再デプロイしてみてください。診断のために使用しているストレージアカウントのwad-control-container blobディレクトリの下にあるblobを見つけることができます。

以下は私の元の返信ですが、webroleを実行している場合にのみ適用されます。

webrole.csコードがWebアプリケーションとは別のAppDomainで実行されている可能性があります(もしあなたが完全なIIS)。 Azure DiagnosticMonitorTraceListenerがweb.configで設定されていても、webrole.csコードを実行しているAppDomainには影響しません。したがって、Azure診断トレースリスナーはRunメソッドに登録されておらず、トレースはどこにもありません。

私は二つのこと試してみた: を - Azureの診断のOnStart(Trace.Listeners.Add(新DiagnosticMonitorTraceListener()内のコードで明示的にリスナーをトレース追加) - Webアプリケーションからいくつかのログを書く。これは、する可能性があります。

+0

ブロブを削除しました。ありがとう – Escobar5

+0

+1元の回答については、 webrole.csが「ワーカーロール」として実行されていて、トレースが機能しませんでした。説明したようにトレースリスナを追加すると、問題が解決しました。 –

+0

+1ありがとうございます。私の場合、私は自分自身が同じ問題を抱えていると信じていました。しかし、私はAzure DiagnosticsがテーブルにWADLogsTableをアップロードすることを認識していませんでした。ブロブを探していて何も見つけていませんでした –

関連する問題