Menu Close

Part 3: Use VSAE fragments to monitor a service

This is Part 3 in a series of posts described here:  https://kevinholman.com/2016/06/04/authoring-management-packs-the-fast-and-easy-way-using-visual-studio/

 

In our next example fragment – we will monitor a service by creating a monitor that targets our custom class.

 

Step 1:  Download and extract the sample MP fragments.  These are available here:  https://gallery.technet.microsoft.com/SCOM-Management-Pack-VSAE-2c506737

I will update these often as I enhance and add new ones, so check back often for new versions.

 

Step 2:  Open your newly created MP solution, and open Solution Explorer.  This solution was created in Part 1, and the class was created in Part 2.

 

Step 3:  Create a folder and add the fragment to it.

Create a folder called “Monitors” in your MP:

 

image

 

Right click Monitors, and Add > Existing item.

Find the fragment named “Monitor.Service.WithAlert.mpx” and add it.

Select Monitor.Service.WithAlert.mpx in solution explorer to display the XML.

 

Step 4:  Find and Replace

Replace ##CompanyID## with our company ID which is “Fab

Replace ##AppName## with our App ID, which is “DemoApp

Replace ##ClassID## with the custom class we created in Step 2.  This was “Fab.DemoApp.Class” from our previous class fragment.

Replace ##ServiceName## with the short name of any service.  For this Demo, since “DemoApp” is a made up example, we will just use the spooler service.  So replace with “spooler

 

That took all of 2 minutes.  Take another few minutes to review the XML we have in this fragment.  It is a simple monitor definition, that will generate an alert and change state when the spooler service isn’t running.  There are also display strings which can be modified for the monitor display name, alert name, and alert description.

 

 

Step 5:  Build the MP.   BUILD > Build Solution.

image

 

 

Step 6:  Import or Deploy the management pack.

image

 

When enough time passes, the agent will get the new MP, and will load the new monitor.  In our discovered inventory view – we should be able to see the state change from “Unmonitored” to “Healthy” because our custom class now gets health rollup from the monitor we just created.

 

image

 

Step 7:  Test the MP.

Stop the Print Spooler service.  Verify we see a state change and the alert we expect:

image

 

image

 

 

Nice!   And easy.

image

9 Comments

    • Kevin Holman

      You really shouldn’t. Lots of services start and stop as a normal operation, and this usually leads to noise and people ignoring things that should be monitored. However, if you DO want to monitor all services, then you should write a script for that, that accepts ignored services as an overridable parameter, and ignores specific known services that you never want to monitor.

  1. Ganesh

    Hi Kevin ji,
    First!! Thanks a lot for your blog, precious materials.
    How to create another monitor for another service for the same class.

    • Kevin Holman

      You should be able to reuse these over and over – as there is a unique ID you can change to make them unique and target the same class. What fragment are you using?

    • Kevin Holman

      Descriptions of each required input are documented in the instructions in each fragment. UniqueID can be anything you want…. it just makes that workflow unique so it can be reused multiple times in the same MP.

  2. Ruben Delgado Sabina

    Hello Kevin

    Thanks for all.

    I can’t use uniqueid for use more Monitor.Service.WithAlert.mpx in the same ManagmentPack.

    I have change attribute UnidiqueID in all fragment and compilated the solution but this dont work.

    Sorry for my english

Leave a Reply

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