Azure Diagnostics not working in my working role

I am trying to get trace logs for my working role in windows azure, but it does not work and cannot see any errors.

I configured my application to use azure diagnostics, as described here: https://www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics/

Firstly, I have this in app.config of my working role:

<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> 

Then in my ServiceConfiguration.Cloud.cscfg I have this connection string:

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

In my ServiceDefinition.csdef I have:

 <Import moduleName="Diagnostics" /> 

and finally, in the OnStart () method of WorkerRole.cs I have:

 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); 

Then I use Trace.WriteLine () in my Run () method.

It should be creating a WADLogsTable in the repository, but it is not.

When I connect via remote desktop to my instance, I don’t see any errors in the event viewer, the only strange thing I see is the WaHostBootstrapper log, where I see the DiagnosticsAgent.exe process, it starts twice, and then when it gets the status one process responds and the other does not, this is part of the log:

 [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. 

Is there something wrong? How can I get these diagnostic messages sent to my azure store?

+7
source share
1 answer

Edited because I initially misunderstood that you are running webrole - oops.

With a working role, try removing the blob that describes how to configure logging, and then redeploy. You can find blob from under the blob-wad-control-container directory in the vault account that you use for diagnostics.

Below is my original answer, however it only applies if you use webrole. I leave this here as it is obvious prey, so maybe this will save some time for someone:

This may be due to the fact that your webrole.cs code is run in a separate AppDomain application from a web application (if you host the full IIS). Even if the Azure DiagnosticMonitorTraceListener is configured in web.config, it does not affect the AppDomain, which runs the webrole.cs code. Therefore, the Azure Diagnostics trace listener is not registered in the Run method, and traces do not go anywhere.

I would try two things: - Add the Azure trace listener explicitly to the code in OnStart (Trace.Listeners.Add (new DiagnosticMonitorTraceListener ()). - Write some logs from the web application. This will most likely trigger the creation of WADLogsTable.

+11
source

All Articles