This rule enables setting monitor state to success based on total unique machines affected per application
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.
This section is not applicable for this type of rule.
There is no user action for this type of rule.
Target | Microsoft.SystemCenter.CM.AEM.CrashListener |
Category | PerformanceCollection |
Enabled | False |
Alert Generate | False |
Remotable | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
Scheduler | DataSource | System.Scheduler | Default |
SuccessStateSetter | WriteAction | Microsoft.SystemCenter.CM.AEM.Internal.TargetSetSuccessStateAction | Default |
<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>