用戶端監視應用程式 - 總叫用次數監視成功狀態 Setter 規則

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