31
1 Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

Embed Size (px)

Citation preview

Page 1: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

1

Pradeep Kumar CSupport Escalation Engineer

Windows Azure Diagnostics Logging and Monitoring in the Cloud

Page 2: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

Agenda• WAD overview & Architecture• How to Enable WAD• Storage Considerations• Common Diagnostic Tasks• Issues & Troubleshooting• Q&A

Page 3: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

WAD overview & Architecture

Page 4: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

4

Diagnostics: Single Server vs. the Cloud

CloudDynamic Environment

Distributed, scaled-out data

Single ServerStatic Environment

Local Access FeasibleAll in one TS sessionData & tools co-locatedIn-Place Changes

Page 5: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

5

Windows Azure Diagnostics

Reason for Diagnostics in Azure1. Save diagnostic data that would be lost during a reimaging of the

instance (an Azure Cloud Service is stateless)2. Provide a central repository for diagnostics from multiple role

instances

Diagnostic Strategy• Spend time considering a diagnostic strategy for your Azure application i.e. do want to record, errors, deployment status, monitor performance• How will diagnostics setting be changed once deployed?• Consider cost of logging, both performance wise and financially• How will you access diagnostic information?

Page 6: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

6

WAD overview• SDK Component provides distributed

monitoring & data Collection• Supports standard diagnostic APIs• Cloud – Friendly

• Manage Multiple role instances centrally

• Scalable• Build on Windows Azure Storage & used by scale-out/Scale-in

Windows Azure Platform feature

• Developer in control• What to Collect & When to collect

Page 7: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

How to Enable WAD

Page 8: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

8

Configuring Diagnostics• Enable Programmatically :

using DiagnosticMonitor.Start()

• Enable Diagnostic with : Configuration (diagnostic.wadcfg)

• Enable Diagnostic with Windows Azure SDK 2.0 via Visual Studio

Page 9: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

9

Diagnostic Monitor (Role Startup)

DiagnosticMonitorConfiguration dc =DiagnosticMonitor.GetDefaultInitialConfiguration();

dc.WindowsEventLog.DataSources.Add("Application!*");dc.WindowsEventLog. ScheduledTransferLogLevelFilter = LogLevel.Error;dc.WindowsEventLog.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(5.0);// add other sources

DiagnosticMonitor.Start("DiagnosticsConnectionString", dc);

Page 10: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

10

Diagnostic Monitor (diagnostics.wadcfg)<DiagnosticInfrastructureLogs bufferQuotaInMB="512" scheduledTransferLogLevelFilter="Verbose" scheduledTransferPeriod="PT1S" /> <Logs bufferQuotaInMB="1024" scheduledTransferLogLevelFilter="Verbose" scheduledTransferPeriod="PT1S" />

<WindowsEventLog bufferQuotaInMB="512" scheduledTransferLogLevelFilter="Verbose" scheduledTransferPeriod="PT5M"> <DataSource name="Application!*" /> </WindowsEventLog>

</DiagnosticMonitorConfiguration>

Page 11: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

11

Diagnostic Monitor (SDK 2.0)

Page 12: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

12

Diagnostic Monitor (SDK 2.0)

Page 13: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

13

Role Instance

How Does It Work (in a nutshell)?• Role Instance Starts• Diagnostic Monitor Starts• Monitor is configured

• Imperatively at Start time• Remotely any time via configuration file• Configuration is saved in Storage

• Monitor buffers data locally• User can set a quota (FIFO)

• Initiates transfer to Azure storage from local buffer

Page 14: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

14

Diagnostic Data Locations

Windows Event Logs WADWindowsEventLogsTable

Performance Counters WADPerformanceCountersTable

Windows Azure Logs WADLogsTable

Diagnostic Infrastructure Logs WADDiagnosticInfrastructureLogsTable

IIS Logs wad-iis-logfiles

IIS Failed Request Logs wad-iis-failedreqlogfiles

Crash Dumps wad-crash-dumps

Custom File Based Logs (must be configured)

Page 15: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

15

D E M O

Page 16: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

Storage Considerations

Page 17: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

17

Storage Considerations

• Set up a separate Diagnostic Storage account

• Choose only required Diagnostic data • Use an affinity group• Periodically copy and clear the Diagnostic

Data from Storage• Be aware of cost of logging, both physical

and bandwidth

Page 18: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

Common Diagnostic Tasks

Page 19: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

19

Scenarios for using WAD

• Monitoring application performance• CPU and memory usage• Requests to application

• Troubleshooting and Debugging issues• Errors or exceptions in code

• Capacity planning • Identify need for more compute resource

Page 20: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

20

Role Instance

Remote Configuration

Poll Interval

Page 21: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

21

RoleInstanceDiagnosticManager (anytime)• CloudStorageAccount storage = CloudStorageAccount.Parse(…);

• RoleInstanceDiagnosticManager rdm = new • RoleInstanceDiagnosticManager(storage, DeploymentId,

• RoleName, RoleInstanceId);

• DiagnosticMonitorConfiguration config = rdm.GetCurrentConfiguration();

• dc.WindowsEventLog.DataSources.Add("Application!*");• dc.WindowsEventLog. ScheduledTransferLogLevelFilter = • LogLevel.Error;• dc.WindowsEventLog.ScheduledTransferPeriod = • TimeSpan.FromMinutes(5.0);• // add other sources

• rdm.SetCurrentConfiguration(config);

Page 22: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

22

Diagnostic Monitor (SDK 2.0)

Page 23: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

23

D E M O

Page 24: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

Issues & Troubleshooting

Page 25: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

25

Troubleshooting issues with WADScenario

Logs no longer or never copied to Azure Storage• Could be all logs configured• Specific logs• All instances of a role or specific ones

Page 26: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

26

Troubleshooting issues with WADTroubleshooting steps

• Check WAD configuration • RDP onto instance to check WAD processes• Locally check WAD configuration • Ensure logs actually exist• Raise a support case

Page 27: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

27

Troubleshooting issues with WADIssue Identified

• WAD correctly configured• No logs present to be copied i.e. IIS stopped and

therefore no new IIS logs• Custom logs missing due to an exception in custom

code• WAD incorrectly configured• OverallQuotaInMb same size or larger than

DiagnosticsStore for sizeInMb

Page 29: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

Summary

Consider WAD requirements • Logging level• What to log• Financial cost of using WAD

Decide how to monitor logs or alter• Use Visual Studio or third party storage viewer

Raise a support case, we are here to help

Page 31: Pradeep Kumar C Support Escalation Engineer Windows Azure Diagnostics Logging and Monitoring in the Cloud

© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted

to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.