2. Overview
• Motivation for Windows Azure Diagnostics
• Architecture of WAD
• Configuring WAD
• Managing WAD
• Demonstration
3. Why Windows Azure Diagnostics?
WAD Provides:
• visibility into instance VMs
• access to IIS logs, event logs and traces
• configuration of diagnostic information captured
• consistent way to persist diagnostic information
WAD Supports:
• non-intrusive investigation of problems
• auto-scaling through access to performance counters
IntelliTrace
4. WAD Architecture
Diagnostics Agent
• Runs on each instance
• Persists diagnostic data to Azure Storage
Configuration
• Instance-specific WAD configuration
• Located in an Azure Blob container
• Polled by Diagnostics Agent
Azure Storage
• WAD uses blobs, tables and queues
.NET API
5. Configuration
WAD Configuration
• Instance-specific blobs in wad-control-container
WAD Configuration specifies:
• data buffers to be captured
• data buffers to be persisted
• transfer schedule
WAD .NET API updates WAD configuration
Diagnostics Agent:
• polls WAD configuration to identify changes.
• implements changes
6. Data Buffers
WAD captures data to the data buffer
WAD persists data to the Azure Storage location
Data Buffer Azure Storage Location
Windows Azure logs * WADLogsTable
Windows Diagnostic infrastructure logs * WADDiagnosticsInfrastructureLogsTable
IIS 7.0 logs (webrole) * wad-iis-logfiles (blobs)
Failed Request logs (webrole) wad-iis-failedreqlogfiles (blobs)
Windows Event logs WADWindowsEventLogsTable
Performance counters WADPerformanceCountersTable
Crash dumps wad-crash-dumps (blobs)
Custom error logs Configurable (blobs)
* Captured by default
WADDirectoriesTable contains one entity for each blob stored by WAD
7. Custom Logging
WAD supports custom logging
Configure:
• Capture directory in local storage
• Persistence location in Azure Blob storage
• Transfer schedule
8. Persistence
Scheduled Transfers
• Routine transfers to persistent storage
• Transfer period specific to a data buffer
On-Demand Transfers
• Immediate need to persist data
• Possibility of duplicate data in persistent storage
Cleanup
• WAD does not cleanup persisted data
• Should not delete the tables/containers
9. Managing WAD
Diagnostics Agent started automatically
• Default configuration
WAD managed on a per-instance basis
• Use RoleInstanceDiagnosticManager
• Get WAD configuration for instance
• Modify WAD configuration
• Set current WAD configuration for the instance
10. On-Demand Transfers
On-Demand transfers configured for:
• Instance
• Data buffer
Use RoleInstanceDiagnosticManager
• Configure on-demand transfer
• Request on-demand transfer
Cleanup on-demand transfer
• Get completion message from WAD notification queue
• End on-demand transfer
One on-demand transfer per data buffer