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:
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: