Author your MP with Snippet templates in Visual Studio

On the last day of MMS 2012, I attended the AM-B311 session “Management Pack Authoring Tools: The Next Generation”. With the new release of System Center Operations Manager 2012 there will also be two new Authoring Tools soon be available. These new Authoring tools are:

  1. Visio Management Pack Designer
  2. Visual Studio Authoring Extensions

More information about all Authoring Tools for Operations Manager 2012 can be found here.

In this blog I’ll describe how you can create your own “snippet” templates in Visual Studio 2010 to simplify the creation of a more advanced Management Pack. These “snippet” templates help you to create a basic Management Pack with the creation of for instance multiple classes, discoveries, groups, monitors and views. When the basic Management Pack is built in Visual Studio you only have to change the specific values in the XML code.

First you need to install Visual Studio 2010 Professional or higher and secondly you need to install the System Center 2012 Visual Studio Authoring Extensions.

Now when you start Visual Studio and select “New Project” a new window will open and you will be able to choose from the “Installed templates”. Select the “Operations Manager Core Monitoring Management Pack” template under “Management Pack – Operations Manager”. This one will generate an empty MP that you can use for Operations Manager 2007 R2 as well as 2012.

Next I create a Folder “Templates” in the “Solution Explorer” to save my Snippet Templates.

After that I add a “New Item” also in the “Solution Explorer” and now I can choose from many different SCOM items. Default the System Center 2012 Visual Studio Authoring Extensions has one “Snippet Template” to quickly create multiple rules. This one can be found under “Code” and is called “Snippet Template”. To become familiar with a “Snippet Template” open this one.

  1. #text; this is for text input
  2. #choise; this is for choosing from predefined values
  3. #alias; this is for automatically setting the correct alias name of a reference MP

Now when you delete all XML code in this templatesnippet code file with you own XML code and use your own input fields you are ready to go with your own templatesnippet. For instance I created my own templatesnippet for creating some classes.

The following step is save the snippettemplate code and add a new Snippet template under “Templates”. Give the Snippet template a name and click the button “Add”.

Now select the correct Snippet type. In my case the templatesnippet I just created.

You will notice in the Visual Studio Solution Explorer two files have been created. The first file (mpsd) is going to be used for the input of your fields. The second file (mptg.mpx) is currently an empty XML file that is gone be automatically generated based on the input fields in the first file.

When you fill in the input fields of the first file and save the file, you will notice that the second file has automatically generated the XML code for the classes.

Because I prefer to build each custom Management Pack basically the same, I made myself some extra templatesnippets for discoveries (registry and WMI), instance groups, monitors and views (alerts, performance and state) that help me quickly build a basic XML MP. You can download these templatesnippets for your own purpose at the bottom of this blog.

When you’re finished authoring your Management Pack just choose to build the project and watch for any errors in the error list. If no errors are found than your XML Management Pack is created under the project folder in the subfolders \bin\debug. You can now import the custom Management Pack in Operations Manager 2007 or 2012.

One final comment: be sure to use the exact same id’s (lowercase, uppercase). If they are not the same in your project, than errors will appear in the errorlist!

Happy authoring!