Monday, July 16, 2012

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

Every time a new product is released, we get bombarded with loads of new acronyms to try get our heads around. Once we figure out what these acronyms mean, then we have to understand what new features they actually refer to and how (or if) we can use them in our deployments. System Center 2012 Operations Manager (SCOM /OpsMgr 2012) is no different.

APM

When Microsoft acquired AVIcode in 2010 and integrated it into SCOM 2012, we then had access to Application Performance Monitoring or APM straight out of the box. APM brings a new level of deep-dive monitoring and is designed to try and bridge the gap between the development and infrastructure teams responsible for your applications. A while back, I wrote a short series of blog posts on configuring APM and if you want to learn how to set it up in your environment, then check them out using the following link: SCOM 2012 - Configuring Application Performance Monitoring (APM)

CSM

With APM, we get two types of monitoring to work with from an application level. Server-side Monitoring and Client-Side Monitoring - also known as CSM.  CSM works with a specified application from the 'inside' and raises alerts based on the actual code. It also has a pre-requisite that APM Server-Side Monitoring is configured first and that the IIS websites hosting the web application must also be discovered and monitored too.

The screenshot below shows an example of CSM in SCOM 2012


From a performance perspective, CSM can tell us when there is a performance related problem with our application and then deep-dive into it 'to tell us why' there’s a problem. CSM returns real data based on the users experience of the web application.

Web Application Monitoring

Web Application Monitoring is another feature that comes out of the box with SCOM 2012. It works with any given web application's URL to probe the application from the 'outside' using designated watcher nodes that have the SCOM agent installed on them.This type of monitoring also provides the functionality to record web browser sessions and the screenshot below shows an example of this in action.


To use Web Application Monitoring, there's no requirement to have APM or IIS monitoring in place first. Although this type of monitoring can certainly tell us that there's a performance issue when accessing a particular website,  it 'cannot tell us why' there is a problem. Web Application Monitoring simulates the users experience of the web application.

Check out this post for more on Web Application Monitoring: SCOM 2012 - Recording a Web Browser Session

GSM

Recently, Microsoft announced the 2nd Customer Technology Preview (CTP2) release of Service Pack 1 for System Center 2012 which includes a new feature called Global Service Monitor or GSM.  GSM is a cloud based service running on Microsoft's Azure platform that extends SCOM 2012 capabilities by providing a kind of "agents in the cloud" extension to your on-premise monitoring and delivering an 'outside-in' perspective of your applications.

It allows you to schedule automatic synthetic transactions from locations around the world providing the capability to monitor the availability, performance and reliability of your externally facing web applications as shown in the screenshot below. Essentially, GSM also simulates the users experience of the web application.



Microsoft's Åke Pettersson has put together a very informative blog post on configuring GSM that's well worth taking a look at here.


Better Together

From the information above, we can see that on the surface of it, you would be forgiven for thinking that they are all simply application monitoring features that deliver the same 'end goal'. It's understandable that some people might then presume that you don't need to deploy or use all of these features inside your SCOM 2012 environment and that one feature or the other would suffice.

When comparing these different application monitoring features however, it’s important to be aware that it most definitely isn’t a case of choosing one over the other. On the contrary, APM CSM, GSM and Web Application Monitoring all complement each other and, although they all monitor the users experience of the web application, they use very different methods to do it.



The best way to ensure that you get the full '360 Degree' monitoring view of your web applications is to first use APM CSM to deliver the rich in-depth code analysis that you need. Then to have it working in conjuction with GSM and Web Application Monitoring which have responsibility for probing the application websites for availability from locations all around the world and ensuring that web transactions are actually happening in the first place.

Don't forget of course, that if you want to be able to use APM CSM to manage alerts and exceptions that are generated from within your applications, you need to have users hitting your website and using the application in the first place. If nobody can access it by URL or if the performance of it is poor from certain locations around the world, then APM CSM alone won't be able to help you!

All things considered, it's always recommended to configure your application monitoring using a combination of all the above features to get the transparency that you need to be pro-active as opposed to re-active when it comes to resolving availability and performance issues.


An added bonus will also be a happy joining of your Dev and Ops teams when it comes to application troubleshooting!

3 comments:

  1. Hey Kevin, this really doesn't apply to APM but I suppose it could. Do you know any way to correlate the IIS worker process with the app pool PID and have scom recognize this? I have read everywhere that I frequent that the II7 MP does not do this and that there isn't really any talk about it doing this any time soon.
    The problem being here is the application pool pid changes frequently.
    congrats on the MVP! And I will be purchasing this book tomorrow.
    jason

    ReplyDelete
    Replies
    1. Hi Jason,

      Thanks for the comment. I haven't had a requirement in the past to correlate the IIS worker process with the app pool PID and get SCOM to recognise it so unfortunately I don't have a quick and easy solution for you :(

      However, thinking about this, I remember using a VB script from Microsoft a while back that listed the worker processes and associated PID's to application pools. You could possibly use this script to create a custom recovery task anytime the app pool recycles and changes the PID and then you could configure SCOM to monitor the output from a text file to give you the information you need. Certainly a bit of customisation required on your behalf, but you should get what you're looking for from it.

      Here's some links to get you started for the script and also how to monitor text from log files:

      http://aspalliance.com/576_which_w3wpexe_process_belongs_to_which_app_pool_in_iis6_

      http://blogs.technet.com/b/momteam/archive/2012/04/03/kb-monitoring-text-and-csv-log-files-in-system-center-operations-manager.aspx

      Hope this helps!

      Kevin.

      Delete
  2. Well I think both of them are good software for web application monitoring. A good web monitoring services often don’t dig deep enough to detect glitches in the application code, and database or find that problems arise with bugs in your web server or application.

    ReplyDelete