OpsMgr 2012 Self Maintenance Data Warehouse Database Aggregation Process OMS Performance Collection Rule

OpsMgr.2012.Self.Maintenance.OMS.DW.Database.Aggregation.Perf.Collection.Rule (Rule)

This rule collects the outstanding count of dataset still to be processed by the DW DB hourly and daily aggregation process. Higher count may indicate there is a performance related issue with the OpsMgr Data Warehouse Database.

Knowledge Base article:

Summary

This rule collects the outstanding count of dataset still to be processed by the DW DB hourly and daily aggregation process. The performance data is sent to Microsoft Opertaions Management Suite (OMS) workspace. Higher count may indicate there is a performance related issue with the OpsMgr Data Warehouse Database. This rule is adopted from Michel Kamp's blog post: http://michelkamp.wordpress.com/2013/03/24/get-a-grip-on-the-dwh-aggregations/

Configuration

By default, this rule runs hourly against DW standard Data Sets. There are also two (2) separate 3-state monitors from this management pack that would generate alerts when the outstanding data sets are above configured thresholds.

Causes

There are several possible causes for the higher performance reading. More information can be found from this article: http://blogs.technet.com/b/operationsmgr/archive/2011/09/06/standard-dataset-maintenance-troubleshooter-for-system-center-operations-manager-2007.aspx

Additional

The data can be access via the OMS web portal (Type:PerfHourly) or via the OMS Search API.

http://michelkamp.wordpress.com/2012/04/10/scom-dwh-aggregations-data-loose-tip-and-tricks/

Element properties:

TargetMicrosoft.SystemCenter.DataWarehouse.DataSet
CategoryPerformanceCollection
EnabledFalse
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource OpsMgr.2012.Self.Maintenance.Check.DW.DB.Aggregation.Count.DataSource Default
MapToPerf ConditionDetection System.Performance.DataGenericMapper Default
HttpWA WriteAction Microsoft.SystemCenter.CollectCloudPerformanceData Default

Source Code:

<Rule ID="OpsMgr.2012.Self.Maintenance.OMS.DW.Database.Aggregation.Perf.Collection.Rule" Target="DW!Microsoft.SystemCenter.DataWarehouse.DataSet" Enabled="false" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="OMSelfMaint!OpsMgr.2012.Self.Maintenance.Check.DW.DB.Aggregation.Count.DataSource">
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<DataSetId>$Target/Property[Type="DW!Microsoft.SystemCenter.DataWarehouse.DataSet"]/InstanceGuid$</DataSetId>
<SQLQueryTimeoutSeconds>120</SQLQueryTimeoutSeconds>
<TimeoutSeconds>180</TimeoutSeconds>
</DataSource>
</DataSources>
<ConditionDetection ID="MapToPerf" TypeID="Performance!System.Performance.DataGenericMapper">
<ObjectName>Standard Dataset</ObjectName>
<CounterName>$Data/Property[@Name='Counter']$</CounterName>
<InstanceName>$Data/Property[@Name='AggregateName']$</InstanceName>
<Value>$Data/Property[@Name='Value']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="HttpWA" TypeID="IPTypes!Microsoft.SystemCenter.CollectCloudPerformanceData"/>
</WriteActions>
</Rule>