System Center 2012 SP1: Missing Performance Monitor Counters

After the upgrade to SP1 and installation of the SCOM agent on your Service Manager Data Warehouse and Management servers, you will note several Warning events in the Operations Manager event log.  These event IDs are logged as 10102.  The cause of these are missing performance monitor counters. 

The description of these will begin with “In PerfDataSource, could not resolve counter Health Service Management Groups,” and contain some of the following examples:

Send Queue % Used
Module Count
Send Queue Size
Workflow Count

When checking the Performance Monitor, we find the 2 group of counters called Health Service and Health Service Management Groups do not exist. 

The cause of these is that there are several registry keys and 1 important file missing after the upgrade to SP1. 

Open the registry using regedit.exe and navigate to the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HealthService\Performance.  There are several missing values here, 4 string values (Close, Collect, Library and Open) and 1 32-bit DWORD (Disable Performance Counters). 

These need to be added back to the server.  In the whitespace on the right side of the panel and click New, and choose String Value

Rename the string value to Close and provide a value of ClosePerformanceData

Create the next string value, rename it to Collect and provide a CollectPerformanceData

Create the next string value, rename it to Open and provide a OpenPerformanceData

The last one is the most important, it references the location of the DLL with the counters.  Create the next string value, rename it to Library and provide a C:\Program Files\Microsoft System Center 2012\Service Manager\HealthServicePerformance.dll

After this value is entered, the file will have to be added to the system.  First, confirm the location and check for the file.

Once confirmed, navigate to the SCOM server (technically, you can use any server for this) server and locate the missing file. The location is C:\Program Files\System Center 2012\Operations Manager\Server

Copy the HealthServicePerformance.dll file to all Service Manager servers in the path you entered in the registry string value Library (e.g., a C:\Program Files\Microsoft System Center 2012\Service Manager\)

To create the missing DWORD value, right click again, hover over New and choose DWORD (32-bit) Value

Rename the key to Disable Performance Counters and set the value to 0.

The registry key should now look like this

 
Once these entries have been created and the file has been copied, open the Services control panel, locate the System Center Management service and restart it.

Confirm the missing groups are now appearing in your Performance Monitor by opening it and attempting to add a monitor.

 

* Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor
or by using another method. These problems might require that you reinstall the
operating system. Modify the registry at your own risk.