¿Dónde están las tablas de almacenamiento de diagnóstico / logs?
-
09-10-2019 - |
Pregunta
Tengo un problema el despliegue de una (servicio WCF) WebRole a Azure . Mi WebRole sigue mostrando buzy durante al menos 30 minutos, hasta que abortarlo. Despliego a través de Visual Studio 2010. Estoy buscando algo de información de rastreo y hay algunos blogs que me han hecho mención de tablas de almacenamiento llamados WADInfrastructureLogsTable
y WADLogsTable
.
He fijado los valores de configuración relacionados con la cuenta de almacenamiento de la siguiente manera:
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString"
value="DefaultEndpointsProtocol=https;AccountName=sandsofttestservice;AccountKey=HgPjkzx+mjqgoDTO8SBNB3B4hdARuibWTOHrXg4BpxRKJfRZ/s4abVIoD5lOIW0LkoD0CoMb0i0GiTXA483MDQ==" />
</ConfigurationSettings>
No tengo mesas en todo en mi cuenta de almacenamiento. Ni siquiera después de haber desplegado Hello World Aplicaciones éxito. Mi contenedor Blob posee una vsdeploy- y un fajo de control de contenedor, y tengo 4 colas.
¿Cómo se pueden crear estas tablas?
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();
}
Solución
He tenido un problema similar. Tuve la 'transferencia' de tiempo establecido a 1 minuto y no iba a transferir. Sin embargo, después he actualizado a 5 minutos, empecé a ver los mensajes de rastreo en el WADLogsTable. No sé por qué eso hizo una diferencia y no han encontrado ningún documento que habla de un período mínimo de transferencia, pero 5 minutos trabajaron para mí.
También asegúrese de que tiene Trace.Writeline apropiado () declaraciones en su / papel trabajador web.
Otros consejos
¿Usted ha establecido un horario de transmisión para la tabla de registros? Es decir, todos los registros se almacenan en caché en cada caso, y hay que pedir explícitamente que los datos sean persistieron en almacenamiento de tablas en una base periódica. Aquí está un ejemplo trivial para WADLogsTable:
var dm = DiagnosticMonitor.GetDefaultInitialConfiguration();
dm.Logs.ScheduledTransferPeriod = TimeSpan.FromSeconds(5);
dm.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
DiagnosticMonitor.Start("DiagnosticsConnectionString", dm);
Una vez que esto está configurado, debería ver la tabla WADLogsTable aparece después de un tiempo.
Usted tendrá que configurar el periodo de transferencia y el filtro para cada uno de los otros tipos, así:
- Registro de eventos
- Diagnóstico registro de la infraestructura
- Directorios
- Los contadores de rendimiento
Soren - Si no lo ha hecho, probablemente debería regenerar su clave de acceso cuenta de almacenamiento. Que aparece en su puesto original con sus datos de configuración.
Otra opción para ayudar a diagnosticar su problema es Intellitrace. Si está utilizando Visual Studio 2010 Utimate, puede activar Intellitrace con su despliegue. Esto le permitirá descargar los archivos de registro IntelliTrace, y de las que se puede ver alguna información bastante detallada relativa al despliegue y puesta en marcha de su aplicación. Puede haber algunas excepciones u otros errores que se generan que podría estar causando el estado "ocupado" prolongada.