警报订阅数据源模块确认性能阈值监视器。
由于过载的资源导致确认通知所花的时间比预期长,通知的生成将会延迟。当通知子系统生成基于订阅的通知时便会收到确认。确认减缓了确定子系统总体减缓的速度。
通知服务器速度减缓,无法跟上为产生的警报生成通知的速度。通过通道确认通知发送的速度减缓。这可能是由于以下原因引起的:
1. 警报风暴 - 生成的警报太多,超出了通知服务器在合理时间段内可以处理的数量。
2. 操作数据库过载,导致整个系统速度减缓。
通常可以减缓通知确认,这是由于托管“根管理服务器”(包含通知子系统)的计算机超载。操作数据库可能超负荷或者资源正在被耗尽。
如果这些警报在数据仓库或报表组件安装期间或安装后不久生成,可能的原因是由于打开了警报流以及到数据仓库的状态转换。但由于还未部署数据仓库的组件,因此对应的数据结构还不存在。一般在安装的 30 分钟内执行部署。
未执行部署时,数据由警报和稍后将写入数据仓库的状态同步工作流保留。因此这些工作流并不将数据放回至数据源,从而生成了警报。一旦部署完成,将自动写入数据并且自动清除警报。
如果在数据仓库安装后的 120 分钟内未自动解决警报,则存在另一个问题。
通知子系统需要很长时间生成通知消息的确认。这是由于通知子系统的可用资源不足的减缓所引起的。
注意通知子系统的高水位和低水位。这些警报表示正在处理的操作数据库中的警报数据的程度。
检查管理组中的订阅。如果存在任何订阅(这些订阅具有与其关联的复杂查询),它们将减缓所有通知的生成速度。查看是否可以简化警报的条件。
可能拥有过多订阅。检查您是否可以禁用或删除不必要的订阅。
托管“操作数据库”的计算机可能资源不足。诊断被过度使用的资源硬件和软件。添加更多资源可以减轻负载。
检查 Operations Manager 事件日志中的消息。系统中的其他问题迹象可能引导您执行进一步的诊断步骤。
1. 检查警报视图中最新创建的警报。如果生成的警报太多,请识别警报的根本原因并进行解决。
2. 如果无法停止警报,请禁用监视器上的警报生成,直到警报速率受到控制。
3. 如果所有通知都是关于相同警报的,请识别引起通知的订阅并禁用。通知相关订阅的订阅 ID 通常可以在通知消息正文中找到。
4. 操作数据库或主持此数据库的计算机可能超载。请使用操作数据库诊断步骤来验证是否可以解决这些问题。
Target | Microsoft.SystemCenter.RootManagementServer | ||
Parent Monitor | Microsoft.SystemCenter.HealthServiceModules.AlertSubscriptionDataSourceModule.Rollup | ||
Category | PerformanceHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.2SingleEventLog2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.HealthServiceModules.AlertSubscriptionDataSourceModule.AcknowledgementPerformanceMonitor" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.RootManagementServer" ParentMonitorID="Microsoft.SystemCenter.HealthServiceModules.AlertSubscriptionDataSourceModule.Rollup" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.HealthServiceModules.AlertSubscriptionDataSourceModule.AcknowledgementPerformanceMonitorMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="AlertSubscriptionDataSourceAcknowledgementsRunningSlow" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="AlertSubscriptionDataSourceAcknowledgementsRunningNormal" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Operations Manager</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">11411</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Modules</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Operations Manager</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">11412</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Modules</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>