One of the issues that really makes me crazy in OpsMgr is inconsistency. I run into one more of these a few weeks ago while I was developing a custom MP, since it took me some time to pin down the culprit I want to share the issue with you.
In this MP I have a datasource that returns several performance points, I thought it was the way to go since I had the chance to collect all the data I needed with a single script run. I added a performance collection rule based on this datasource and added two actions to store data in the live db and in the data warehouse:
I let the workflow run and checked in console if my data was being collected. Everything was fine. A few weeks later the customer asked for some reporting on the collected data, and here was where I learnt that collecting perf data is something that works differently between the live db and the data warehouse. If the CollectPerformanceData write action is able to process more than one data item, PublishPerformanceData it is not. So what? In my data warehouse I had just the first data series returned by data source. What can I say? Things like this drive me crazy.
Anyway if you’re in this situation and maybe you are just you’re not aware of, the solution is to keep a 1:1 relationship between performance collecting rules and collected data series. To do this just add a condition detection in you rules so that you can keep a single data source:
Hope this can help.
This posting is provided "AS IS" with no warranties, and confers no rights.