Правило перевода монитора в состояние успеха "Приложение наблюдения за клиентами — число затронутых уникальных компьютеров"

Microsoft.SystemCenter.CM.AEM.Internal.AppMachineCountMonitorSuccessStateSetter (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
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>