Integrating System Center Operation Manager [SCOM] with external monitoring tool [Application]

3.7k views Asked by At

WHAT AM I TRYING TO ACHIEVE

Synopsis:
Trying to create an API or connector for an inhouse monitoring tool that integrates with SCOM [System Center/Microsoft System Operations Manager 2012].

Our tool has a restful page with all the necessary endpoints and simply would like SCOM to read the status of those endpoints.

Thus far according to SCOM documentation and my understanding, I need to build a management pack. And this consists of Authoring tools with visual studio etc.

Whilst I am still going through the documentation on this, whose tackled something like this before. Some guidance on how to approach this would be appreciated.


##### UPDATE [04/01/16] ########

Thinking.... *
Plan to create a MP(s) for Discovery, Monitoring and Dashboard.*

New Question...
Created a script using posh that exposes the endpoints needed by SCOM.
+ These need to be converted to a class object (converting posh to xml). - not done yet!
+ Thinking ahead I am not sure what Base Class to use for this discovery script?

2

There are 2 answers

2
Richard B On

A very simple way to do this would be with Web Application Availability Monitoring, which works with any HTTP endpoint. As well as checking availability, this monitor can check the content of the response and raise an alert accordingly.

To get started, use the SCOM console and navigate to Authoring > Management Pack Templates > Create > Web Application Availability Monitoring

This blog is a really good walkthrough of doing that:

http://www.opsmanfan.com/index.php/6-use-scom-2012-to-monitor-a-webapi-without-using-scripts

Some limitations with this approach vs. a custom management pack:

  • you won't get any control over the alert content (name, desciption etc)
  • it won't scale well to many monitors (in terms of administrative burden)
  • you can't represent the health using a complex object model (no classes / discoveries)

If you want to test a large number of URLs with this method, then a community Management Pack called URLGenie might also help:

http://blogs.msdn.com/b/tysonpaul/archive/2015/05/04/urlgenie-management-pack-for-scom-an-easy-solution-for-bulk-website-monitoring.aspx

5
Roman Yuferev On

You are right that custom MP is the right way to do an integration of the custom/third-party monitoring system with SCOM. You have to think about three important things when you are planning your work on such MP:

  1. How you are going to get information from external system
  2. How you are going to persist and use it in SCOM
  3. How you are going to visualize it in SCOM

Let's walk through these three items:

  1. From your intro it looks obvious - your system exposes RESTful API. SCOM (even 2012 or 2016) doesn't have native datasources to parse JSON so you'll need to create custom datasources using Powershell or C# (depends on your experience) . In this case, it might be reasonable to use any standard library to make this job easier.

  2. SCOM has its special object model. You have classes to represent objects, monitors to detect failures/state changes and rules to collect performance metrics and alerts/events. So you'll need to implement Discovery datasources to get data about objects, monitored by your custom monitoring system (such as servers, databases, disks, apps, etc.) and define a class hierarchy to persist these objects in SCOM. Then you'll need to create datasources for monitors and rules and here you must think before act - what failures, alerts and metrics you want to expose to SCOM. When you have clear understanding of this area - you are good to implement that (again - using PS or C#).

  3. SCOM will give you some OOB visualization after you dome (1) and (2), so in the minimal scenario you'll need to define just a couple of views to show in SCOM console data collected by your MP. In ultimate case - if you want to have some fancy visualization - you'll have to create custom Dashboard. A good option here - use dashboards from SQL Server MP (it was released recently, it's free and it is really cool).

In fact, SCOM is not a monitoring system, but a framework, which has runtime platform, development language, and libraries, so building your own MP is closer to programming than IT administration :) You also can try to use Silect MP authoring tool, but I'm not sure if it will help you to build custom datasources better than VS.

Good luck!

P.S. feel free to ping me via LinkedIn for more details about MP development.