OpsMgr 2012 Self Maintenance Data Warehouse Database ManagedEntity Staging Table Row Count Performance Collection Rule

OpsMgr.2012.Self.Maintenance.DW.DB.ManagedEntity.Staging.Table.Row.Count.Perf.Collection.Rule (Rule)

This rule collects the DW DB ManagedEntity Staging table row count as performance data

Knowledge Base article:

Summary

This rule collects the row count of the 'ManagedEntityStage' table in OpsMgr Data Warehouse database. Higher row count may indicate performance related issues on the OpsMgr Data Warehouse DB and SQL server.

Configuration

By default this rule runs very 15 minutes. In order to fully utilise OpsMgr Cook Down feature, it is sharing the same data source module and its configuration with other staging table row count monitors and performance collection rules. To optimise the performance, when creating overrides for 'Interval Seconds', 'Sync Time' 'SQL Query Timeout Seconds' and 'Script Timeout Seconds' parameters, please make sure same overrides are also created for other staging table row count monitors and performance collection rules.

Additional

http://www.bictt.com/blogs/bictt.php/2014/10/10/case-of-the-fast-growing

http://blog.tyang.org/2015/06/11/opsmgr-2012-data-warehouse-health-check-script/

Element properties:

TargetMicrosoft.SystemCenter.AllManagementServersPool
CategoryPerformanceCollection
EnabledFalse
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource OpsMgr.2012.Self.Maintenance.DW.DB.Staging.Table.Row.Count.DataSource Default
MapToPerf ConditionDetection System.Performance.DataGenericMapper Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="OpsMgr.2012.Self.Maintenance.DW.DB.ManagedEntity.Staging.Table.Row.Count.Perf.Collection.Rule" Target="SC!Microsoft.SystemCenter.AllManagementServersPool" Enabled="false" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="OpsMgr.2012.Self.Maintenance.DW.DB.Staging.Table.Row.Count.DataSource">
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<SQLQueryTimeoutSeconds>120</SQLQueryTimeoutSeconds>
<TimeoutSeconds>180</TimeoutSeconds>
</DataSource>
</DataSources>
<ConditionDetection ID="MapToPerf" TypeID="Performance!System.Performance.DataGenericMapper">
<ObjectName>OpsMgr DW DB</ObjectName>
<CounterName>Staging Table Row Count</CounterName>
<InstanceName>ManagedEntity</InstanceName>
<Value>$Data/Property[@Name='ManagedEntity']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="DW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>