Comparing Monitoring Approaches for .NET Applications

 

Updated: May 13, 2016

Applies To: System Center 2012 R2 Operations Manager

A general best practice is to always monitor your Microsoft .NET Framework applications (continuous monitoring) because this gives you information about baseline performance, and you receive timely notifications of application failures before many customers are affected. At times, however, you might need to start monitoring only to troubleshoot specific application problems (on demand). System Center provides a powerful monitoring solution that includes alerting and reporting that are not available when you use local collection. However, using System Center usually requires an administrator and a heavier infrastructure. Local collection is a lightweight monitoring solution that does not require any special configuration before you can start monitoring. For instance, you do not need to set up special databases or special accounts. Less data is collected, and you receive no real-time alerts about application problems. Locally collected traces do not have performance counters or other diagnostic information that is available when you use Microsoft Monitoring Agent together with System Center 2012 – Operations Manager.

Choosing How to Monitor Your .NET Framework Applications

Comparing monitoring approaches

Monitoring approach

When to use

How to control monitoring

Continuous monitoring with System Center Application Performance Monitoring (APM)

Use this approach when you have System Center Operations Manager. Typically, IT Operations uses this approach to receive alerts about application performance or failures. IT Operations can convert data from APM alerts into Microsoft IntelliTrace format or can automatically route alerts to Microsoft Visual Studio Team Foundation Server (TFS) work items by using TFS synchronization. IT Operations owns the environment. For more information, see How to Configure Integration with TFS in System Center 2012 R2.

Use the .NET Application Performance Monitoring template.

For more information, see .NET Application Performance Monitoring Template

Continuous monitoring with Microsoft Monitoring Agent local collection

Use this approach when your computer is still monitoring by using System Center and when you have other applications configured for APM monitoring. You are the owner of an environment. You control when to start and stop monitoring and know the best times to collect traces.

Use Windows PowerShell cmdlets Start-WebApplicationMonitoring and Checkpoint-WebApplicationMonitoring.

Start-WebApplicationMonitoring starts monitoring. Checkpoint-WebApplicationMonitoring collects a snapshot of the IntelliTrace file and continues monitoring. Checkpoint-WebApplicationMonitoring does not affect your application and does not require a restart of your application. After you start monitoring, the monitoring will continue even if your application or computer restarts. Stop-WebApplicationMonitoring stops monitoring.

For more information, see Microsoft.MonitoringAgent.PowerShell.Start-WebApplicationMonitoring and Microsoft.MonitoringAgent.PowerShell.Checkpoint-WebApplicationMonitoring.

On-demand local collection that temporarily overrides the settings of continuous monitoring with System Center APM

Use this approach when you want to collect more data at certain times for troubleshooting. You will need to define your collection plan by using application-specific settings, and this might take more system resources for monitoring (CPU and memory). Output will be an IntelliTrace log that includes all events that are collected during the override, on-demand session. IT Operations still owns the environment, but you must collect more data at certain times and you have the flexibility.

Use Windows PowerShell cmdlets Start-WebApplicationMonitoring and Stop-WebApplicationMonitoring to enable local collection. When you stop monitoring, the trace is written to a local file and your System Center APM monitoring settings are restored.

On-demand local collection that temporarily overrides settings of continuous monitoring with Microsoft Monitoring Agent local collection

Use this approach when you have already monitored an application, but you need to troubleshoot a particular application issue and want to run monitoring by using more refined settings that might take more system resources for monitoring (CPU and memory). Output will be an IntelliTrace log that includes all events that are collected during the override, on-demand session. IT Operations still owns the environment, but you must collect more data at certain times and you have the flexibility.

Use Windows PowerShell cmdlets Start-WebApplicationMonitoring and Stop-WebApplicationMonitoring. When you stop monitoring, the trace is written to a local file in the location that you specified when you started monitoring.