Azure アプリケーションでトレース ログを広範囲に使用していますが、ログに最大 90m 程度のギャップが見られることがあります。
これはなぜでしょうか? また、どのように診断すればよいでしょうか? 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? scheduleTransferPeriod) { TimeSpan stp = scheduleTransferPeriod ?? 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);
}