客户端监视应用程序 - 总命中计数监视器错误状态设置程序规则

Microsoft.SystemCenter.CM.AEM.Internal.AppTotalHitCountMonitorErrorStateSetter (Rule)

此规则使得能够根据每应用程序的总命中计数将监视器状态设置为错误

Knowledge Base article:

摘要

此规则在内部使用,根据每应用程序的命中总数将监视器状态设置为错误。此规则不应被替代,因为会对监视产生负面影响。

原因

本节不适用于此类型规则。

解决方法

此类型规则无需任何用户操作。

Element properties:

TargetMicrosoft.SystemCenter.CM.AEM.CrashListener
CategoryPerformanceCollection
EnabledFalse
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
Scheduler DataSource System.Scheduler Default
ErrorStateSetter WriteAction Microsoft.SystemCenter.CM.AEM.Internal.TargetSetErrorStateAction Default

Source Code:

<Rule ID="Microsoft.SystemCenter.CM.AEM.Internal.AppTotalHitCountMonitorErrorStateSetter" Target="AEMLib!Microsoft.SystemCenter.CM.AEM.CrashListener" Enabled="false" ConfirmDelivery="true">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="Scheduler" TypeID="System!System.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Minutes">15</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="ErrorStateSetter" TypeID="Microsoft.SystemCenter.CM.AEM.Internal.TargetSetErrorStateAction">
<Query>DECLARE @TableName NVARCHAR(1000), @TableName2 NVARCHAR(1000), @Query NVARCHAR(1000);SELECT @TableName = ManagedTypeTableName FROM ManagedType WHERE TypeName = 'Microsoft.SystemCenter.CM.AEM.Application';SELECT @TableName2 = ManagedTypeTableName FROM ManagedType WHERE TypeName = 'Microsoft.SystemCenter.CM.AEM.MonitorOverride';SET @Query = N'select sum(AC.HitCount), AC.SourceEntityId, IsNull(MO.HitCountThresholdValue, 50) from AemCrashCounters AC join [' + @TableName + '] A on AC.SourceEntityId = A.BaseManagedEntityId left join [' + @TableName2 + '] MO on AC.SourceEntityId = MO.ManagedEntityId where AC.EntityTypeId = 0 group by AC.SourceEntityId, MO.HitCountThresholdValue';EXEC sp_executesql @Query</Query>
<MonitorId>$MPElement[Name="AEMViewsInternal!Microsoft.SystemCenter.CM.AEM.Views.Internal.HitCountAppThreshold"]$</MonitorId>
<ManagedEntityId>Columns/Column[2]</ManagedEntityId>
<Value>Columns/Column[1]</Value>
<Threshold>Columns/Column[3]</Threshold>
</WriteAction>
</WriteActions>
</Rule>