(已弃用)警报订阅确认性能监视器

Microsoft.SystemCenter.HealthServiceModules.AlertSubscriptionDataSourceModule.AcknowledgementPerformanceMonitor (UnitMonitor)

警报订阅数据源模块确认性能阈值监视器。

Knowledge Base article:

摘要

由于过载的资源导致确认通知所花的时间比预期长,通知的生成将会延迟。 当通知子系统生成基于订阅的通知时便会收到确认。 确认减缓了确定子系统总体减缓的速度。

原因

通知服务器速度减缓,无法跟上为产生的警报生成通知的速度。 通过通道确认通知发送的速度减缓。 这可能是由于以下原因引起的:

1. 警报风暴 - 生成的警报太多,超出了通知服务器在合理时间段内可以处理的数量。

2. 操作数据库过载,导致整个系统速度减缓。

通常可以减缓通知确认,这是由于通知资源池及其成员管理服务器(包含通知子系统)超载。 操作数据库可能超负荷或者资源正在被耗尽。

如果这些警报在数据仓库或报表组件安装期间或安装后不久生成,可能的原因是由于打开了警报流以及到数据仓库的状态转换。 但由于还未部署数据仓库的组件,因此对应的数据结构还不存在。 一般在安装的 30 分钟内执行部署。

未执行部署时,数据由警报和稍后将写入数据仓库的状态同步工作流保留。 因此这些工作流并不将数据放回至数据源,从而生成了警报。 一旦部署完成,将自动写入数据并且自动清除警报。

如果在数据仓库安装后的 120 分钟内未自动解决警报,则存在另一个问题。

解决方法

通知子系统需要很长时间生成通知消息的确认。 这是由于通知子系统的可用资源不足的减缓所引起的。

1. 检查警报视图中最新创建的警报。 如果生成的警报太多,请识别警报的根本原因并进行解决。

2. 如果无法停止警报,请禁用监视器上的警报生成,直到警报速率受到控制。

3. 如果所有通知都是关于相同警报的,请识别引起通知的订阅并禁用。 通知相关订阅的订阅 ID 通常可以在通知消息正文中找到。

4. 操作数据库或主持此数据库的计算机可能超载。 请使用操作数据库诊断步骤来验证是否可以解决这些问题。

Element properties:

TargetMicrosoft.SystemCenter.RootManagementServer
Parent MonitorMicrosoft.SystemCenter.HealthServiceModules.AlertSubscriptionDataSourceModule.Rollup
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
(已弃用)警报订阅数据源模块确认花费的时间比预期长。
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.HealthServiceModules.AlertSubscriptionDataSourceModule.AcknowledgementPerformanceMonitor" Accessibility="Public" Enabled="false" 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>