Client Monitoring Application - Unique Machines Affected Count Monitor Success State Setter Rule

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

This rule enables setting monitor state to success based on total unique machines affected per application

Knowledge Base article:

Summary

This rule is used internally for setting monitor state to success based on total machine 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.AppMachineCountMonitorSuccessStateSetter" 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 count(*), AR.SourceEntityId, IsNull(MO.UniqueComputerThresholdValue, 50) from AemRelationship AR join [' + @TableName + '] A on AR.SourceEntityId = A.BaseManagedEntityId left join [' + @TableName2 + '] MO on AR.SourceEntityId = MO.ManagedEntityId where AR.RelationshipTypeId = 1 and AR.EntityTypeId = 0 group by AR.SourceEntityId, MO.UniqueComputerThresholdValue';EXEC sp_executesql @Query</Query>
<MonitorId>$MPElement[Name="AEMViewsInternal!Microsoft.SystemCenter.CM.AEM.Views.Internal.ComputersAffectedAppThreshold"]$</MonitorId>
<ManagedEntityId>Columns/Column[2]</ManagedEntityId>
<Value>Columns/Column[1]</Value>
<Threshold>Columns/Column[3]</Threshold>
</WriteAction>
</WriteActions>
</Rule>