2012-11-23 24 views
7

Sto cercando di ottenere i log di traccia per il mio ruolo di lavoro in Windows Azure ma non funziona e non è possibile visualizzare alcun errore.Diagnostica di Azure non funziona nel ruolo di lavoratore

Ho configurato il mio applicazione per utilizzare la diagnostica azzurre come spiegato qui: https://www.windowsazure.com/en-us/develop/net/common-tasks/diagnostics/

In primo luogo, ho questo nel app.config del mio ruolo dei lavoratori:

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

Poi, nel mio ServiceConfiguration .Cloud.cscfg ho questa stringa di connessione:

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

Nel mio ServiceDefinition.csdef ho:

<Import moduleName="Diagnostics" /> 

e, infine, nel metodo OnStart() dei WorkerRole.cs ho:

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

Poi faccio un po Trace.WriteLine() nel mio metodo Run().

Questa dovrebbe essere la creazione di una tabella WADlog in memoria, ma non lo è.

Quando mi collego tramite desktop remoto alla mia istanza, non vedo errori nel visualizzatore eventi, l'unica cosa strana che vedo è il registro WaHostBootstrapper dove sto vedendo il processo DiagnosticsAgent.exe avviato due volte, e poi quando ottiene stato un processo risponde e l'altro no, questa è la parte del 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. 

qualcosa che non va? come posso inviare quei dati diagnostici nella mia memoria blu?

+0

si guarda bene a me hai provato a correre contro devstore locale prima – Guy

+0

Sì, funziona localmente – Escobar5

risposta

11

Modificato come inizialmente ho letto erroneamente che stavi eseguendo un webrole - oops.

Con un ruolo di lavoro, provare a eliminare il blob che descrive l'installazione di registrazione, quindi ridistribuire. Troverai il blob da sotto la directory del BLOB di wad-control-container nell'account di archiviazione che stai utilizzando per la diagnostica.

Di seguito è la mia risposta originale, tuttavia si applica solo se si sta eseguendo un webrole. L'ho lasciato qui perché è ovvio, quindi forse risparmia un po 'di tempo per qualcuno:

Questo potrebbe essere perché il codice webrole.cs è in esecuzione in un AppDomain separato dall'applicazione Web (se stai ospitando in IIS completo). Anche se Azure DiagnosticMonitorTraceListener è configurato in web.config, non ha alcun effetto per l'AppDomain che esegue il codice webrole.cs. Di conseguenza, il listener di traccia di diagnostica di Azure non è registrato nel metodo Run e le tracce non vanno da nessuna parte.

mi piacerebbe provare due cose:.. - Aggiungi la diagnostica Azure tracciano ascoltatore in modo esplicito nel codice in OnStart (Trace.Listeners.Add (nuova DiagnosticMonitorTraceListener()) - Scrivi alcuni registri dall'applicazione Web Questo probabilmente sarà .. innescare la creazione del WADLogsTable

+0

Cancellare il blob ha fatto! Grazie – Escobar5

+0

+1 per la risposta originale,?. avevo un webrole.cs eseguito come un "ruolo lavoratore", la traccia non ha funzionato Aggiunta del listener di traccia come descritto risolto il mio problema –

+0

+1 Grazie.Nel mio caso ho creduto di avere lo stesso problema. Tuttavia, non mi stavo rendendo conto che Azure Diagnostics li caricava su una tabella WADLogsTable, stavo cercando blob e non trovavo nulla –