Client Monitoring Application - Total Hit Count Monitor Success State Setter Rule

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

This rule enables setting monitor state to success based on total hit counts per application

Knowledge Base article:

Summary

This rule is used internally for setting monitor state to success based on total hit counts per application. This rule should not be overridden as it will have an adverse negative impact on monitoring.

Causes

This section is not applicable for this type of rule.

Resolutions

There is no user action for this type of rule.

Element properties:

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

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.CM.AEM.Internal.AppTotalHitCountMonitorSuccessStateSetter" 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="SuccessStateSetter" TypeID="Microsoft.SystemCenter.CM.AEM.Internal.TargetSetSuccessStateAction">
<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>