Intro to Azure Monitor – Application Insights for SCOM Admins Part II

For some quick history, SCOM does have the capability to perform code-level monitoring of some .NET apps. This APM feature set traces its roots to the 2010 acquisition of AVIcode which was then introduced as SCOM Application Performance Monitoring in 2012. The underlying tech was incredibly powerful, but it was extremely hard to use effectively within SCOM. In more recent years, SCOM APM has become a little more friendly, but it never quite reached its potential and has unfortunately been plagued by bugs. (The APM SharePoint bug was finally fixed in SCOM 2016 UR6, but it persisted for so long that APM has almost become synonymous in the SCOM world with “how do I disable the APM agent?”)

While Application Insights shares some common development ancestry with SCOM APM, it has matured far beyond the basic APM capabilities offered in SCOM. In the first post I walked through the basics of instrumenting a .NET application with Application Insights in Visual Studio. This is great if you have access to the source code of the app you are looking to monitor, but there are often applications both on premises and in the cloud that you may need to monitor in your environment where you don’t have source code access.

Application Insights answer to this problem, comes in the form of a little known feature called Status Monitor. It works on premises and in any cloud, all you need is a .NET app hosted in IIS and outbound connectivity to Azure. Since not everyone has a .NET app lying around I thought it would be fun to first demo this functionality with one app I know every SCOM Admin will be familiar with, the SCOM web console.

Note: Since I originally wrote this post a new improved version of Status Monitor was released. All the same functionality as before + some feature improvements. Installation is now entirely PowerShell based to enable automated deployments. To learn more see the official docs for the Azure Monitor – Application Insights Agent.

Now a quick disclaimer, I am not suggesting you monitor your production SCOM Web Console with Application Insights, I would actually advise against it. I’ve always found the SCOM web console to be somewhat finicky/brittle and I don’t want anyone to break their prod environment. In this case I have a freshly built SCOM 2016 UR6 test environment running on Hyper-V so I can checkpoint and rollback if SCOM decides it doesn’t want to play nice.

But in a few clicks you can setup monitoring and start taking advantage of features like:

Live Metrics:

Failure Analysis:


Performance Analysis:

Once you play around with Application Insights with SCOM you start to think of other on premises tech that is based on .NET where Status Monitor can add value. As a quick test I spun up an on premises SharePoint 2019 server and adding server side monitoring took just a few minutes.

With SharePoint 2019 you see the advantage of features like Application Map:

End-to-End transaction analysis:

So how do we get this set-up? Watch the video to find out:

2 comments on “Intro to Azure Monitor – Application Insights for SCOM Admins Part II”

  1. Thx for sharing the Video. Have you checked the impact of “Status Monitor” on the Web Application? Is there any Overhead?

    1. Application Insights is designed to be extremely low overhead. In general Status Monitor/runtime monitoring has the potential to have even less overhead than buildtime monitoring in that even though Status Monitor still relies on many of the same aspects of the Application Insights .NET SDKs used in buildtime monitoring since you aren’t manually adding API/SDK calls to your code there is less of a chance that you will make a mistake and instrument something in a sub-optimal manner since most of the configuration is automatic.

      With any monitoring tool there is always the chance that you could encounter some edge case bug that no one has seen before. So while I am extremely pro monitoring, as someone who used to get the page at 3 AM if a system went down, I am always cautious whenever some new change is introduced to an otherwise stable system.

      So with any type of monitoring, no matter how light weight/stable I always recommend testing carefully. My longer answer to a similar question specific to Application Insight buildtime monitoring is here: https://github.com/MicrosoftDocs/azure-docs/issues/25528 .

Leave a Reply

Your email address will not be published. Required fields are marked *

The contents of this site are provided “AS IS” with no warranties, or rights conferred. Example code could harm your environment, and is not intended for production use. Content represents point in time snapshots of information and may no longer be accurate. (I work @ MSFT. Thoughts and opinions are my own.)