The challenge: 32 bit vs. x64
For starters, SCCM is a 32 bit application. When installed on a x86 based server, nothing is amiss. The OpsMgr Agent (also 32 bit) will discover SCCM and it will be properly monitored. But many times SCCM is installed on a x64 based server OS. By default, an x64 version of the OpsMgr Agent is installed. And here some challenges arise:
- The Registry
Since SCCM is a 32 bit application it will not write to the x64 hives of the registry but to a special hive, especially made for 32 bit applications: ‘HKLM\SOFTWARE\Wow6432Node\’. The x64 based OpsMgr Agent however, does NOT scan that hive. So SCCM will be undetected by it.
In OpsMgr R2 this issue has been addressed in some kind of way. The OpsMgr R2 Agent still doesn’t look in both places (32bit and 64bit) but it can be called to look at one of these hives by using a new XML tag. When that tag has been set to 32bit the OpsMgr R2 Agent will ONLY look into the 32bit hive of the registry, not both. For SP1 as a workaround the registry entries can be copied to the x64 hive. This way the OpsMgr SP1 Agent will discover SCCM as well.
- Performance Counters
Any 32 bit based application uses 32 bit PerfMon counters. And an x64 based OpsMgr Agent cannot access these counters. This is the case for any version of the OpsMgr Agent, also R2. No! This is not an OpsMgr issue but an OS issue. it is how the OS works. So don’t blame OpsMgr nor the OS. It is like blaming your car that it goes faster when putting your feed on the gas pedal…
It is up to the application developer to write two versions of their app: a 32 bit version AND a x64 version. Or, to have an app 32 bit based but having x64 based PerfMon counters onboard as well. This latter will be the case for SCCM. But it will require a new MP for SCCM and an updated version of SCCM as well.
Sometimes the advise is given to install manually the 32 bit OpsMgr Agent on a x64 based server. But that is a bad idea since it cannot discover (thus monitor) anything native to the x64 based OS . As a result this server ends up in an almost unmonitored state. When a repair/update/hotfix of the OpsMgr Agent is run, the x64 version of the OpsMgr Agent is installed.
Can you turn the noise down?
The publicly available version (6.0.5000.12) contains consolidation modules for the status message events which often do not work correctly. Also the ‘database status message script’ generates much noise. This MP can really make the localizedtext table grow. Kevin Holman and Steve Rachui have blogged about how to solve that issue.
As far as I have understood a new version of this MP is in the make. When it will become publicly available, that I do not know.
Used resources & Credits:
As stated before, the above mentioned questions and detailed answers (thanks Kevin!) come from the Microsoft TechNet OpsMgr Forums.
Threads I have used to cook up this posting are:
- Configuration Management pack not monitoring 64 bit
- SCCM Management Pack - 6.0.6000 anyone?