Monday, July 23, 2012

SCOM 2012 - The APM Consoles Part 1 - Application Diagnostics

I don't know about you, but as a System Center consultant, I really appreciate when new features give us new consoles to work with as it keeps things different during deployments and when presenting.

With System Center 2012 Operations Manager (SCOM / OpsMgr 2012), we have the new Application Performance Monitoring (APM) feature that allows us to deep-dive into the code of our .NET applications from a server and client-side perspective. APM comes with two new web consoles that are installed together during the deployment of the SCOM 2012 Web Console role.

These are the Application Diagnostics and Application Advisor consoles and the aim of this short blog series is to give people a much better understanding of what they can do and how you can use them when managing your applications from an APM perspective.

If you haven't yet configured APM in your environment or still aren't too sure about exactly what it is, then check out these previous posts to get you started before reading through this series:

SCOM 2012 - Configuring Application Performance Monitoring (APM)

SCOM 2012 - APM CSM vs. GSM and Web Application Monitoring....Confused?

Application Diagnostics Console Overview

Known as SE Viewer in AVIcode 5.7, the Application Diagnostics console is used to organize and link events across your monitored .NET applications to help you quickly ascertain the root cause of a problem. It allows you to analyze the individual performance and reliability events that are being raised within your .NET application along with the transaction chains related to those events to help you to understand how these types of issues are impacting your business applications.

This console will be of definite interest to the members of the development team as it returns a whole raft of additional information that isn't available within the standard SCOM 2012 console as shown in the screenshot below.


If you want to launch the Application Diagnostics console, there are several ways to do this. The easiest way is to open up a web browser and then input the URL of the Management Server that you've deployed the Web Console role to while adding /AppDiagnostics to the end of it similar to:


Another way to launch the Application Diagnostics console is to logon to the server that you installed the Web Console to and browse to the built-in Start Menu shortcut at All Programs > Microsoft System Center 2012 > Operations Manager > Application Diagostics as shown below

Lastly and probably the most common way that you'll launch this console is by clicking on the scoped URL link in the Alert Description or Alert Context pane of an APM alert that is located in the Monitoring > Application Monitoring > .NET Monitoring > Active Alerts view of the Operations Manager console. The screenshot below shows an example of the scoped URL presented from within the Alert Description tab of one of these alerts.


Regardless of the method used to open the Application Diagnostics console, you will still need to ensure that the user account you are logged in with has the relevant security permissions within SCOM to launch it. Your user account must be a member of the following roles:
  • Operations Manager Administrator Role
  • Operations Manager Application Monitoring Operator Role

Inside the Console

When you've launched the console, there are four navigation buttons that you can click on. Each one represents a different area that you can browse to that deliver the type of application diagnostics required to quickly find the root cause of a problem.

These buttons are shown in the screen below

Computers Button

 The Computers button gives you information on the computers that are hosting your .NET applications. From here, you can create and select new Application Groups that allow you to focus in on events orginating from the same applications.

You also have the option of choosing between a Configuration view or a Resource Utilization view

The Configuration view lists the computers that your monitored .NET applications are running on and delivers basic information about the number of CPU cores they're running and their monitored processes too.

The Resource Utilization view also lists the computers that are running your .NET applications but returns additional information about resources such as % CPU Time, Memory, I/O and Application Load.

If you click on the name of a computer from within either the Configuration or Resource Utilization views, you'll then be presented with a new window containing four tabs listed as follows:

  • Key Metrics - Average and peak values of the computers key metrics
  • Trend Reports - Reports on APM related performance counters over a given period
  • Monitored Processes - Details over a specified time, the process name, uptime and additional information such as PID, Framework version and application pool type
  • Monitored Applications - Overview of applications being monitored along with number of events, sessions and requests

The screenshot below shows the four different tabs when clicking on a computer from within the Resource Utilization view

Applications Button

Clicking on the Applications button will give you a view very similar to the view you would see when clicking the Computers button as described above. However, this view displays information on the actual .NET applications as opposed to the computers that host them.

Inside here, you'll see that you can still filter using scoped Application Groups if you wish however, clicking on an application from the central pane will present four slightly different tabs to work with. These tabs are:

  • Key Metrics - Display a performance graph with data from the application on its load, monitored requests and average request time.
  • Trend Reports - View trend reports on APM related performance counters over a given period
  • Computers - An overview of the computers being monitored along with the number of events, sessions and requests.
  • Topology - Overview of the basic topology of the application and gives a breakdown of where the events are happening based on chains across the server-side and client-side components.

My personal favorite option here is the Topology tab and here you can segment alerts between the different .NET application components over a specified discovery period as shown below

Clicking on either the server or client-side component within this Topology view, will open an Events view for your application with only the events and alerts that have been scoped for that specific application component source as seen in this screenshot

Events Button

Clicking on this button generally shows a large amount of alerts and events in the central pane, however, we have the option to filter event data based on criteria such as:

  • Status (New, Reviewed, Deleted and By Design)
  • Aspects  (Application Failure, Connectivity, Security and Performance)
  • Event ID
  • Description
  • User
  • Date (Any Date, From Recent Perfiod and Between Dates)
  • Location (Sources and Computers)
  • Client Data (IP and Session ID)

In this view and from the central pane, we can see two different Sources for .NET application generated events (client-side and server-side) and these are easily identified in the Source column. When you click on an event here, the Source of the event will determine the different tab options available to you.

The Aspect of your event will also determine the type of information returned back to you and if you want to see the well known (and often demonstrated) graphic of a client-side performance event, then click on a client-side event with an Aspect type of Performance as shown below

Clicking on this type of event should then produce information similar to the following familiar screenshot

Advisor Button

Lastly, the only purpose of this button is to act as a shortcut to launch the Application Advisor console directly from inside the Application Diagnostics console. Part 2 in this series will cover Application Advisor in more detail.

No comments:

Post a Comment