Dove sono le tabelle di diagnostica / logs di stoccaggio?
-
09-10-2019 - |
Domanda
Ho un problema la distribuzione di un (servizio WCF) WebRole a Azure . Il mio WebRole continua a mostrare buzy per almeno 30 minuti, fino a che non abortire. Schiero tramite Visual Studio 2010. Sto cercando alcune informazioni di traccia e non c'è un paio di blog che mi hanno puntato verso le tabelle di memoria dette WADInfrastructureLogsTable
e WADLogsTable
.
Ho installato le impostazioni di configurazione con il mio account di archiviazione in questo modo:
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=sandsofttestservice;AccountKey=HgPjkzx+mjqgoDTO8SBNB3B4hdARuibWTOHrXg4BpxRKJfRZ/s4abVIoD5lOIW0LkoD0CoMb0i0GiTXA483MDQ==" />
</ConfigurationSettings>
Non ho tavoli a tutti nel mio account di archiviazione. Nemmeno dopo che ho schierato Ciao Mondo Applicazioni con successo. Il mio contenitore Blob detiene una vsdeploy- e una mazzetta-control-contenitore, e non ho 4 code.
Come verranno create queste tabelle?
public override bool OnStart()
{
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);
Trace.WriteLine("OnStart");
// For information on handling configuration changes
// see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
RoleEnvironment.Changing += RoleEnvironmentChanging;
return base.OnStart();
}
Soluzione
Ho avuto un problema simile. Ho avuto il 'trasferimento' certo periodo a 1 minuto e non sarebbe trasferire. Tuttavia, dopo che ho aggiornato a 5 minuti, ho cominciato a vedere i messaggi di traccia nel WADLogsTable. Non certo perché che ha fatto la differenza e non hanno trovato alcuna documentazione che parla di un periodo di trasferimento minimo, ma a 5 minuti lavorato per me.
Inoltre, assicurarsi di avere Trace.WriteLine appropriato () le dichiarazioni con il vostro web / ruolo dei lavoratori.
Altri suggerimenti
Avete impostare una pianificazione di trasferimento per la tabella dei registri? Cioè, tutta la registrazione viene memorizzato nella cache in ogni caso, ed è necessario essere esplicitamente richiesto che i dati che devono essere persistenti in deposito tavolo su base periodica. Ecco un esempio banale per WADLogsTable:
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);
Una volta che questo è impostato, si dovrebbe vedere la tabella WADLogsTable viene visualizzata dopo un po '.
Sarà necessario configurare il periodo di trasferimento e filtro per ognuno degli altri tipi così:
- registro eventi
- Diagnostica log infrastrutture
- Directory
- I contatori delle prestazioni
Soren - Se non l'hai già, probabilmente si dovrebbe rigenerare la chiave di accesso account di archiviazione. È elencato nel tuo post originale con i dati di configurazione.
Un'altra opzione per aiutare a diagnosticare il problema è Intellitrace. Se si utilizza Visual Studio 2010 Utimate, è possibile attivare Intellitrace con la distribuzione. Questo vi permetterà di scaricare i file di log IntelliTrace, e da quelli che si possono vedere alcune informazioni abbastanza dettagliate riguardanti l'implementazione e avvio dell'applicazione. Ci potrebbero essere alcune eccezioni o altri errori generato che potrebbe essere la causa dello stato prolungato "Occupato".