The past few days I have had to create a few lightweight custom management packs for our ops teams. They gave me the requirements (pretty light) and I set out to build the management packs for them. One MP is for OCS that will discovery OCS installation, then defines two roles (Communicator Web Access and Front End role). I have a few state views and the health roles up to the application level. Initial discovery is a bit lame, as it is only looking for RTC key and Version (which any place OCS is installed will get detected – I plan on fixing this).
We use FaceTime Vantage for IM auditing (this was called ImAuditor). The ops teams want to monitor the dedicated IMAuditor servers as well as the Front End Process Controller service on select OCS front ends. So I have created my FaceTime Vantage management pack. Again, lightweight, but you can extend or modify it as you see fit.
Finally we needed to monitor OCS Group Chat. The requirements for this was just to monitor the two services on Group Chat. We did get a document from MSFT about counters to evaluate, but I haven’t included those in the MP yet.
All discoveries are set to run once a day. Health rolls up from the lowest application component classes (for service monitoring only) to the application level. I put the sealed versions in one zip file and the unsealed in another.
If you use these, then great, if you don’t then I can’t blame ya! 😉 Remember if you do decide to use these management packs, make sure you test them before putting any of them into production. The primary reason for releasing these was just to give some first time authors a sense of how you might go about creating a basic application management pack. You can download them from my sky drive here.
Enjoy and happy authoring!
Views for each of the management packs if imported:
We use Tim Helton’s Green Machine to reset the health of our various applications. I wanted to reset the health of OCS, but ran into some issues. Green Machine should be run against non-abstract classes (OCS R2 Enterprise Edition is a non abstract class, Microsoft.OCS.ServerRole is abstract). Furthermore, best practices for class format is to use a ‘.’ as a separator not a ‘_’. The OCS MP does achieve this for the QoE portion of the MP (the only view with a STATE view), but not for the remainder of the classes.
The results of my attempts to run Green Machine against a few OCS classes:
I was able to get in contact with Tim to see if he could modify his tool to work around this issue and he added the ability to run it against a group (he knocked it out the change in a day, thanks Tim!). I have not tried his most recent updated tool to see if this will work, but I will let you know that v 1.03 will not work with the OCS R2 classes. Keep in mind this is not because of a short coming in Tim’s tool, the culprit here is the OCS management pack itself. So if you are monitoring OCS R2 with SCOM and or testing a custom monitor, be prepared to do a lot of manual resets or create a group containing your OCS servers and try Tim’s new v1.04 of Green Machine R2 against it.
~~Updated so as to clairify that this was not a problem with Tim’s tool. Original title might have lead people to believe that. This is not the case.~~
Where I work we have OCS R2 deployed. The OCS ops team is not happy with the level of alerting despite several tuning efforts for this management pack. We finally decided to just keep it installed for “information” and develop our own custom management pack that will include classes for OCS, GroupChat, and FaceTime IM Auditor. I could break these out by application, but since this MP will be pretty light I will probably gather the requirements and create one management pack that would discovery all of these applications. Down side to this is, of course, that any changes will be pushed to the other applications even if the monitors were not targeting them. I will deal with it.
Anyway, if you are not fortunate enough to have a SCOM administrator who can create a new mp for you, then you might be unhappy with a few issues in this R2 MP such as the LACK of a display name for the classes. This is problematic when creating custom views targeting the OCS classes, as well as setting up subscriptions. Whenever you set these up, you will not know what your target is. That might be an issue for you or your organization. This is what you will experience if you do not modify the management pack:
Custom Alert View:
Go to your “Workspace” and create a new Alert View:
Now change the “Show data related to:” box so that you have OCS R2 Enterprise Edition selected:
Now look at what you have (What class is THAT?):
Now if you want to set up a subscription for this class this will be your experience:
Create a new subscription and select “raised by instance of a specific class”:
Filter by ‘Enterprise’ and select the OCS R2 EE class:
Look at the results:
Your SCOM admin quits, you hire a new guy, something is wrong with the subscription, how is he supposed to know? Of course you could name it and give it a description, but how do you know that the subscription hasn’t been modified to another OCS R2 class that also has no display name? Well you won’t know unless maybe you dive into the notifications management pack. Who wants to do that?
Now, I have a feeling there will be no updates to the current release of the OCS R2 management pack. Therefore, to fix this, I will export the MP via power shell and modify the unsealed MP in the authoring console (give the classes display names). Then I will seal it, delete the original and any dependencies in my SCOM configuration group, then import this modified sealed vendor mp and the dependency management packs.
For the OCS dependent custom management packs you have (override, custom, etc) you will have to update the references section of the MP to now use the new OCS MP. If you don’t do this, then you will not be able to import them. It’s pretty easy to update references for unsealed custom management packs (you can just edit the XML). If they are sealed custom MP’s then you will have to do this via the authoring console with the unsealed custom MP, then seal it, and re-import it.
*Keep in mind that you should do this in a lab first, test it, and then understand that this is NOT supported by MSFT. This means, if you ever have issues with the OCS MP or one of it’s workflows, etc., then you would be in an unsupportable situation. Also, if the OCS team does release an updated MP that is upgrade compatible, then you will have to probably delete this MP first. Therefore do these steps at your own risks!*
Open up the SCOM power shell and export the OCS MP from your configuration group:
Now that it is unsealed, open it up in the Authoring Console and look at the various classes. You will notice most are missing a name for the display string. Naughty, naughty!:
Double click on any of those classes that are missing a display name and add it yourself (warning may require a lot of typing):
Now view your mastery at work in the Authoring console and save that updated MP:
Now seal this mp using mpseal and your friendly little certificate:
Before you can import this modified sealed mp, you will have to delete your management packs that are referencing/dependant on the original OCS MP and then delete it as well. Once you do this, you can import this updated MP which has the incremented number of .22 instead of .21.
After the import verify it is there and the correct version:
Now step through creating a view or subscription again (for this example we will use a subscription):
Viola (that was easy, but time consuming and really not our job)!
Happy authoring/modification and don’t forget to update the MP’s that were dependent on the original OCS MP so that you can use them.
At my job I have to create performance reports and schedule them to be delivered on a weekly basis to a group of people. In the past, finding the right object from the "Add Object" window was painful. I could never seem to find everything I was trying to find. So the other day, I clicked on the "Options" button and saw I could filter by Class. This helped me to find all the objects I was looking for without trying to enter a search phrase for the object.
Below is the outline on how to do this.
1) Go to the reporting pane of the operations console and open the Generic Performance report.
2) Create a new chart and new series and click add object.
3) At the Add Object window click ‘Options’
4) In the Options window click ‘Add…’
5) In the Add Class window type the name of the class and pick the class (or classes) you want to filter against.
6) Review your selections.
7) Now if you search without a filter you will return only Windows Computer and Exchange 2003 Physical Installations. Notice it tells you that a Filter Option has been applied.
This list is easier to manage compared to a list of all object imho. Happy reporting!