좋습니다. 잠시 동안 머리를 숙이고 있습니다. 누군가 전에이 문제가 발생했는지 묻습니다.Azure Diagnostics는 IIS 로그를 BLOB 저장소로 전송하지 않습니다.
구성과 설정은 다음과 같습니다. 이것은 준비 환경에 배포 될 때입니다. RDP를 사용하고 IIS 로그를 만들었 기 때문에 로깅이 발생하고 있음을 알았습니다. 그러나 다른 진단 로그가 문제없이 수행 되더라도 BLOB 저장소로 전송되지 않습니다.
WinHttpGetProxyForUrl(http://mystorage.blob.core.windows.net) failed ERROR_WINHTTP_AUTODETECTION_FAILED (12180)
내가 이벤트 뷰어에 표시되는 다른 경고는 다음과 같습니다 :
내가 말한거야 내가 다음과 같은 오류를 볼 수있는 인프라 로그에서만 프록시와 관련이없는 관한 것입니다
-<Event>
-<System>
<Provider Name="Microsoft-Windows-IIS-W3SVC-WP"Guid="{670080D9-742A-4187-8D16-41143D1290BD}"EventSourceName="W3SVC-WP"/>
<EventID Qualifiers="32768">2283</EventID>
<Version>0</Version>
<Level>3</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2011-02-18T22:46:34.000Z"/>
<EventRecordID>266</EventRecordID>
<Correlation/>
<Execution ProcessID="0"ThreadID="0"/>
<Channel>Application</Channel>
<Computer>RD00155D3273B5</Computer>
<Security/>
</System>
-<EventData>
<Data Name="FailureCount">3</Data>
<Data Name="Minutes">5</Data>
<Data Name="Directory">\\?\C:\Resources\directory\345345kjh325kj5432452345.MyWebRole.DiagnosticStore\FailedReqLogFiles\Web\W3SVC1273337584\</Data>
<Binary>03000780</Binary>
</EventData>
</Event>
이것은 WebRole으로 실행되는 비교적 간단한 WCF 응용 프로그램입니다. 설정은 다음과 같습니다
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="false">
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="ModelListener">
<filter type="" />
</add>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="Information" propagateActivity="false">
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="MessageListener">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
</sharedListeners>
<trace autoflush="true" indentsize="3">
<listeners>
<add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="TraceListener">
<filter type="" />
</add>
</listeners>
</trace>
</system.diagnostics>
...
...
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<tracing>
<traceFailedRequests>
<add path="*">
<traceAreas>
<add provider="ASP" verbosity="Verbose" />
<add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" />
<add provider="ISAPI Extension" verbosity="Verbose" />
<add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module" verbosity="Verbose" />
</traceAreas>
<failureDefinitions verbosity="Warning" statusCodes="400-599" />
</add>
</traceFailedRequests>
</tracing>
</system.webServer>
내가 같은 결과로, 청취자에게 몇 가지 방법을 변경했습니다. 그래서 나는 문제 먹으 렴 것 같아요,하지만 제안
webrole의 코드는 다음과 같습니다 열려 메신저 :
DiagnosticsConnectionString
은 테이블의 일부로서 적절하게 설정 및 컨테이너가 생성되어 제대로 채워집니다
public override bool OnStart()
{
// To enable the AzureLocalStorageTraceListner, uncomment relevent section in the web.config
DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();
//Windows Performance Counters
List<string> counters = new List<string>();
counters.Add(@"\Processor(_Total)\% Processor Time");
counters.Add(@"\Memory\Available Mbytes");
counters.Add(@"\TCPv4\Connections Established");
counters.Add(@"\ASP.NET Applications(__Total__)\Requests/Sec");
counters.Add(@"\Network Interface(*)\Bytes Received/sec");
counters.Add(@"\Network Interface(*)\Bytes Sent/sec");
foreach (string counter in counters)
{
PerformanceCounterConfiguration counterConfig = new PerformanceCounterConfiguration();
counterConfig.SampleRate = TimeSpan.FromMinutes(1);
counterConfig.CounterSpecifier = counter;
config.PerformanceCounters.DataSources.Add(counterConfig);
}
config.PerformanceCounters.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
//Windows Event Logs
config.WindowsEventLog.DataSources.Add("System!*");
config.WindowsEventLog.DataSources.Add("Application!*");
config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
config.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Error;
//Azure Trace Logs
config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Error;
//Crash Dumps
CrashDumps.EnableCollection(true);
//IIS Logs
//This was added in a desperation move but it has not made a difference with or without
DirectoryConfiguration directory = new DirectoryConfiguration();
directory.Container = "wad-tracefiles";
directory.DirectoryQuotaInMB = 10;
directory.Path = RoleEnvironment.GetLocalResource("AppLocalStorage.svclog").RootPath;
config.Directories.DataSources.Add(directory);
//end desperation move
config.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
//infrastructure logs
config.DiagnosticInfrastructureLogs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1);
config.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Error;
DiagnosticMonitor.Start("DiagnosticsConnectionString", config);
// For information on handling configuration changes
// see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
RoleEnvironment.Changing += new EventHandler<RoleEnvironmentChangingEventArgs>(RoleEnvironment_Changing);
// This code is necessary to use CloudStorageAccount.FromConfigurationSetting
CloudStorageAccount.SetConfigurationSettingPublisher((configName, configSetter) =>
{
configSetter(RoleEnvironment.GetConfigurationSettingValue(configName));
RoleEnvironment.Changed += (sender, arg) =>
{
if (arg.Changes.OfType<RoleEnvironmentConfigurationSettingChange>()
.Any((change) => (change.ConfigurationSettingName == configName)))
{
if (!configSetter(RoleEnvironment.GetConfigurationSettingValue(configName)))
{
RoleEnvironment.RequestRecycle();
}
}
};
});
return base.OnStart();
}
.
도움을 주시면 감사하겠습니다. 미리 감사드립니다.
감사합니다. Gaurav에게 감사드립니다.이 "솔루션"에 대해 읽었지만 링크는 없습니다. 그래서 도움이됩니다. 그러나 알려진 버그가 있다는 것을 다른 곳에서는 분명히 밝히지 않았습니다. 나는 또한 흔적을 남기지 않고 동일한 문제를 가지고있다. – Victor
안녕하세요 빅터 : 성능 카운터 데이터 및 이벤트 로그 데이터는 볼 수 있지만 로그 데이터는 추적 할 수 없습니까? 다음 링크가 도움이 될 수 있습니다. http://blog.bareweb.eu/2011/01/updating-azure-diagnostics-to-sdk-v1-3/ http://blog.bareweb.eu/2011/01/implemented-azure-diagnostics-with-sdk-v1-3/ –
실제로 추적 로그를 볼 수는 있지만 추적 파일을 볼 수 없습니다. 그래서 wad-tracefiles 컨테이너는 메시지를주고 받거나 연결해도 비어 있습니다. – Victor