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

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

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

Knowledge Base article:

Summary

This rule collects the row count of the 'Event.EventStage' table in OpsMgr Data Warehouse database and sends the performance data to Microsoft Operations Management Suite (OMS) workspace. 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

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

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
HttpWA WriteAction Microsoft.SystemCenter.CollectCloudPerformanceData Default

Source Code:

<Rule ID="OpsMgr.2012.Self.Maintenance.OMS.DW.DB.Event.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="OMSelfMaint!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>Event</InstanceName>
<Value>$Data/Property[@Name='Event']$</Value>
</ConditionDetection>
<WriteActions>
<WriteAction ID="HttpWA" TypeID="IPTypes!Microsoft.SystemCenter.CollectCloudPerformanceData"/>
</WriteActions>
</Rule>