.NET Application Performance Monitoring Template
Updated: May 13, 2016
Applies To: System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager
The .NET Application Performance Monitoring (APM) template in System Center 2012 – Operations Manager lets you monitor Internet Information Services (IIS)-hosted .NET applications from server- and client-side perspectives to get details about application performance and reliability that can help you pinpoint root causes of incidents. (For System Center 2012 SP1 only: You can also monitor Windows Services.) When you specify settings, the types of events to collect, the performance goals to measure, and servers to monitor, .NET Application Performance Monitoring reveals how applications are running. You can see how frequently a problem is occurring, how a server was performing when a problem occurred, and the chain of events related to the slow request or method that is raising exceptions. This information is required to partner with software developers and database administrators to help ensure that applications perform correctly and reliably for your customers.
This template lets you monitor applications and web services that are hosted in Internet Information Services (IIS) 7.0. You can select one or more applications or services discovered by the IIS 7.0 management pack and configure monitoring of performance and exception events. You must have the Windows Server 2008 Internet Information Services (IIS) 7.0 management pack installed to monitor applications and web services.
For System Center 2012 SP1, you can use the template to monitor applications and web services that are hosted in Internet Information Services (IIS) 8.0. You can select one or more applications or services discovered by the IIS 8.0 management pack and configure monitoring of performance and exception events. You must have the Windows Server 2012 Internet Information Services (IIS) 8.0 management pack installed to monitor applications and web services.
For more information, see Before You Begin Monitoring .NET Applications
Scenarios
Monitoring Performed by the .NET Application Performance Monitoring Template
Viewing Monitoring Data
Wizard Options
Server-Side Configuration
Advanced Settings for Server-Side Monitoring
Server-Side Customization
Server-Side Modifying Settings
Transaction Properties: Add ASP.NET Web Page
Transaction Properties: Add ASP.NET Web Service
Transaction Properties: Add ASP.NET MVC Page
Transaction Properties: Add WCF Method
Transaction Properties: Add Function
Client-Side Configuration
Advanced Settings for Client-Side Monitoring
Enable Client-Side Monitoring
Client-Side Modifying Settings
Summary
Creating and Modifying .NET Application Performance Monitoring Templates
Viewing .NET Application Performance Monitoring Monitors and Collected Data
Scenarios
Use the .NET Application Performance Monitoring template in scenarios where you have to monitor web-based applications. These scenarios include the following monitoring processes:
Server-Side Monitoring: Single- or Multi-Tier Web Applications
You might have applications that must be running at all times. Use the .NET Application Performance Monitoring template to ensure that your applications are reliable, have no exceptions, and meet service level agreements (SLAs), in short, that they perform correctly on the computers where they are installed.
Client-Side Monitoring: Browser Performance and Reliability
You want to ensure that your customers are having quality web experiences. By creating or editing existing templates, you can extend your server-side monitoring by adding client-side monitoring that measures the browser experience of your customers.
Monitoring Performed by the .NET Application Performance Monitoring Template
By default, the .NET Application Performance Monitoring template configures the following monitoring. You can be enable, disable, and modify monitors in the Advanced Configuration page of the .NET Application Performance Monitoring template.
Monitor description |
Default values |
---|---|
Percentage of exception events per monitored requests |
Enabled, Threshold=15%, Interval=5 minutes |
Percentage of performance events per monitored requests |
Enabled, Threshold=20%, Interval=5 minutes |
Average Request Time |
Enabled, Threshold=10,000 ms, Interval=5 minutes |
Viewing Monitoring Data
All data collected by the .NET Application Performance Monitoring template appears in the .NET Monitoring folder in the Application Monitoring folder in the Monitoring navigation pane. For each of the application groups that you create by using the .NET Application Performance Monitoring template, the template creates a folder under .NET Monitoring. The Application Monitoring folder contains the default views and subfolders that provide health state, Performance views, and alerts related to the application components in the application group. By using the top-level Application Group State view, you can see the health of the individual components and the monitoring configurations that have been enabled. The state of each object matches the state of the targeted object that has the worst health state so that you see the worst state of the monitors that are running. If one or more of the components are shown with an error while at least one other component is healthy, it could indicate a problem with that particular component, such as a credential issue. If all of the components are unhealthy, it could indicate a problem with the infrastructure, such as network connectivity issues.
Application Monitoring folders
To view the state of the individual monitors, open the Health Explorer for each component. Drill down to the unhealthy monitors to see what is making your application unhealthy. For more information, see Monitoring .NET Applications
Wizard Options
When you run the .NET Application Performance Monitoring template, you have to provide values for options as listed in the following tables. Each table represents a single page in the wizard.
General Properties
The following options are available on the General Properties page of the wizard.
Option |
Description |
---|---|
Name |
Enter the friendly name used for the template and application group that you are creating. This name is displayed in the Operations console and used for the folder under the .NET Monitoring folder. Note After you have given the template a name and saved the template, this name cannot be edited without deleting and re-creating the template instance. |
Description |
Describe the application group. (Optional) |
Select destination management pack |
Select the management pack to store the views and configuration created by the template. Use the same name for your new management pack as the application group so you can easily pair the two names. You can use an existing management pack or create a new management pack. For more information about management packs, see Selecting a Management Pack File. |
What to Monitor
The following options are available on the What to Monitor page of the wizard.
Option |
Description |
---|---|
Application components, Add |
Search for and add or remove the application components to monitor. When you click Add, the Object Search page opens, which lets you select whether you want to monitor Web Applications and Services. For System Center 2012 SP1 only: You can monitor Windows Services. Note For System Center 2012 SP1 only: Before you begin monitoring Windows Services, you need to configure Windows Services using the Windows Service template. Once you do this, the.NET Application Performance Monitoring template can discover the Windows Services that are running. For more information, see Authoring the Windows Service Template. |
Environment |
Select the environment in which you want to monitor your application: None, Production, Staging, Test, Development, or use New to create a new tag. Typically, you want to pair the environment tag with the server group that you are monitoring. The tag is appended to the application group name and component names, letting you differentiate the event data in Application Diagnostics and Application Advisor. From a monitoring perspective, the environment tag lets you separate the same application into multiple virtual applications. Note After you have selected an environment tag and saved the template, the tag cannot be edited without deleting and re-creating the template instance. |
Targeted group |
Select specific servers to limit monitoring to this specific set of servers. This is optional. Targeted group scoping only becomes necessary when you have the same application running in multiple environments, such as production and staging, and you intend to run the template multiple times, one for each environment. In this scenario, group which machines belong to production and which belong to the staging environment, and then use the targeted groups to restrict where the configuration is propagated. You can also use groups to apply configuration to a subset of your servers. Otherwise, it is not necessary to specify targeted group scoping if you just want to monitor all instances of a given application. |
Object Search
The following options are available on the Object Search page of the wizard.
Option |
Description |
---|---|
Search for |
Select Web Applications and Services. For System Center 2012 SP1 only: You can also select Windows Services. Note For System Center 2012 SP1, before you begin monitoring Windows Services, you need to configure Windows Services using the Windows Service template. Once you do this, the.NET Application Performance Monitoring template can discover the Windows Services that are running. For more information, see Authoring the Windows Service Template |
Filter by part of name (optional) |
Enter part of the name of Web Application and Services that you want to select. For System Center 2012 SP1 only: You can also enter part of the name of a Windows Service that you want to select. |
Available items |
Displays the Windows Web Application and Services that are available for monitoring. For System Center 2012 SP1 only: Also displays the Windows Services that are available for monitoring. |
Selected objects |
Displays the application components that you have selected to monitor. |
Server-Side Configuration
The following options are available on the Server-Side Configuration page of the wizard.
Option |
Description |
---|---|
Turn on performance event alerts |
Turn performance event alert reporting for the application group on or off within the Operations console for server-side monitoring. Performance events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Turn on exception event alerts |
Turn the exception event alert notification for the application group on or off within the Operations console for server-side monitoring. Exception events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a user transaction must exceed before it raises a performance event. |
Advanced Settings |
Set advanced configurations, including sensitivity (restricting the collection of fast functions), namespaces (that define where you want to collect data from custom applications), methods (specific functions where you want to start monitoring), custom exception handlers (that define critical exceptions), and customize the configuration of the monitors that affect the component health state. |
Enable additional configuration options for server-side and client-side monitoring |
Specify additional options in the wizard to customize monitoring for individual application components and client-side monitoring. |
Advanced Settings for Server-Side Monitoring
The following options are available on the Advanced Settings for server-side monitoring page of the wizard.
Option |
Description |
---|---|
Turn on performance event alerts |
Turn performance event alert reporting for the application group on or off within the Operations console for server-side monitoring. Performance events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Turn on exception event alerts |
Turn the exception event alert notification for the application group on or off within the Operations console for server-side monitoring. Exception events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a request must be processed in before it causes a performance event. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. For more information, see Authoring Strategies for .NET Application Monitoring |
Set Namespaces |
Specify namespaces and classes where to start measuring for performance events and performance threshold violations, and define which namespaces should be treated by default as entry points. For more information, see How to Add, Enable, and Disable Namespaces |
Set Methods |
Specify how deep in the call stack to drill down to collect more detailed information, such as parameters and variables, for specific methods. For more information, see How to Add, Edit, and Remove Methods |
Security alerts |
Turn alerting of exceptions on or off that are classified as security alerts for the application group, with errors such as “Access Denied” or “Login Failed”. Security events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Connectivity alerts |
Turn alerting of exceptions on or off that are classified as connectivity alerts for the application group, with errors such as “Connection timed out”. Connectivity events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Application failure alerts |
Turn alerting of exceptions on or off that are classified as application, or code, failures for the application group. By default, this option is turned off to reduce the “noise” of alerts raised due to code failures that typically only development teams can resolve. For more information, see Authoring Strategies for .NET Application Monitoring Exception events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Critical exceptions only |
Specify whether the exception is considered relevant by the Application Performance Monitoring agent and whether an event is created. An event is created if the exception raised is one of those in the list of critical exception handlers. For more information, see Using Exception Handlers to Define Critical Exceptions |
All exceptions |
Specify whether all exceptions are considered relevant by the Application Performance Monitoring agent and events are created when exceptions are detected in monitored namespaces and classes. |
Exception Tracking |
Select to add namespace or classes where you track exception parameters or variables, and collect additional information about each exception that a namespace or class raised. For more information, see How to Add, Edit, and Remove Exception Tracking |
Critical Exceptions |
Select to add items to the Exception handlers list. Define exception handlers that catch critical exceptions that an application raised. For more information, see Using Exception Handlers to Define Critical Exceptions |
Monitors: Exception Events/sec exceeds |
Monitor that watches the .NET App/% Exception Events/sec performance counter. |
Monitors: Performance Events/sec exceeds |
Monitor that watches the .NET Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time exceeds |
Monitor that watches the .NET Apps/Average Request Time performance counter. |
Targeted group |
Select specific servers to limit monitoring to this specific set of servers. This is optional. Targeted group scoping only becomes necessary when you have the same application running in multiple environments, such as production and staging, and you intend to run the template multiple times, one for each environment. In this scenario, group which machines belong to production and which belong to the staging environment, and then use the targeted groups to restrict where the configuration is propagated. You can also use groups to apply configuration to a subset of your servers. Otherwise, it is not necessary to specify targeted group scoping if you just want to monitor all instances of a given application. |
Server-Side Customization
For System Center 2012 SP1, the following options are available on the Server-Side Customization page of the wizard.
Option |
Description |
---|---|
Component |
Select the component you want to customize for monitoring individual application components. |
Customize |
Modify the settings for the selected application component. This opens the Modifying Settings page. The settings on this page are the same as those on the Advanced Settings for Server-Side Monitoring page, except you can create individual transaction monitoring for ASP.NET webpages, ASP.NET web services, or individual functions in an assembly. These are described in the Transaction Properties: Add ASP.NET Web Page sections that follow. Note The buttons for namespaces, exception tracking, and critical exceptions are unavailable because these can only be set at the application-group level, not at the component level. For System Center 2012 SP1 only: you can customize these settings if you are configuring monitoring for Windows Services. |
Modifying Settings page |
Customize settings for the application component and/or specify monitoring for a specific webpage, web method, or function within the application component. |
Server-Side Modifying Settings
The following options are available on the Server-Side Modifying Settings page of the wizard.
Option |
Description |
---|---|
Turn on performance event alerts |
Turn performance event alert reporting for the application group on or off within the Operations console for server-side monitoring. Performance events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Turn on exception event alerts |
Turn the exception event alert notification for the application group on or off within the Operations console for server-side monitoring. Exception events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a request must be process in before it causes a performance event. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. For more information, see Authoring Strategies for .NET Application Monitoring |
Set Methods |
Specify how deep in the call stack to drill down to collect more detailed information, such as parameters and variables, for specific methods. For more information, see How to Add, Edit, and Remove Methods |
Security alerts |
Turn on or off alerting of exceptions classified as security alerts for the application component, with errors such as “Access Denied” or “Login Failed”. Security events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Connectivity alerts |
Turn on or off alerting of exceptions classified as connectivity errors for the application component, such as “Connection Timed Out”. Connectivity events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Application failure alerts |
Turn on or off alerting of exceptions classified as application, or code, failures for the application component. By default, this option is turned off to reduce the “noise” of alerts raised due to code failures that typically only development teams can resolve. For more information, see Authoring Strategies for .NET Application Monitoring Exception events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Critical exceptions only |
Specify whether the exception is considered relevant by the Application Performance Monitoring agent and whether an event is created. An event is created if the exception raised is one of those in the list of critical exception handlers. For more information, see Using Exception Handlers to Define Critical Exceptions |
All exceptions |
Specify whether all exceptions are considered relevant by the Application Performance Monitoring agent and events are created when exceptions are detected in monitored namespaces and classes. |
Monitors: Exception Events/sec exceeds |
Monitor that watches the .NET App/% Exception Events/sec performance counter. |
Monitors: Performance Events/sec exceeds |
Monitor that watches the .NET Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time exceeds |
Monitor that watches the .NET Apps/Average Request Time performance counter. |
Transactions: Add |
Add transactions for ASP.NET web pages, ASP.NET Web services, and functions. See the following tables. |
Targeted group |
Select specific servers to limit monitoring to this specific set of servers. This is optional. Targeted group scoping only becomes necessary when you have the same application running in multiple environments, such as production and staging, and you intend to run the template multiple times, one for each environment. In this scenario, group which machines belong to production and which belong to the staging environment, and then use the targeted groups to restrict where the configuration is propagated. You can also use groups to apply configuration to a subset of your servers. Otherwise, it is not necessary to specify targeted group scoping if you just want to monitor all instances of a given application. |
Note
The buttons for namespaces, exception tracking, and critical exceptions are unavailable because these can only be set at the application-group level, not at the component level. For System Center 2012 SP1 only: You can customize these settings if you are configuring monitoring for Windows services.
Application types and server-side transactions you can monitor
For each application type there are several transaction types you can choose to monitor. The following options are available:
Application type |
Transaction types for System Center 2012 |
Transaction types for System Center 2012 SP1 |
---|---|---|
ASP.NET Web application |
|
|
ASP.NET Web service |
|
|
WCF service |
Not available |
|
Windows service |
Not available |
|
Transaction Properties: Add ASP.NET Web Page
The following options are available on the Transaction Properties page for ASP.NET Web Page page of the wizard.
Option |
Description |
---|---|
Transaction name |
Enter the friendly name for the transaction as it will be displayed on the Monitoring tab, performance counters, and elsewhere. |
ASP.NET page |
Enter the path to the page that you are configuring these monitoring settings for. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a user transaction must exceed before it raises a performance event. Note The application component continues to monitor the page specified in the transaction by using the performance threshold that is set for the application component. This threshold is used as a second measure on the same page in the application component. If you set this threshold higher than the application component threshold, you get a single event, but you might get two performance alerts for the transaction when the threshold is breached—one from the application component and one from the transaction, depending on your alerting settings. Transactions are typically used to monitor the individual page more aggressively than the parent application, at a lower threshold, or to monitor a page where alerting has been disabled on the parent. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. An event is still generated if the threshold is surpassed. For more information, see Authoring Strategies for .NET Application Monitoring |
Collect alerts by event type: Connectivity |
Turn on or off alerting of events, classified as connectivity alerts with errors such as “Connection Timed Out”. Connectivity events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Application failure |
Turn on or off alerting of events classified as application, or code, failures. Turning this off reduces the “noise” of many alerts raised due to code failures. Because these alerts are raised from code failures, developers usually resolve these issues. For more information, see Authoring Strategies for .NET Application Monitoring Exception events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Security |
Turn on or off alerting of events classified as security alerts, with errors such as “Access Denied” or “Login Failed”. Security events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Performance |
Turn on or off alerting of events classified as performance alerts. Performance events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Monitors: % Exception Events/sec |
Monitor that watches the .NET App/% Exception Events/sec performance counter. |
Monitors: % Performance Events/sec |
Monitor that watches the .NET Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time |
Monitor that watches the .NET Apps/Average Request Time performance counter. |
Transaction Properties: Add ASP.NET Web Service
The following options are available on the Transaction Properties page for the ASP.NET Web Service page of the wizard.
Option |
Description |
---|---|
Transaction name |
Enter the friendly name for the transaction as it will be displayed on the Monitoring tab, performance counters, and so on. |
Web service file |
Enter the path to the file for which you are configuring these monitoring settings. |
Method name |
Enter the URI of the web method that you want to monitor. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a user transaction must exceed before it raises a performance event. Note The application component continues to monitor the page specified in the transaction by using the performance threshold that is set for the application component. This threshold is used as a second measure on the same page in the application component. If you set this threshold higher than the application component threshold, you get a single event, but you might get two performance alerts for the transaction when the threshold is breached—one from the application component and one from the transaction, depending on your alerting settings. Transactions are typically used to monitor the individual page more aggressively than the parent application, at a lower threshold, or to monitor a page where alerting has been disabled on the parent. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. For more information, see Authoring Strategies for .NET Application Monitoring |
Collect alerts by event type: Connectivity |
Turn on or off alerting of events classified as connectivity alerts, with errors, such as “Connection Timed Out”. Connectivity events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Application failure |
Turn on or off alerting of events classified as application, or code, failures. Turning this option off reduces the “noise” of many alerts raised due to code failures. Because these alerts are raised from code failures, developers usually resolve these issues. For more information, see Authoring Strategies for .NET Application Monitoring Exception events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Security |
Turn on or off alerting of events classified as security alerts, with errors such as “Access Denied” or “Login Failed”. Security events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Performance |
Turn on or off alerting of events classified as performance alerts. Performance events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Monitors: % Exception Events/sec |
Monitor that watches the .NET App/% Exception Events/sec performance counter. |
Monitors: % Performance Events/sec |
Monitor that watches the .NET Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time |
Monitor that watches the .NET Apps/Average Request Time performance counter. |
Transaction Properties: Add ASP.NET MVC Page
For System Center 2012 SP1 the following options are available on the Transaction Properties for the ASP.MVC page of the wizard.
Option |
Description |
---|---|
Transaction name |
Enter the friendly name for the transaction as it will be displayed on the Monitoring tab, performance counters, and so on. |
MVC controller |
Enter the name of the MVC controller for which you are configuring these monitoring settings. |
MVC action |
Specify the name of the MVC action for which you are configuring these monitoring settings. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a user transaction must exceed before it raises a performance event. Note The application component continues to monitor the page specified in the transaction by using the performance threshold that is set for the application component. This threshold is used as a second measure on the same page in the application component. If you set this threshold higher than the application component threshold, you get a single event, but you might get two performance alerts for the transaction when the threshold is breached—one from the application component and one from the transaction, depending on your alerting settings. Transactions are typically used to monitor the individual page more aggressively than the parent application, at a lower threshold or to monitor a page where monitoring has been disabled on the parent. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. For more information, see Authoring Strategies for .NET Application Monitoring |
Collect alerts by event type: Connectivity |
Turn on or off alerting of events classified as connectivity alerts, with errors such as “Connection Timed Out”. Connectivity events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Application failure |
Turn on or off alerting of events classified as application, or code, failures. Turning this option off reduces the “noise” of many alerts raised due to code failures. Because these alerts are raised from code failures, developers usually resolve these issues. For more information, see Authoring Strategies for .NET Application Monitoring Exception events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Security |
Turn on or off alerting of events classified as security alerts with errors such as “Access Denied” or “Login Failed”. Security events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Performance |
Turn on or off alerting of events classified as performance alerts. Performance events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Monitors: % Exception Events/sec |
Monitor that watches the .NET App/% Exception Events/sec performance counter. |
Monitors: % Performance Events/sec |
Monitor that watches the .NET Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time |
Monitor that watches the .NET Apps/Average Request Time performance counter. |
Transaction Properties: Add WCF Method
The following options are available on the Transaction Properties for the Add WCF method settings page of the wizard.
Option |
Description |
---|---|
Transaction name |
Enter the friendly name for the transaction as it will be displayed on the Monitoring tab, performance counters, and so on. |
Class name |
Enter the name of the class for which you are configuring these monitoring settings. The class name is in the format: Namespace.Class. For example: wcfservice.myclass. |
Method name |
Specify the name of the method that is expected to be in the class for which you are configuring these monitoring settings. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a user transaction must exceed before it raises a performance event. Note The application component continues to monitor the page specified in the transaction by using the performance threshold that is set for the application component. This threshold is used as a second measure on the same page in the application component. If you set this threshold higher than the application component threshold, you get a single event, but you might get two performance alerts for the transaction when the threshold is breached—one from the application component and one from the transaction, depending on your alerting settings. Transactions are typically used to monitor the individual page more aggressively than the parent application, at a lower threshold or to monitor a page where alerting has been disabled on the parent. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. For more information, see Authoring Strategies for .NET Application Monitoring |
Collect alerts by event type: Connectivity |
Turn on or off alerting of events classified as connectivity alerts, with errors such as “Connection Timed Out”. Connectivity events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Application failure |
Turn on or off alerting of events classified as application, or code, failures. Turning this option off reduces the “noise” of many alerts raised due to code failures. Because these alerts are raised from code failures, developers usually resolve these issues. For more information, see Authoring Strategies for .NET Application Monitoring Exception events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Security |
Turn on or off alerting of events classified as security alerts with errors such as “Access Denied” or “Login Failed”. Security events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Performance |
Turn on or off alerting of events classified as performance alerts. Performance events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Monitors: % Exception Events/sec |
Monitor that watches the .NET App/% Exception Events/sec performance counter. |
Monitors: % Performance Events/sec |
Monitor that watches the .NET Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time |
Monitor that watches the .NET Apps/Average Request Time performance counter. |
Transaction Properties: Add Function
The following options are available on the Transaction Properties for the Add Function page of the wizard.
Option |
Description |
---|---|
Transaction name |
Enter the friendly name for the transaction as it will be displayed on the Monitoring tab, performance counters, and so on. |
Function name |
Enter the name of the function for which you are configuring these monitoring settings. The function name is in the format: Namespace.Class.Method. For example: System.Web.UI.Page.ProcessRequest. |
Function module |
Specify the name of the assembly, such as System.Web.dll, that defines the function for which you are configuring these monitoring settings. |
Performance event threshold (ms) |
Set the threshold in milliseconds (ms) that a user transaction must exceed before it raises a performance event. Note The application component continues to monitor the page specified in the transaction by using the performance threshold that is set for the application component. This threshold is used as a second measure on the same page in the application component. If you set this threshold higher than the application component threshold, you get a single event, but you might get two performance alerts for the transaction when the threshold is breached—one from the application component and one from the transaction, depending on your alerting settings. Transactions are typically used to monitor the individual page more aggressively than the parent application, at a lower threshold or to monitor a page where alerting has been disabled on the parent. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. For more information, see Authoring Strategies for .NET Application Monitoring |
Collect alerts by event type: Connectivity |
Turn on or off alerting of events classified as connectivity alerts, with errors such as “Connection Timed Out”. Connectivity events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Application failure |
Turn on or off alerting of events classified as application, or code, failures. Turning this option off reduces the “noise” of many alerts raised due to code failures. Because these alerts are raised from code failures, developers usually resolve these issues. For more information, see Authoring Strategies for .NET Application Monitoring Exception events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Security |
Turn on or off alerting of events classified as security alerts with errors such as “Access Denied” or “Login Failed”. Security events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Collect alerts by event type: Performance |
Turn on or off alerting of events classified as performance alerts. Performance events are logged to the Application Diagnostics console. You have the option to choose whether to raise alerts after an Application Performance Monitoring event is generated. |
Monitors: % Exception Events/sec |
Monitor that watches the .NET App/% Exception Events/sec performance counter. |
Monitors: % Performance Events/sec |
Monitor that watches the .NET Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time |
Monitor that watches the .NET Apps/Average Request Time performance counter. |
Client-Side Configuration
The following options are available on the Client-Side Configuration page of the wizard.
Option |
Description |
---|---|
Turn on performance event alerts |
Turn performance event alert reporting on or off within the Operations console for server-side monitoring. Performance events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Turn on exception event alerts |
Turn exception event alert reporting on or off within the Operations Manager console for server-side monitoring. Exception events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Page load threshold (ms) |
Set the threshold in milliseconds (ms) that a page load must exceed before it causes a performance event. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. The event is only turned into an alert if you have selected Turn on performance event alerts. |
IP address filter: IP Address |
Specify the IP addresses that you want to exclude from monitoring. For more information, see How to Configure IP Address Exclusion Filters for Client-Side Monitoring |
IP address filter: Netmask |
The part of the filter IP address and user IP address that have to be compared for equality. |
IP address filter: Comparison Type |
Specify to exclude IP addresses that match the IP addresses in the subnet (IP is in subnet), or to exclude the user IP addresses that do not match the IP addresses in the subnet (IP is not in subnet). |
IP address filter: Use IPv6 |
Add the IPv6 filter if the IPv6 protocol is enabled on the web server. |
Advanced Settings |
Specify settings, such as performance and event monitoring thresholds, exception event monitoring, Critical Exceptions, and monitors. |
Advanced Settings for Client-Side Monitoring
The following options are available on the Advance Settings for Client-Side Monitoring page of the wizard.
Option |
Description |
---|---|
Turn on performance event alerts |
Turn performance event alert reporting on or off within the Operations console for server-side monitoring. Performance events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Turn on exception event alerts |
Turn exception event alert notification on or off within the Operations console for server-side monitoring. Exception events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Page load threshold (ms) |
Set the threshold in milliseconds (ms) that a page load must exceed before it causes a performance event. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. The event is only turned into an alert if you have selected Turn on performance event alerts. |
Ajax and WCF threshold (ms) |
Set the threshold in milliseconds (ms) that an Ajax or Windows Communications Foundation (WCF) call initiated from the page must exceed before it causes a performance event. The event is only turned to an alert if you have selected Turn on performance event alerts. |
Monitor % of incoming requests. |
Specify a sample size of incoming requests, defined as a percentage of the total number of incoming requests that you want to monitor. For more information, see Authoring Strategies for .NET Application Monitoring |
IP address: IP Address |
Specify the IP addresses that you want to exclude from monitoring. For more information, see How to Configure IP Address Exclusion Filters for Client-Side Monitoring |
IP address: Netmask |
Specify the part of the filter IP address and user IP address that have to be compared for equality. |
IP address: Comparison Type |
Specify to exclude IP addresses that match the IP addresses in the subnet (IP is in subnet), or to exclude the user IP addresses that do not match the IP addresses in the subnet (IP is not in subnet). |
IP address: Use IPV6 |
Specify to add the IPv6 filter if the IPv6 protocol is enabled on the web server. |
Monitors: Exception Events\sec exceeds |
Monitor that watches the .NET CSM Apps/% Exceptions Events/sec performance counter. |
Monitors: Performance Events\sec exceeds |
Monitor that watches the .NET CSM Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time exceeds |
Monitor that watches the .NET CSM Apps/Average Page Load Response Time performance counter. |
Data Items |
Select the type of client-side data that you want to collect. For more information, see Working with Sensitive Data for .NET Applications |
Load balancer settings |
Select the type of load balancer that you are using with your application. You can also add your own load balancer, if it is not included in the list. For more information, see Client-Side Monitoring with Targeted Groups and Load Balancers |
Targeted group |
Select specific servers to limit monitoring to this specific set of servers. This is optional. Targeted group scoping only becomes necessary when you have the same application running in multiple environments, such as production and staging, and you intend to run the template multiple times, one for each environment. In this scenario, group which machines belong to production and which belong to the staging environment, and then use the targeted groups to restrict where the configuration is propagated. You can also use groups to apply configuration to a subset of your servers. Otherwise, it is not necessary to specify targeted group scoping if you just want to monitor all instances of a given application. |
Enable Client-Side Monitoring
The following options are available on the Enable Client-Side Monitoring page of the wizard.
Option |
Description |
---|---|
Component |
Select the component you want to customize for monitoring individual application components. Only the components of the ASP.NET Web application type are displayed. Web Services and WCF Services do not serve HTML pages to browsers, so you cannot enable client-side monitoring for them. For System Center 2012 SP1 only: .NET applications hosted in Windows Services do not serve HTML pages to browsers, so you cannot enable client-side monitoring for them. |
Customize |
Modify the settings for the selected application component. This opens the Modifying Settings page. The settings on this page are similar to those on the Advanced Settings for Client-Side Monitoring page. On the Modifying Settings page, you can specify the pages to be excluded from monitoring. |
Targeted group |
Select specific servers to limit monitoring to this specific set of servers. This is optional. Targeted group scoping only becomes necessary when you have the same application running in multiple environments, such as production and staging, and you intend to run the template multiple times, one for each environment. In this scenario, group which machines belong to production and which belong to the staging environment, and then use the targeted groups to restrict where the configuration is propagated. You can also use groups to apply configuration to a subset of your servers. Otherwise, it is not necessary to specify targeted group scoping if you just want to monitor all instances of a given application. |
Client-Side Modifying Settings
The following options are available on the Client-Side Modifying Settings page of the wizard.
Option |
Description |
---|---|
Turn on performance event alerts |
Turn performance event alert reporting on or off within the Operations console for server-side monitoring. Performance events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Turn on exception event alerts |
Turn exception event alert reporting on or off within the Operations console for server-side monitoring. Exception events are still logged to the Application Diagnostics console. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. |
Page load threshold (ms) |
Set the threshold in milliseconds (ms) that a page load must exceed before it causes a performance event alert. You have the option whether to raise alerts after an Application Performance Monitoring event is generated. The event is only turned into an alert if you have selected Turn on performance event alerts. |
Ajax and WCF threshold (ms) |
Sets the threshold in milliseconds that an Ajax or Windows Communications Foundation (WCF) call initiated from the page must exceed before it causes a performance event. The event is only turned into an alert if you have selected Turn on performance event alerts. |
Sensitivity threshold (ms) |
Specify to filter out fast-running methods to reduce overall “noise” by reducing the size of the call stack by gathering less data for each event. For more information, see Authoring Strategies for .NET Application Monitoring |
Monitor % of incoming requests. |
Specify a sample size of incoming requests, defined as a percentage of the total number of incoming requests that you want to monitor. For more information, see Authoring Strategies for .NET Application Monitoring |
IP address: IP Address |
Enter the IP addresses that you want to exclude from monitoring. For more information, see How to Configure IP Address Exclusion Filters for Client-Side Monitoring |
IP address: Netmask |
Specify the part of the filter IP address and user IP address that have to be compared for equality. |
IP address: Comparison Type |
Specify to exclude IP addresses that match the IP addresses in the subnet (IP is in subnet), or to exclude the user IP addresses that do not match the IP addresses in the subnet IP is not in subnet). |
IP address: Use IPV6 |
Specify to add the IPv6 filter if the IPv6 protocol is enabled on the web server. |
Monitors: Exception Events\sec exceeds |
Monitor that watches the .NET CSM Apps/% Exceptions Events/sec performance counter. |
Monitors: Performance Events\sec exceeds |
Monitor that watches the .NET CSM Apps/% Performance Events/sec performance counter. |
Monitors: Average Request Time exceeds |
Monitor that watches the .NET CSM Apps/Average Page Load Response Time performance counter. |
Data collection |
Select the type of client-side data you want to collect. For more information, see Working with Sensitive Data for .NET Applications |
Load balancer settings |
Select the type of load balancer that you are using with your application. You can also add your own load balancer, if it is not included in the list. For more information, see Client-Side Monitoring with Targeted Groups and Load Balancers. |
Excluded pages: Add |
Specify to add the pages to exclude from monitoring. You typically exclude pages that are considered unimportant for given metrics or that did not pass the compatibility check. |
Transactions: Add |
Specify transactions to add for ASP.NET web pages. |
Targeted group |
Select specific servers to limit monitoring to this specific set of servers. This is optional. Targeted group scoping only becomes necessary when you have the same application running in multiple environments, such as production and staging, and you intend to run the template multiple times, one for each environment. In this scenario, group which machines belong to production and which belong to the staging environment, and then use the targeted groups to restrict where the configuration is propagated. You can also use groups to apply configuration to a subset of your servers. Otherwise, it is not necessary to specify targeted group scoping if you just want to monitor all instances of a given application. |
Summary
The Summary page of the wizard lists the settings you have configured for the .NET Application Performance Monitoring template. If you want to change any of these settings, click Previous or the template page until you reach the page with the settings that you want to change.
Creating and Modifying .NET Application Performance Monitoring Templates
For the procedure to run the .NET Application Performance Monitoring wizard, see How to Configure Monitoring for .NET Applications.
To modify an existing .NET Application Performance Monitoring template
-
Open the Operations console with a user account that has Author credentials in the management group.
-
Click the Authoring workspace.
-
In the Authoring navigation pane, expand Management Pack Templates, and then select .NET Application Performance Monitoring.
-
In the .NET Application Performance Monitoring pane, locate the template to change.
-
Right-click the application group that you want to modify, and then select Properties.
-
Using the tabs to navigate the pages of settings, make the desired changes, such as adding customized monitoring for a specific application component or configuring and enabling client-side monitoring, and then click OK.
Viewing .NET Application Performance Monitoring Monitors and Collected Data
After you configure monitoring for an application, these three views will help you get started with the monitoring experience.
To view all .NET Application Performance Monitoring monitored applications
-
Open the Operations console.
-
Click the Monitoring workspace.
-
In the Monitoring navigation pane, expand Application Monitoring, expand .NET Monitoring, and then click Monitored Applications.
To view the state of each monitor
-
Open the Operations console.
-
Click the Monitoring workspace.
-
In the Monitoring navigation pane, expand Application Monitoring, expand .NET Monitoring, and then click Monitored Applications.
-
In the Monitored Applications view, right-click an object. Select Open, and then click Health Explorer.
-
Expand the Availability and Performance nodes to view the individual monitors.
To view the performance collected for an application component
-
Open the Operations console.
-
Click the Monitoring workspace.
-
In the Monitoring navigation pane, expand Application Monitoring, expand .NET Monitoring, and then click Monitored Applications.
-
In the Monitored Applications pane, right-click an object. Select Open, and then click Performance View.
-
In the Legend pane, select the counters that you want to view.
-
Use options in the Actions pane to modify the Performance view.