SCOM 2012: Upgrade bug – Health service ping diagnostic fails

Upgrading such a complex product as System Center Operations Manager is a big effort. Some things can be missed. Microsoft seems to have missed to exchange the entries for the HealthServiceWatchersGroup classes during the upgrade from SCOM 2007 R2 to SCOM 2012.

The HealthServiceWatchersGroup references the RMS in 2007 R2 and the RMS emulator in 2012.
You can check that with this query:
select *
from MTV_HealthServiceWatchersGroup

Also after the upgrade you will find the old entries:

WatcherGroupName_A4C8B023_4CFC_52CC_30B7_6C1B959C4723 RMSPrincipalName_A4C8B023_4CFC_52CC_30B7_6C1B959C4723
Microsoft.SystemCenter.CollectionManagementServerWatchersGroup oldrms.abc.def
Microsoft.SystemCenter.AgentWatchersGroup oldrms.abc.def

 Or in the Discovered Inventory view (target: Health Service Watcher Group): 

Healthservicewatchergroup

The HealthServiceWatchersGroup is used for example in the ping diagnostic when an health service has problems and the alert “Health Service Heartbeat Failure” has been created. With the old entry the diagnostic fails, because the HealthServiceWatchersGroup is still referencing the old RMS server – which is not existing in 2012 anymore.

Beside the “Health Service Heartbeat Failure” alert you will see the “Failed to Connect to Computer” alert created also if the agent can be pinged.

doubledalerts

You can see the reason in the Health Explorer of the Health Service Heartbeat Failure alert. Check the output of the “Ping Computer on Heartbeat Failure” Diagnostic:

diagnosticfailure

The ErrorMessage is “Unable to create automation object ‘winmgmts: {impersonationLevel=impersonate}! \\oldrms.abc.def\root\CIMv2’“. It tries to connect through WMI to the old RMS to run the ping!

How can this be solved?

Perform the following steps:

  1. Stop all SCOM services on the management servers
  2. Perform a backup of your OperationsManager database
  3. Run the following query:
    UPDATE MTV_HealthServiceWatchersGroup
    SET RMSPrincipalName_A4C8B023_4CFC_52CC_30B7_6C1B959C4723 = ‘RMSEmulator_FQDN’
    WHERE RMSPrincipalName_A4C8B023_4CFC_52CC_30B7_6C1B959C4723 = ‘oldrms.abc.def’
    Exchange the ‘RMSEmulator_FQDN’ with the full qualified name of the management server with the RMS emulator role.
  4. Start all SCOM services on the management servers again.

Now the diagnostic should run successfully again.

Microsoft will need to add that to the upgrade process.

Advertisements
Post a comment or leave a trackback: Trackback URL.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: