Export (0) Print
Expand All
1 out of 1 rated this helpful - Rate this topic

Monitoring a Windows Azure Application

Authors: Larry Franks, Rama Ramani

One of the challenges with hosting an application in Windows Azure is how to determine the overall health and performance of your application. Since your application may be distributed across multiple instances, the number of which may change at any time (if you are dynamically scaling), you need a way to determine the health of each instance, as well as the overall health of the entire deployment. If your application uses Windows Azure services such as storage or Windows Azure SQL Database, you must also monitor these services to understand the overall health of your solution.

The following can be used to collect monitoring and diagnostic information on the Windows Azure Platform:

Windows Azure Management Portal

The Windows Azure Management Portal monitors and displays the state of your hosted applications, and can be used to determine the overall health of the application deployment. In general, the status messages displayed in the management portal provide a high-level view into the health of a hosted application. For a complete list of the status messages returned in the management portal, as well as their meaning, see Identifying the Status Messages in the Management Portal.

To view the status of your application in the Windows Azure Management Portal, select Hosted Services, Storage Accounts & CDN, and then select Hosted Services. The services will be displayed in the center of the page, along with the status. Expanding each service allows you to view the role and role instance status.

The Windows Azure Management Portal status messages may not accurately reflect all failure conditions that occur for a hosted application, and should not be used as the sole method of determining the health of your application. For example, a failure that manifests as a failure on a web page, or improper rendering of a web page, would not trigger a status message in the management portal. To obtain more detailed information on the health of your application, you should use Windows Azure Diagnostics.

Windows Azure Service Management REST API

The status information displayed in the Windows Azure Management Portal can also be obtained programmatically by using the Windows Azure Service Management REST API. The specific APIs that return status information are Get Hosted Service Properties and Get Deployment.

For more information on the Windows Azure Service Management REST API, see the Windows Azure Service Management REST API Reference.

Monitoring and Diagnostics

Windows Azure Diagnostics provides you with the ability to aggregate performance counters and logs from your hosted application instances, as well as any custom log files, tracing, and instrumentation output that your application produces. Since each application instance only provides a limited amount of non-durable storage, you must provide a Windows Storage account as a durable storage location. Windows Azure Diagnostics provides a mechanism for scheduling periodic copies of diagnostic information to the storage account.

When configuring Windows Azure Diagnostics, you should carefully consider the performance counters and logs you need to collect as well as the rate at which you collect the information. The diagnostic process on each instance of your application has a FIFO buffer that can be quickly overwritten if you allocate too little space for the amount of data you are processing, set too long an interval for copying data from the buffer to Windows Azure Storage, or have an extremely high sample rate for performance counter information. You must also consider what data needs to be copied to durable storage, as you will be charged for the amount of Windows Azure Storage taken up by diagnostics data.

For more information on working with Windows Azure Diagnostics, see Collecting Logging Data by Using Windows Azure Diagnostics.

Windows Azure Management Pack

If you are familiar with System Center Operations Manager (SCOM,) you may want to use the Windows Azure Management Pack to make Windows Azure diagnostics information available within SCOM. For more information, see Monitoring Windows Azure Applications.

Windows Azure Storage Analytics

If your application uses Windows Azure Storage, you can enable Storage Analytics to collect logging and metrics information such as request logging, storage capacity information, and information about transactions to your storage account. Storage Analytics is exposed as a REST API, which is accessible from anywhere on the Internet. Access to this API requires authentication using the storage account name and access key.

For more information, see Storage Analytics Overview.

Windows Azure SQL Database Dynamic Management Views

Dynamic Management Views provide information that is useful in diagnosing performance issues with SQL Database, such as long-running queries, poor query plans, or number of connections to a database. Dynamic Management Views are accessed using Transact-SQL statements, and require a connection to your SQL Database Server.

For more information, see Monitoring Windows Azure SQL Database Using Dynamic Management Views.

See Also

Build Date:

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2014 Microsoft. All rights reserved.