I was working on a project where Orchestrator 2012 SP1 plays a big part in linking and automating the various parts of the solution which includes Service Manager, Operations Manager, BMC and Orion as well as custom databases. Therefore it was essential that Orchestrator is properly monitored. While Microsoft produce a MP for Orchestrator it is a bit of a disappointing MP (version 7.0. Version 22.214.171.124 has been released since I did this work but still does not monitor Runbooks) which basically monitors the services and a few bits and pieces but not Runbooks. The trouble with the Common Engineering Criteria is that, while it is a good thing that the Product Groups have to create an MP for their product, there is no definition of what it should contain and no quality bar. While some Product Groups are very good at creating a good MP some just go for the simplest tick in the box they can get away with. It is very disappointing when one of the System Center products falls into that category.
Fortunately there is an answer and that is the Infront Consulting System Center Orchestrator Management Pack. http://infrontconsulting.com/services/infront-software/.
This is a free MP that works on SCOM 2007 R2 and 2012. You do need to register to be able to download it and you need to provide the name of the Management Group. They use the MG name as part of the install process. I am not sure why they do that. Maybe at one stage they were going to sell it or they are just testing that technology to see how it works. It does mean that installation is a bit different from importing an MP but is quite quick and painless. Once I tested it in the test environment a quick e-mail with the names of the other management groups got us the files for use with each Management Group. The version that I am reviewing is 126.96.36.199 and this was run on SCOM 2012 SP1.
This MP is about monitoring the Orchestrator Runbooks. As these are the key parts of what makes Orchestrator work it is a great solution for monitoring your Orchestrator Runbook servers. Initially when installed it does nothing, which I like. The first thing is to create an override to discover the servers the Runbooks are running on. There is only one monitor that is enabled by default and that checks if there has been a failure with the Runbook. The next time the Runbook succeeds then the monitor will clear. And to be honest if that was all the MP did it would be a good enough reason to install it.
- Last Runbook execution succeeded.
- Runbook is executing
- Runbook is checked in.
There are other monitors and rules that are switched off by default. One of them is if a Runbook is checked out for a length of time (15 minutes by default). This is handy as Runbooks should not be checked out unless they are being updated. As the MP discovers the Runbooks they are listed as objects so individual Runbooks can be put into maintenance mode while work is being done on them.
Another monitor is checking that a Runbook that is supposed to be continuously running actually is. For this one you need to create a group using the attribute “Manually Triggered”. This means you can target the monitor at Runbooks which need to be constantly running rather than those that get called by another Runbook when needed.
As well as the rule and monitors there are a number of performance collection rules which makes it easy to see how frequently Runbooks are getting called and how long they take to run. This was an interesting one as some Runbooks were taking a long time and so need investigating.
- SC Orchestrator Runbook Instance Failed (With Suppression)
- SC Orchestrator Runbook Instance Failed (Without Suppression)
Rules – Performance Collection
- SCO Runbook Average Execution Time Collection Rule
- SCO Runbook Failed Instances Collection Rule
- SCO Runbook In Progress Instances Collection Rule
- SCO Runbook Success Instances Collection Rule
- SCO Runbook Total Finished Instances Collection Rule
- SCO Runbook Warning Instances Collection Rule
There are no built in reports but the fact that the counters are collected means that you can use the generic performance report to create your own.
Once running you soon realise that a naming standard is critical for your Runbooks. If you start getting more and more Runbooks being used, then when the alert comes up about a particular Runbook you will want to quickly find it. The same is true to see the Runbooks in Service Manager. You will see a list of Runbooks without the hierarchy so a good naming convention really helps. The sessions done by Pete Zerger and Anders Bengtsson at MMS 2013 are essential viewing for anyone involved in Orchestrator in my opinion.
Best Practices For Runbook Authoring and Managing Orchestrator
- Start Runbook
- Start Runbook with Parameters
A couple of handy tasks to save you having to logon to an Orchestrator server.
The one issue I have seen is with the alert that a Runbook is checked out. In the alert description it says the person that checked it out and the Runbook but the date and time is blank. The information is in the alert context. Looking at the alert context the date is in US format whereas the servers I was working on are in UK format. I have passed this information on to Infront.
Not an issue but it would be nice to have the group already created that discovers Runbooks that are set to continuously run.
The monitor “Last Runbook execution succeeded” resolves when the Runbook succeeds. This means that it creates and alert and quickly clears it if you have a busy Runbook. Therefore be sure to check the closed alerts to see if this is happening. Also the most common alerts report also highlighted this as an issue. It enabled us to find a problem with a particular Runbook. Most of the time it succeeded but occasionally it would fail. Checking the failures we found there was an issue with the way the alert description was formed occasionally that meant the Runbook picked up the wrong information and failed when creating an incident as the name was too long in those instances.
This is an essential MP if you are using Orchestrator and would like it to be properly monitored. The ability to get alerted on errors and on when Runbooks are not running or have been checked out is very useful as it is difficult to see that information in the Runbook console. The documentation is clear and easy to follow. Thanks to Infront Consulting for taking the time and effort to create this MP and release it for free. And shame on Microsoft for not doing something similar in the Orchestrator MP.