This blog is for anyone who want to learn how to create management packs for System Center Operations Manager (SCOM). What is that? Why the subject so specific? Why anyone would need this? Let’s jump in.
The Platform
At the first look System Center Operations Manager is a monitoring tool from Microsoft, thus targeting Microsoft products primarily, but being capable to monitor other subjects using a plugin system. SCOM plugins are called “management packs”. Well, it’s yet-another monitoring tool, like Nagios, SolarWinds, ScienceLogic, and more and more. It has its own advantages and disadvantages, like any other monitoring solution. Is there anything, which makes it special?
Yes. Operations Manager is a very special (from my point of view), because it is a complete platform. Many other monitoring solutions also features a system of custom plugins. But SCOM is the only system completely build from these “plugins”. In fact, bare SCOM deployment, with all management packs being stripped off, has absolutely nothing. You may compare it to Linux core: the bare minimum of functions, which cannot be implemented in external modules. Needless to say, that even user UI (the Console application) comes from various management packs.
Moving forward it can be said, that SCOM is, actually, a distributed micros-service platform. Not more and not less. And it was the micro service platform ages before this term became a buzzword.
What is that? It’s a distributed micro-service platform, primarily designed for monitoring purposes.
Subjects
Like a good architect (real one, not an IT one) has to learn many subjects like mathematics, physics, material properties, painting, and train feeling of beauty, a good management pack author has to learn many subjects. As its was said, all platform aspects comes from management packs: user interface, reports, web-UI, and, of cause, the actual monitoring workflows. Therefore the following skills required:
- Scripting using PowerShell, VBscript, and JScript.
- Programming C#.
- Transact SQL query language.
- Authoring reports on SQL Server Reporting Service.
- Creating WinForm applications/components.
- Writing Windows Presentation Framework components.
- XML structure and XML schema.
- Any monitored subject specific APIs, protocols, etc.
Why the subject so specific? The subject isn’t specific in fact. A SCOM developer has to cover a number of subject.
Using the platform
It’s clear that I am a big platform enthusiast. I believe, that it’s heavily underestimated. There are few reasons for this, for sure. First of all, the vendor themselves, do not position Operations Manager as something bigger than just a monitoring solution. Next, it’s paid. And not cheap to be honest. Personally, I believe, that Microsoft should make both Operations Manager and Service Manager open source and free. This would be a good step forward in platform promotion. Another reason for low platform popularity is the lack of documentation. That’s true that Microsoft has SDK documentation available and a very good website with some excellent management pack examples, but this is not enough for an easy start. My mission is to add more public knowledge, making the platform more accessible for all developers.
Why anyone would need this? Because the Operations Manager platform is a great base for automation and monitoring. It can run right code at right place at right time.