Distributed Applications in a Snippet

A common request from customers is to be able to monitor an application and to display information about that application in a distributed application and on a variety of dashboards. So to do this effectively, you might need to create:

  • A class for the application
  • A registry based discovery for the application
  • Groups \ relationships for:
    • Computer Group for Application
    • Instance Group for Application
    • Health Service Watcher Group for Application
    • Operating System Group for Application
  • Dependency Roll ups for Group Health
  • Distributed Application with relationships and Dependency Rolls ups

How long does it take to create all of this?

Distributed Application

Alert and State View Dashboard

Manually create a Dashboard based on the groups

With the attached snippet, less than a minute.

So how does this work?

  1. Start Visual Studio and create a new Project. In My example, I'm going to call this GD.MyApp1

  2. Add a reference to the Microsoft.SystemCenter.InstanceGroup.Library Management Pack

  3. Add a Snippet Template Item (Add New Item, Snippet Template). The default template will appear. Delete the contents and copy and paste the contents of this text file into the window and Save and Build

  4. Add a Snippet Data Item (Add New Item, Snippet Data).

  5. Choose Select snippet type and select the Snippet Template that we created in step 3.

  6. Click "Click Here to add a new item" and add in the following information (Class Namespace = GD.MyApp1, Display Name = GD My Application 1 and Registry Key = SOFTWARE\SCOMDiscoveryData\Frag1)

  7. Save, Build and export (sealed) the Management Pack to a SCOM Dev environment to play with.

This delivers a simple service model for your application. You'll need to create some monitors targeted at the application class to see health roll up in the Distributed Application but the computer and health service groups and dashboard should populate immediately.

I'm really interested in feedback on this and if it is of interest then I can add snippets for other common scenarios:

  • My Application also has databases that need to be included in the Distributed Application

  • My Application also has websites that need to be included in the Distributed Application

I'll be starting a series of Visual Studio Authoring articles in the near future and will look to build this snippet as part of the series. I'll then look at how I converted the project into a snippet template and build up snippets for monitoring.

Disclaimer:
All information on this blog is provided on an as-is basis with no warranties and for informational purposes only. Use at your own risk.

The opinions and views expressed in this blog are those of the author and do not necessarily state or reflect those of my employer.