13
Windows Azure Diagnostics Neil Mackenzie

Windows Azure Diagnostics

Embed Size (px)

DESCRIPTION

Overview of Windows Azure Diagnostics

Citation preview

Page 1: Windows Azure Diagnostics

Windows Azure Diagnostics

Neil Mackenzie

Page 2: Windows Azure Diagnostics

Overview

• Motivation for Windows Azure Diagnostics• Architecture of WAD• Configuring WAD• Managing WAD• Demonstration

Page 3: Windows Azure Diagnostics

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

Page 4: Windows Azure Diagnostics

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

Page 5: Windows Azure Diagnostics

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 configurationDiagnostics Agent:• polls WAD configuration to identify changes.• implements changes

Page 6: Windows Azure Diagnostics

Data Buffers

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 defaultWADDirectoriesTable contains one entity for each blob stored by WAD

WAD captures data to the data bufferWAD persists data to the Azure Storage location

Page 7: Windows Azure Diagnostics

Custom Logging

WAD supports custom loggingConfigure:• Capture directory in local storage• Persistence location in Azure Blob storage• Transfer schedule

Page 8: Windows Azure Diagnostics

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

Page 9: Windows Azure Diagnostics

Managing WAD

Diagnostics Agent started automatically• Default configurationWAD managed on a per-instance basis• Use RoleInstanceDiagnosticManager• Get WAD configuration for instance• Modify WAD configuration• Set current WAD configuration for the instance

Page 10: Windows Azure Diagnostics

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

Page 11: Windows Azure Diagnostics

Tools

Cerebrata• Azure Diagnostics Manager

Microsoft• Systems Center Operations Manager – Windows

Azure Management Pack RC

Page 12: Windows Azure Diagnostics

Demo

Web role with two instances demonstrating various aspects of Windows Azure Diagnostics

Page 13: Windows Azure Diagnostics

Contact Information

• Neil Mackenzie• Twitter: @mknz• Blog: http://convective.wordpress.com/