我们在我们的天蓝色应用程序中广泛使用跟踪日志记录,但偶尔我们会看到日志中的间隙达到90米左右。
为什么会这样,我该如何进行诊断?这非常重要,因为我们使用WADLogsTable中的数据作为警报系统的源数据。
更新:抱歉延迟。我的配置如下:
<system.diagnostics>
<trace>
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
name="AzureDiagnostics">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
其余配置以编程方式完成:
public static void ConfigureDiagnosticMonitor(TimeSpan?scheduledTransferPeriod) { TimeSpan stp = scheduledTransferPeriod ?? DefaultScheduledTransferPeriod;
var config = DiagnosticMonitor.GetDefaultInitialConfiguration();
config.OverallQuotaInMB = 8192;
// configure Windows Event Log monitoring.
config.WindowsEventLog.DataSources.Add("Application!*");
config.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Warning;
config.WindowsEventLog.ScheduledTransferPeriod = stp;
// configure Diagnostic infrastructure logs
config.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Information;
config.DiagnosticInfrastructureLogs.BufferQuotaInMB = 100;
config.DiagnosticInfrastructureLogs.ScheduledTransferPeriod = stp;
// configure Logs
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
config.Logs.BufferQuotaInMB = 100;
config.Logs.ScheduledTransferPeriod = stp;
// configure Directories
config.Directories.DataSources.Add(AzureLocalStorageTraceListener.GetLogDirectory());
config.Directories.ScheduledTransferPeriod = stp;
DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);
}
答案 0 :(得分:0)
在Azure能够从中清除某些数据之前,听起来像本地诊断存储已填满。
尝试将总配额减少到4gig以下,以及下面的所有其他配额匹配,以便它们落在总数之下。默认情况下,Azure仅将4gig分配给整个诊断空间,并且您希望在该数量之下,以便为诊断代理提供一些时间来修剪数据。