# Wednesday, November 18, 2009
« PDC 2009 – SVC 01 – A Lap Around the Win... | Main | PDC 2009 Wrap Up »

Local access infeasible so you can’t get access to any of the event logs or other tracing that you would normally do on a single server

SDK supports distributed monitoring & data collection for cloud apps.
Support Standard Diagnostics APIs
Built on top of Windows Azure Storage
The same infrastructure is used by Microsoft for their monitoring so they know it scales.
Developers are in control of what gets collected and when to collect it.

MonAgentHost.exe is the diagnostic monitoring piece that is doing the monitoring and is started by the fabric UI on the developer fabric

Used Cloud Storage Studio from Cerebrata Software to show off storage information.

WADDirectoriesTable and WADLogsTable store log information. The data in the directories data is the standard IIS log files that are in put into development blob storage.

The diagnostic monitor is a separate process and can do things like crash dumps and Windows Data Sources like event logs. Data goes into the local storage directory and is then uploaded to Azure storage.

The oldest data will age out.

System.Diagnostics.Trace to write information out to the logs. Reference Microsoft.WindowsAzure.Diagnostics and import the namespace.

DiagnosticMonitorConfiguration lets you set up the configuration information. Everything is buffered locally by default and not uploaded to the storage. You have to provide the storage configuration when you call the Start() method.

TraceListener added iinto the web.config by Visual Studio to allow the monitor to listen to the events and store them.

Microsoft.WindowsAzure.Diagnostics.Manager namespace used to write an application that will let him do on-demand uploads of data to storage.

If you are trying to catch crash dumps in a web role ASP.NET will most likely capture the data so you won’t be able to examine the dump. If you fail in the startup or in a worker role you will be able to get the crash dump information.

Turning on IIS tracing incurs a performance overhead and can not be turned on or off dynamically so you will need to upgrade your application to change the setting.

There is no automatic deletion of logging data from the Azure storage. You need to clean it up so you don’t pay for log entries you don’t need.

Data partitioned by the high order bits of the tick count so you can query on just that partition.

WMI is not supported natively but your role can reference WMI and log the information into an “arbitrary log”.

The role runs in the “Performance Log Users Group”. Soon IIS logs will be generated in the role’s local data directory.

Azure | PDC