We've been highlighting a few problems we see around here doing support for OpsMgr and ConfigMgr so I thought I'd offer up one of my own. If you run into this it can be tricky to troubleshoot but with the tips below, fixing this should be a snap.
========
Problem: The System Center Operations Manager 2007 Health Service Fails to start during and after Installation
During Agent Installation the following error may appear:
Warning: 25362 Failed to start Health Service. Setup will proceed, please examine your event logs. Setup will complete but the Health Service will not start.
The following error may also be found in the event log:
Event Type: Error Event Source: Service Control Manager Event Category: None Event ID: 7024 Description: The OpsMgr Health Service service terminated with service-specific error 3 (0x3). For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp
Resolution: To resolve this issue:
1. Enable ETL Verbose Logging from the \Program Files\System Center Operations Manager\Tools Directory by running StartTracing.cmd Verbose
2. Attempt to start the OpsMgr Health Service. Let it fail.
3. Turn off ETL Verbose Logging from the \Program Files\System Center Operations Manager\Tools Directory by running StopTracing.cmd
4. Evaluate the ETL Logs for HealthServiceCommon FileUtility_cpp108 CFileUtility::_CheckAndCreateDirectory B64 F28 2 0 01\11\2008-14:17:45.
The above is looking for HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService\State Directory.
If you're using SP1 or later then the path it's looking for will be HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService\Parameters\State Directory.
5. Verify the value that it contains. It should point to the location in which the agent is installed and the Health Service State subdirectory (\Program Files\System Center Operations Manager\Health Service State), change the value to correct location if incorrect or create a new String Value (Reg_SZ) if missing and set it to the correct path.
6. After correcting the above issue restart the service. If it starts you are finished. However, you may run into a similar error:
--------------------------- Services --------------------------- Windows could not start the OpsMgr Health Service on Local Computer. For more information, review the System Event Log. If this is a non-Microsoft service, contact the service vendor, and refer to service-specific error code -2147467259.
Event Type: Error Event Source: Service Control Manager Event Category: None Event ID: 7024 Description: The OpsMgr Health Service service terminated with service-specific error 2147500037 (0x80004005). For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
7. If you get this error, start ETL Tracing in Verbose Mode again and start the service, then stop the tracing and evaluate. Look for something like:
src EventLogUtil_cpp195 Common::EventLogUtil::LogEvent F00 D88 1 36432528 01\11\2008-14:59:14 Information Logging informational event with args "OpsMgr_dor", "NULL","NULL", "NULL", "NULL", "NULL", "NULL", "NULL", "NULL" SecureStorageManager SecureStorageMGState_cpp75 SecureStorageMGState::Create F00 36C 1 172271493 01\11\2008-14:59:14 Error Unexpected return value : 2(ERROR_FILE_NOT_FOUND) SecureStorageManager SecureStorageManager_cpp976 CSecureStorageManager::NotifyManagementGroupsList F00 36C 1 43840688 01\11\2008-14:59:14 Error Unable to create per-MG state object SecureStorageManager SecureStorageManager_cpp1584 CSecureStorageManager::NotifyManagementGroupsList F00 36C 1 4294967295 01\11\2008-14:59:14 Error Unable to initialize per-management group state ConnectorManager ConnectorManager_cpp5165 CConnectorManager::informManagementGroupState F00 36C 1 160 01\11\2008-14:59:14 Error Secure Storage Manager failed during MG notification : -2147467259(E_FAIL) ConnectorManager ConnectorManager_cpp1480 CConnectorManager::Start F00 36C 1 3393 01\11\2008-14:59:14 Error Unable to inform components about management groups : -2147467259(E_FAIL) HealthServiceExecutive HealthServiceExecutive_cpp1537 CHealthServiceExecutive::ManagerStartup F00 36C 1 235378759 01\11\2008-14:59:14 Error Start of 1 manager failed with code -2147467259(E_FAIL). HealthServiceExecutive HealthServiceExecutive_cpp1777 CHealthServiceExecutive::ServiceInitialization F00 36C 1 4294967295 01\11\2008-14:59:14 Error ManagerStartup failed with code -2147467259(E_FAIL). HealthServiceExecutive HealthServiceExecutive_cpp1908 CHealthServiceExecutive::OnStartService F00 36C 1 160 01\11\2008-14:59:14 Error ServiceInitialization failed with code -2147467259(E_FAIL). HealthServiceExecutive HealthServiceExecutive_cpp1401 CHealthServiceExecutive::ErrorShutdownServiceNoLock F00 36C 1 1455 01\11\2008-14:59:14 Error Shutting down service due to error. The supplied error code is -2147467259(E_FAIL) and the current service state is 0x1. HealthServiceExecutive HealthServiceExecutive_cpp2710 CHealthServiceExecutive::ShutdownServiceNoLock F00 36C 1 55405504 01\11\2008-14:59:14 Information Health service is stopping.
8. This error can be caused by the WindowsAccountLockDownSD Key in at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HealthService\Parameters\Management Group\<Management Group Name Here> being invalid or non-present. The easiest way to resolve the issue with the Windows AccountLockDownSD key is to export the registry key from a similar, working system and then import it in to the registry of the server experiencing the problem. Once this is complete the HealthService should start successfully.
Frank Novak | Manageability Support Engineer