MP authoring and rules for performance collection in OpsMgr 2007

GrayAndYellowGearsHi everyone, Eddy Pacay here once again with some useful knowledge on MP Authoring and rules for performance collection in System Center Operations Manager 2007 (SCOM 2007). I have recently come across a very unique scenario where a single performance collection rule was created and used to collect multiple counters.  Let me give you an example of what I mean.

So let’s say that you author an MP because you create a rule to collect multiple counter values such as shown below.


This seems like a good idea right? In reality this is not something that we recommend you do. The reason is that SCOM is not able make this association because by design we apply a single counter per rule. Meaning, when a counter is collected, we apply a 1:1 relationship with the counter to the rule.  This does not mean that we are limited to a single rule collecting a specific counter,  as we can have many rules collecting the same counter, it just means that a rule is limited to one counter only.

This is not a big deal when you see it in the Operations Console in a performance view such as shown above. Things become a little convoluted when you try to run a report for the collected data values. What you encounter when you try to add the counters to the report is that the counter is missing. This has to do with the way SCOM is designed and how the data is entered in the Data Warehouse.



You may ask yourself “Why can I see the correct data in the console view?”

This is because of differences with the OpsDb and the OpsDW. One of the differences is data aggregation. With Data aggregation we simply run a maintenance workflow against the Data warehouse. When we do so, the workflow is expecting to find one counter per rule.

So in case you have ever thought about doing such a thing you will find this behavior is by design.

Here is how you can see the behavior in practice.

This query shows the last counter added to the DW in my lab the name of my MP and the name of the rules as well as the counters have the keyword “test” somewhere.

select * from PerformanceRule where CounterName like ‘%test%’


RuleRowId ObjectName CounterName MultiInstanceInd LastReceivedDateTime

490 Testing_Object Testing Counter 1 0 2011-08-19 00:54:00
491 Testing_Object Testing Counter 2 0 2011-08-19 00:51:00
1086 Testing_Object Testing Counter 1 0 2011-08-19 00:54:00

We only see testing counter 1 and testing counter 2.  Testing counter 3 is missing.

This is the same in SCOM 2007 R2 CU4 as in the SCOM 2012 Beta

We then look for the instances in the perfruleinstance table:

select * from PerformanceRuleInstance where InstanceName like ‘%Testing%’
order by InstanceName


PerformanceRuleInstanceRowId RuleRowId InstanceName LastReceivedDateTime

136 490 Testing Instance 1 2011-08-19 00:51:00
137 491 Testing Instance 1 2011-08-18 01:51:00
341 1086 Testing Instance 1 2011-08-19 00:51:00

This gives us the PerformanceRuleInstanceRowId for the location of the Perf Rule.

We then Plug in PerformanceRuleInstanceRowId from above query to see collected counters (notice the data is making it to the PerRaw tables, this is before Data Aggregation)

select * from perf.vPerfRaw where PerformanceRuleInstanceRowId = ‘137’
order by [DateTime] desc

The results show the following:

Date                 Time        PerformanceRuleInstanceRowId    ManagedEntityRowId    SampleValue

2011-08-19     19:46:00.140    137                                               55                                      1
2011-08-19     19:46:00.140    137                                               55                                      2
2011-08-19     19:46:00.140    137                                               55                                      3
2011-08-19     19:46:00.137    137                                               56                                      1
2011-08-19     19:46:00.137    137                                               56                                      2
2011-08-19     19:46:00.137    137                                               56                                      3

This shows that the values are being collected as expected.

We can also check the Perf Raw tables to confirm that the data is making it to the DW by using the same:


Select* from Perf.PerfRaw_7FD35E95DF324C119870120B12B9CF41 where PerformanceRuleInstanceRowId = ‘137’

The results are

PerfRawRowId DateTime PerformanceRuleInstanceRowId ManagedEntityRowId SampleValue

1280304 2011-08-09 17:22:00.093 137 57 1
1280305 2011-08-09 17:22:00.093 137 57 2
1280306 2011-08-09 17:22:00.093 137 57 3
1280382 2011-08-09 17:22:00.077 137 56 1
1280383 2011-08-09 17:22:00.093 137 56 2
1280384 2011-08-09 17:22:00.093 137 56 3

This is expected behavior as the three counters are all tied to the one performance rule.

As stated above, this is due to the way we store data in the DW… we tie each counter collected to one rule, so the last counter added will change the performancerule name… you’ll never see all three counter names show up in the DW because of this.

The formula for this practice is the following

"Use dedicated rule per each DataItem generated by DataSourceA"

In conclusion, although things are still working and doing what they should do, do not be alarmed that you are unable to find missing values in the Datawarehouse, this is expected and by design.  Following best practices for MP authoring and rule creation should be followed, follow the dedicate rule per each DataItem generated by DataSource A. formula.

Eddy Pacay | System Center Support Engineer

App-V Team blog:
AVIcode Team blog:
ConfigMgr Support Team blog:
DPM Team blog:
MED-V Team blog:
OOB Support Team blog:
Opalis Team blog:
Orchestrator Support Team blog:
OpsMgr Support Team blog:
SCMDM Support Team blog:
SCVMM Team blog:
Server App-V Team blog:
Service Manager Team blog:
System Center Essentials Team blog:
WSUS Support Team blog:

clip_image001 clip_image002

Comments (1)

  1. show box says:

    Thanks for the great info. I really loved this. I would like to apprentice at the same time as you amend your web site, how could i subscribe for a blog site?
    For more info on showbox please refer below sites:
    Latest version of Showbox App download for all android smart phones and tablets. – It’s just 2 MB file you can easily get it on your android device without much trouble. Showbox app was well designed application for android to watch movies and TV shows, Cartoons and many more such things on your smartphone.
    For showbox on iOS (iPhone/iPad), please read below articles:
    Showbox for PC articles:
    There are countless for PC clients as it is essentially easy to understand, simple to introduce, gives continuous administration, effectively reasonable. it is accessible at completely free of expense i.e., there will be no establishment charges and after establishment
    it doesn’t charge cash for watching films and recordings. Not simply watching, it likewise offers alternative to download recordings and motion pictures. The accompanying are the strides that are to be taken after to introduce Showbox application on Android. The above
    all else thing to be done is, go to the Security Settings on your Android telephone, Scroll down and tap on ‘Obscure sources’.
    Movie Box, an esteemed movies application in which you can find stacks of programs and films. The guide is given here to download Movie Box app to Android and to Apple iOS 9.0.2, iOS 8.4/8.3 and also for the lower versions without Jailbreak.
    Please do login to Showbox application with the help of Ymail. You can login in Ymail from here –
    Sign Up & Do registration for latest movies on Showbox application