The Exchange connector for SCSM is re-released offering some unknown bug fixes. If you have some bugs with your Exchange connector you might try to update and see if your issues are fixed if they are not you are not among the lucky ones.
Tag: connector
Removing Connector in SCOM 2012
As SCOM is application as any other sometimes things go wrong. This was the case with one of our members (Jonathan) in system http://www.systemcentercentral.com forum. The issue is that a SCOM connector was not properly removed. I am sure you had this issue in 2007 version many times. There is even an KB article about this for 2007 version. For 2012 you can use PowerShell cmdlet. But in our case the cmdlet was failing to remove it. As there are no architectural changes to connectors in SCOM from 2007 to 2012 version I advised Jonathan to try the solution described by Kevin Holman here. He shows how t remove connector in 2007 with stored procedure in SQL. Jonathan tried the solution in his environment and this solved his issue. So it seems the stored procedures are still working in SCOM 2012 and can be used when needed.
I will advise to always try to remove the connector trough the official ways or contact Microsoft support. If you decide to use the stored procedure make sure you have a good backup before executing them.
This solution is provided ‘AS IS’ with no warranties.
All credits go to Kevin and to Jonathan who tested it.
Sync HP ProLiant Server and BladeSystem CIs from SCOM to SCSM
There is a great article at systemcentercentral.com on how to synchronize CI from SCOM to SCSM. The article shows an example with Dell Management Pack. I followed this article and will show you how to do the same for HP ProLiant Server Management Pack and HP BladeSystem Management Pack. Let first introduce what objects are discovered trough these two MPs:
- HP ProLiant Server Management Pack – This management pack discovers properties of all HP ProLiant servers – IP addresses of ILOs, Memory, Disks and etc.
- HP BladeSystem Management Pack – This MP discovers properties of c3000 and c7000 Enclosures – Names, Onboard Administrators, Device Bays (including server information for blades) and etc.
So here are the steps you can follow to sync your HP CIs from SCOM to SCSM:
1. Lets assume that you imported and configured HP ProLiant Server and HP BladeSystem MPs in SCOM.
2. Next steps is to figure out what information you want to sync.
3. You can find that by going in SCOM console –> Monitoring pane –> Discovered Inventory view.
4. Right Click on the middle view and select Change Target Type.
5. Select Items to Target window appears. In Look for field type “hp” and select View all targets.
6. Here you can see the friendly names of the different classes and to which Management Pack they belong to.
7. “HP Server” is the main class that holds information for HP Servers and it is located in Hewlett-Packard Servers Core Library MP. Select it and click OK.
Note: You can select any subclass like HP ProLiant Server if you find it more convenient for you.
8. After selecting it in the middle pane you will see information about your HP Servers you have in your environment. This information you want to sync in SCSM.
9. Next step is to find the friendly name for enclosures class.
10. Right click on the middle pane again and select Change Target Type.
11. Select Items to Target window appears. In Look for field type “hp” and select View all targets.
12. “HP BladeSystem Enclosure” is the main class that holds information for HP Enclosures and it is located in Hewlett-Packard BladeSystem Management Pack. Select it and click OK.
13. You will see the information about enclosures you want to sync to SCSM.
14. For HP Enclosures I select one more class “HP BladeSystem Device Bay”.
15. This class holds information about blade servers. This is useful if you have have blade servers in the enclosures that do not have operating system and because of that they do not have SCOM agent also. WIhtout SCOM agent you not cannot get any information for them from HP ProLiant Server Management Pack but trough this class you can.
16. Next step is to see the names of the management pack and if they have dependencies.
17. Open SCOM console –> Administration pane –> Management Packs.
18. We found that the the information that we want to sync is contained in two management packs – Hewlett-Packard Servers Core Library and Hewlett-Packard BladeSystem Management Pack.
19. Find them in that view and right click on them Properties.
20. In General tab you under ID you will see thee name of the management pack. In Dependencies tab that you will see which other management pack you should also import in SCSM. If you do not have these MPs in your SCSM environment you will not be able to import the HP Management Packs.
Hewlett-Packard.Servers.Core.Library.mp
Hewlett-Packard.ProLiant.Servers.Base.mp
Hewlett-Packard.BladeSystem.mp
21. Even I do not need to import Hewlett-Packard ProLiant Servers Base Management Pack I will import it because may be later I will want to sync some information from that MP.
22. Next steps is to find the actual names of the classes we want to sync because we only have the friendly names: HP Server, HP BladeSystem Enclosure and HP BladeSystem Device Bay.
23. Open Operations Manager PowerShell and execute the following commands one by one:
- Get-MonitoringClass | Where-object {$_.DisplayName -match "HP Server"
- Get-MonitoringClass | Where-object {$_.DisplayName -match "HP BladeSystem Enclosure"
- Get-MonitoringClass | Where-object {$_.DisplayName -match "HP BladeSystem Device Bay"
24. The commands will find all properties about classes that have these display names. Against property Name you will find the actual names of the classes we need:
- HewlettPackard.Servers.HPServer
- HewlettPackard.Servers.BladeSystem.HPBladeSystemEnclosure
- HewlettPackard.Servers.BladeSystem.HPBladeSystemDeviceBay
25. Now that we have the actual names of the classes we want to sync we have to import the 3 HP management packs in SCSM.
26. Open SCSM console. Navigate to Administration pane –> Management Packs.
27. Click Import from Actions menu. Find the location where you store your MPs select the 3 HP MPs and import them.
28. If the MPs are imported successfully next step is to add the classes we have found to the allowed list of classes for syncing in SCSM.
29. Logon to your SCSM server.
30. Start PowerShell and execute these commands:
- set-executionpolicy Unrestricted
- add-pssnapin smcmdletsnapin
- Add-SCSMAllowListClass –ClassName HewlettPackard.Servers.HPServer
- Add-SCSMAllowListClass –ClassName HewlettPackard.Servers.BladeSystem.HPBladeSystemEnclosure
- Add-SCSMAllowListClass –ClassName HewlettPackard.Servers.BladeSystem.HPBladeSystemDeviceBay
- get-SCSMAllowlist
31. With the last command you will be able to see the HP classes added in the allowed list for sync.
32. Next step is to configure your SCOM CI Connector in SCSM to sync the HP Management Packs.
33. Open SCSM console. Navigate to Administration pane –> Connectors.
34. Find you SCOM CI Connector in the list of connectors and double click on it.
35. The Properties window of that connector will be opened.
36. Select the configuration option for Management Packs.
37. In order to see your newly imported HP Management Packs you have to click Refresh button. When you click Refresh you will be asked for the password of the account that is used to sync management packs between SCOM and SCSM. Enter the password and press OK.
38. When refresh is done the new management packs will appear in the list. Select them and click OK to save settings.
39. Wait until next synchronization schedule of SCOM CI Connector to see if synchronization was successful.
40. When synchronization is done you can create views to see the synchronized data in SCSM.
41. Open SCSM console. Navigate to Configuration Items. Create new folder. You can name the folder “HP Devices” or any convenient name for you.
42. Under that folder you can create 3 different views that have different HP classes for Criteria.
Note: This configuration was tested with SCOM 2007 R2 and SCSM 2010 but it should also work for SCOM 2012 and SCSM 2012.
Note: You can sync more classes than the ones described in the article depending on your customers needs. Just add these classes to the allowed for sync list in point 30.
SCOM Configuration Item Connector in SCSM is stuck at 100 % and events with ID 34081 are logged in Operations Manager Log
Not so while ago I was challenged with this issue:
SYMPTOMS
- Events logged in Operations Manager log on System Center Service Manager server:
Log Name: Operations Manager
Source: Operations Manager Connector
Date: <DATE>
Event ID: 34081
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: scsmserver.contoso.com
Description:
Connector Name=SCOM CI Connector, Id=<GUID>
Encountered unexpected exception of type Object reference not set to an instance of an object. during synchronization. The synchronization will resume on the next scheduled time.
Message: %3.
Event Xml:
<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”>
<System>
<Provider Name=”Operations Manager Connector” />
<EventID Qualifiers=”49152″>34081</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”<DATE>” />
<EventRecordID>1845675</EventRecordID>
<Channel>Operations Manager</Channel>
<Computer>scsmserver.contoso.com</Computer>
<Security />
</System>
<EventData>
<Data>Name=SCOM CI Connector, Id=<GUID></Data>
<Data>Object reference not set to an instance of an object.</Data>
</EventData>
</Event>
———————–
Log Name: Operations Manager
Source: Operations Manager Connector
Date: <DATE>
Event ID: 34081
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: scsmserver.contoso.com
Description:
Connector Name=SCOM CI Connector, Id=<GUID>
Encountered unexpected exception of type NullReferenceException during synchronization. The synchronization will resume on the next scheduled time.
Message: Object reference not set to an instance of an object..
Event Xml:
<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”>
<System>
<Provider Name=”Operations Manager Connector” />
<EventID Qualifiers=”49152″>34081</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”<DATE>” />
<EventRecordID>1845677</EventRecordID>
<Channel>Operations Manager</Channel>
<Computer>scsmserver.contoso.com</Computer>
<Security />
</System>
<EventData>
<Data>Name=SCOM CI Connector, Id=<GUID></Data>
<Data>NullReferenceException</Data>
<Data>Object reference not set to an instance of an object.</Data>
</EventData>
</Event>
———————–
Log Name: Operations Manager
Source: Operations Manager Connector
Date: <DATE>
Event ID: 34081
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: scsmserver.contoso.com
Description:
Connector <SCSM Management Group Name>
Encountered unexpected exception of type OMConnector.<GUID>_SyncRule during synchronization. The synchronization will resume on the next scheduled time.
Message: System Center Operations Manager Synchronization Workflow (internal).
Event Xml:
<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”>
<System>
<Provider Name=”Operations Manager Connector” />
<EventID Qualifiers=”49152″>34081</EventID>
<Level>2</Level>
<Task>0</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”<DATE>” />
<EventRecordID>1845678</EventRecordID>
<Channel>Operations Manager</Channel>
<Computer>scsmserver.contoso.com</Computer>
<Security />
</System>
<EventData>
<Data><SCSM Management Group Name></Data>
<Data>OMConnector.<GUID>_SyncRule</Data>
<Data>System Center Operations Manager Synchronization Workflow (internal)</Data>
<Data><GUID></Data>
<Data>CI Sync with connector BME Id <GUID> to server scsmserver.contoso.com, Source Domain\User = <SCOM CI Connector Account></Data>
<Data>Object reference not set to an instance of an object.</Data>
</EventData>
</Event>
Note: The text has been modified to hide custom data.
- SCOM CI Connector is stuck at 100% without finish date and finishes after next schedule synchronization date is start. When next scheduled synchronization date starts the SCOM CI Connector finishes with error.
CAUSE
- You change SCOM CI Connector configuration by refreshing the synchronized management packs and one of the synced management pack is a custom unsealed management pack. That custom management pack was modified in SCOM but its version number was never changed and the modified version was not imported in SCSM. As result SCOM and SCSM have the same version number of this custom unsealed management pack but the management packs have different code in them.
RESOLUTION
- Disable the unsealed custom management pack from syncing and save the SCOM CI Connector configuration. Synchronize the connector to test.
- Delete the unsealed management pack from SCSM. Export the unsealed custom management pack from SCOM and import it in SCSM. Refresh the management packs in the SCOM CI Connector, select for synchronization the unsealed custom management pack and save the configuration. Synchronize the connector to test.
Routing Alerts from SCOM in SCSM by using Custom Field Criteria Type
Recently I faced the task to route alerts from SCOM in SCSM to different Support Groups. It seemed like an easy task because in most cases routing is based in Management Pack Name criteria. For example alerts that come from Management Pack that contains “SQL” in its name are assigned to SQL Support Group, alerts that come from Management Pack that contains “BizTalk” in its name are assigned to BizTalk Support Group and etc. You get the idea you can create such routing rule for every Management Pack. Besides this routing rule you can also route alerts based on SCSM groups membership of computer, Custom Fields and Monitoring Classes.
When I started configuring routing based on Management Pack Name I didn’t had any issues everything was working as it was suppose to work you just have to be careful not put make any conflicts with rules by overlapping them. But when I tried to configure routing based on Custom Field I faced issues. In the next lines I will describe how stumbled on that issue and how I fixed it. I couldn’t find any such issue over Internet so I’ve decided to share it with the community.
Lets say that we have two Support Groups – Backup and Storage. Those two Support Groups are using one management pack in SCOM to monitor their devices. So in SCSM we need to configure: alerts that are coming from devices supported by Backup Support Group to be assigned to Backup team and alerts that are coming from devices supported by Storage to be assigned to Storage team. Most of you will probably suggest that we can put these devices in groups in SCSM and route alerts based on that or even easier we can route them based on Monitoring Class. But these two options are also not available because all these devices are monitored by SNMP so they they do not have CI record in SCSM and all alerts come from the server where the management pack is installed in our case this is the RMS server. Such management pack is HP Storage Management Pack. This management pack monitors various storage devices manufactured by HP and all is put in one MP file. Lets say we want to monitor 3PAR Storage, SAN Switches, D2D Devices and Tape Libraries with this management pack. All of these device are monitored by SNMP and we want 3PAR and SAN switches alerts to go to Storage Support Group and D2D device and Tape Libraries alerts to go Backup Support Group. When alerts for these devices are created in SCOM the first 6 custom fields are filled with values:
- Custom Field 1 – Source of the Event
- Custom Field 2 – Logging Computer name
- Custom Field 3 – Device Id
- Custom Field 4 – Device Name
- Custom Field 5 – Source Computer Name – the computer that generated the event
- Custom Field 6 – Source Computer Domain Name – the domain of the computer that generated the event
So custom fields for alert could look like this:
Or like this:
From the examples above it is clearly that the best option is to route alerts based on Custom Field 1. Before creating the route rule I will show you the steps for creating the templates that will be used by these rules.
If we go in SCSM console –> Library –> Lists and open the properties of Incident Tier Queue list we can see that we have 3 Support Groups – Storage, Backup and Windows:
So we need to configure 2 Templates in SCSM – one for Storage and one for Backup Support Group. We go to Templates and from Action Menu we choose Create Template and new window appears:
We can name the templates “SCOM Incidents Storage”, for class to choose Incident and for management pack you we can select a custom management pack where we store such settings. When we click OK an incident form will open. This is our template and here we have to fill the fields that will be changed when alert meets certain routing rule criteria. In our case we can populate Classification category, Source and Support group:
You can choose to populate different fields but Support group is the field that is actually used for assignment. When We click OK the template will be saved. Another template have to be created the same way for Backup:
Now we are ready with the templates and we can configure the routing rules in SCOM Alert Connector. I will not show how this connector is configured because it is pretty simple operation and there are a lot of articles over Internet about that.
When we open the SCOM Alert Connector Properties there is Alert Routing Rules tab and on that tab routing rules are added:
You can see even the option that if alert doesn’t meet any of the specified routing rules Operations Manager Incident Template will be used for them. This is the default SCSM Template. When we click on Add button a new window appears. In this window I gave distinguishing name for the routing rule, which template to use and the criteria for the alerts:
So I was ready with my first routing rule so I’ve clicked OK on the rule and OK on Connector’s window. Before creating more rules I’ve decided to test if my routing was right. You can create test alert from your device or you can take any alert that is with status new and it is not forwarded to your SCSM server and modify the custom fields like those for your device. After you modify them you can forward that alert to SCSM to see if it will be routed correctly just like this by selecting Forward to –> Alert Sync: SCOM alerts:
After the alert was forwarded I’ve open the SCSM console and found the alert created as a incident:
As you can see from the screenshot the Storage template I’ve created wasn’t applied to this incident because Support Group field was empty which meant that the default Operations Manager Incident Template was applied and the alert didn’t matched my routing criteria. At this point I understood that I have to make some troubleshooting in order to solve this.
The first thing I wanted to see if Custom Fields properties arrived in SCSM from SCOM properly. This can be seen in the Extensions tab of the incident:
As we can see from the screenshot all properties are the same as they appear in SCOM. I couldn’t find any reason why this solution is not work so I’ve started to modify the routing rule by different methods like using Custom Field 3 for rule instead of 1.
But this didn’t work also so I’ve switched back to Custom Field 1 and realized that the value of “3PAR” that I’ve put for that field was still there. I thought when I select Custom Field 3 the value for Custom Field 1 will be automatically reset but this was not the case. This lead me to the thought that all used Custom Fields have to be defined in the routing rule in order to work so I’ve created the routing rule for Storage to use all Custom Fields:
I’ve also created the routing rule for Backup to see if they will work in parallel:
After creating the tow rules they looked like this in the SCOM Alert Connector:
As you can see the routing rules are different only for the definition of Custom Field 1.
After saving the SCOM Alert Connector configuration I’ve modified the custom fields of two alerts in SCOM and forward them to SCSM:
When the alerts were forwarded successful I’ve checked the SCSM console to see how both alerts look:
As you can see both alerts are routed correctly and assigned to the right Support Group.
In order to use routing of alerts for custom fields all used fields have to be configured in the routing rule.
The behavior of the connector for routing alerts using Custom Fields criteria is the same for SCOM 2007 R2 and 2012.