Download presentation
Presentation is loading. Please wait.
Published byLeslie Mitchell Modified over 9 years ago
2
Inside Azure Diagnostics
4
17 COLUMBUS, OHOCTOBER 17, 2014CLOUDDEVELOP.ORG
5
Opening Keynote Scott Guthrie September 25, 2014 8:00am – 5:00pm PST http://azureconf.net
6
1. The need for diagnostic data in cloud applications 2. Data we can monitor 3. Using the Azure Diagnostic Agent 4. Real-world guidance for troubleshooting Azure apps
7
node.js C# Java Agile - vs - Waterfall
8
Diagnostics Data / Telemetry
10
You’re kidding? Right?
11
We have a problem
12
Resolution 1. Enable Azure diagnostics –Set key performance counters 2. Add logging statements around key functionality –Especially external services 3. Test, test, test 4. Analyze 5. Fix it
14
worker roles web roles
15
worker roles web roles Diagnostic Data – 4x
18
Azure Storage
19
Diagnostic ItemTable NameBlob Container Name Windows Event LogsWADWindowsEventLogsTable Performance CountersWADPerformanceCountersTable Trace Log StatementsWADLogsTable Azure Diagnostic Infrastructure Logs WADDiagnosticInfrastructureLogs Custom Logs (i.e. log4net, NLog, etc.) IIS LogsWADDirectoriesTable*wad-iis-logfiles IIS Failed Request LogsWADDirectoriesTable*wad-iis-failedreqlogfiles Crash DumpsWADDirectoriesTable* * Location of the blob log file is specified in the Container field and name of the blob in the RelativePath field. The AbsolutePath field contains the name of the file as it existed on the role instance.
20
1.Role starts 2.Diagnostic monitor agent starts 3.Diagnostics configured 4.Data buffered locally 5.Data transferred to storage
22
o Trace logs o IIS logs o Infrastructure logs o No transfer o OnStart() o Overrides default o diagnostics.wadcfg o Root of worker or \bin of web
23
public override bool OnStart() { // Create the DiagnosticMonitorConfiguration object to use for configuring the monitoring agent. DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration(); // Performance Counter configuration config.PerformanceCounters.DataSources.Add(new PerformanceCounterConfiguration { CounterSpecifier = @"\Processor(_Total)\% Processor Time", SampleRate = TimeSpan.FromSeconds(30) }); config.PerformanceCounters.ScheduledTransferPeriod = TimeSpan.FromMinutes(1); // Log configuration config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Information; config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1); // Event Log configuration config.WindowsEventLog.DataSources.Add("Application!*"); config.WindowsEventLog.DataSources.Add("System!*"); config.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Warning; config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(1); // Start the diagnostic monitor with the new configuration DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config); return base.OnStart(); } Impacts local agent only!
24
Deployment ID
25
Declarative Configuration using Visual Studio
26
Problem?
29
Additional host-level data – not DiagnosticAgent.exe
31
Query Azure Diagnostic Data
33
Compute node resource usage Windows Event logs Database queries response times Application specific exceptions Database connection & cmd failures Microsoft Azure Storage Analytics Process for Azure hosted solutions is not that different from traditional, on-premises solutions.
38
www.JustAzure.com
39
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.