此监视器检查系统健康验证程序服务点的可用性状态。
无法加载或更新注册表、FileCacheStore 或 Active Directory 中的全局或本地设置。
此情况可能是由以下原因引起的:
无法读取注册表设置,这可能是由于访问问题或注册表损坏造成的。
FileCacheStore (SMSSHV\Cache\SmsSHVCacheStore.csv) 可能损坏或者可能没有 NETWORK_SERVICE 的读取访问权限。
无法检索 Active Directory 中的数据。 这可能是由于数据格式不正确造成的。
无法从注册表中读取 AD 设置,可能 NETWORK_SERVICE 帐户存在访问问题。
请确保 NETWORK_SERVICE 对 SMSSHV 注册表项及其所有子项都具有读取访问权限。
请检查全局目录中所有站点对象的 MsSMSHealthState 属性,并确保它们格式正确并且未损坏。 检查到全局目录的连接,并确保 SHV 可以通过站点角色属性中提供的凭据与 GC 对话。
如果文件似乎损坏,请停止 SMS_System_Health_Validator 服务;删除该文件;并重新启动 SMS_System_Health_Validator 服务。 当 SHV 服务从 Active Directory 中读取 HealthState 时,将会自动填写 FileCacheStore 的内容。
Target | Microsoft.SystemCenter2012.ConfigurationManager.SystemHealthValidator | ||
Parent Monitor | Microsoft.SystemCenter2012.ConfigurationManager.RoleAggregateMonitor | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | MatchMonitorHealth | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter2012.ConfigurationManager.RoleAvailabilityMonitor | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default | ||
Comment | SIV:SVC0049 |
<UnitMonitor ID="Microsoft.SystemCenter2012.ConfigurationManager.SystemHealthValidator.AvailabilityMonitor" Comment="SIV:SVC0049" Accessibility="Public" Enabled="onEssentialMonitoring" Target="SCCM!Microsoft.SystemCenter2012.ConfigurationManager.SystemHealthValidator" ParentMonitorID="Microsoft.SystemCenter2012.ConfigurationManager.RoleAggregateMonitor" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter2012.ConfigurationManager.RoleAvailabilityMonitor" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter2012.ConfigurationManager.SystemHealthValidator.AvailabilityMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="SCCM!Microsoft.SystemCenter2012.ConfigurationManager.SiteRole"]/RoleName$</AlertParameter1>
<AlertParameter2>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId7774bdb9848640fcaa9f8b8f62c3f5ba" MonitorTypeStateID="Good" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateIdb00ecfe58eaa4e058cbcd67103e91279" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId011bd5cc96b2429fa07e757db984271f" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<RoleName>$Target/Property[Type="SCCM!Microsoft.SystemCenter2012.ConfigurationManager.SiteRole"]/RoleName$</RoleName>
<IntervalSeconds>360</IntervalSeconds>
</Configuration>
</UnitMonitor>