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.

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:

Troubleshooting: SCOM Web Console 500 – Internal Server Error

This is a problem that I occasionally see crop up in customer environments, but until now I had never bothered to document the issue.

Symptoms:

Customer is able to log into the web console successfully but when they click on certain views like the active alerts view they see the following error:

01

Anytime there is an issue with the web console my first suggestion is to attempt to recreate the problem as localhost on the machine that hosts the webconsole. If the server has the same problem locally you know where to start troubleshooting, if it is only happening on client machines it could be firewall or some problem at the client level.

When we tested from SCOM web console server we get the same error, but this time with a little bit more information:

02

This may not seem useful, but this is actually telling us exactly where the problem is. Note the Version=2.0.0.0 in regards to .Net Framework. This is telling what version of the Framework is expected for this particular app pool.

If we navigate to IIS we see the following:

03

OperationsManagerMonitoringView is set to v.40, but it should be set to v.2.0. We need to edit the Basic Setting and select the drop down with v2.0

04

After that we need to recycle the Application Pool via the Application Pool task

05

Then just logout of the webconsole and back in and all will be well.

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.)