Authoring reports for System Center Operations Manager 2007

My name is Eugene Bykov and I am a developer responsible for reporting user interface in Microsoft System Center Operations Manager. I frequently get asked questions about new Operations Manager 2007 reporting infrastructure and ways of adopting it to needs of particular organization. I will try to answer some of those questions in this blog. As a developer I will primarily concentrate on using Operations Manager reporting infrastructure to create new reports and ways to customize existing reports to your specific needs.

As you probably already know, reporting was completely rewritten in the Operations Manager 2007. It is still based on SQL Reporting Services (SSRS) though so all skills and experience you have with SSRS applies for the new version. In this version however SSRS is much more integrated with the OpsMgr. This integration comes in different ways. First and most visible is UI. Reports now run inside the console and parameters are frequently in context with things you are currently doing. For normal activity you shouldn’t have a need to use standard SSRS Report Manager UI anymore. It is still available for you though and you can use it to do some advance tasks.

So, how do I author reports? Well, it depends on the problem you are trying to solve. There are several ways available to introduce a new report for the OpsMgr. First and the least expensive one is reusing existing OpsMgr generic reports. OpsMgr Generic Report Library contains a set of highly customizable reports that allow you to report on pretty much any data in the data warehouse. It is usually only a question of providing the right set of parameters. You customize generic reports providing parameters and the best way to do that in SSRS is create a linked report.

The second way to create custom reports in Operations Manager is using Report Builder. Unfortunately we do not ship any Report Builder models at this time so this way is available to you only if you create the models yourself. This could be beneficial for organizations that would want to allow their end users to create new reports using report models created by administrator.

If neither first nor second way solves your problem you can always create report from the scratch using Visual Studio. This is the most powerful way that allows you to use full set of functionality provided by both SSRS and OpsMgr.

There is a set of OpsMgr specific extensions available to you if you decide to write a custom report. Relative date support; custom parameter block; localization; chart extensions. All of this is available for you to use in your reports. You do not have to use and know all of them however. Any SSRS report would work in OpsMgr. It all depends on how much complexity you need and like to put in your solution.

To access data OpsMgr data warehouse has a set of public views. Make sure you use these views rather than going directly against database tables so no future schema updates break your reports. This is also true for building Report Models.

Comments (13)

  1. Eugene Bykov says:

    In my previous post “ Authoring reports for SCOM 2007 ” I said that there are basically tree ways to

  2. droach says:

    I need to create an Availability Report for my servers, but I would like to exclude planned outages from affecting the availability calculation.  In other words, if the server was up for the past week, but we scheduled a planned outage to patch and reboot the server, I would like the report to account for the planned outage and show 100% availability for this server.  Is there any way to do this?

  3. kosmasj says:

    Eugene – For the Availability report is there a way to aggregate all of the servers into a single chart instead of having all the servers reporting differently?

  4. eugenebykov says:

    Actually Planned Maintenance is not considered downtime by default.  There is a “Down Time” parameter for Availability report that shows that (the last one at the right). To include or exclude any state from the down time calculations just make sure it has a correct check mark in from of it.

    Another thing to make sure is that you actually put server in the Planned Maintenance mode during these intervals. To do that check “Planned” checkbox (at the right of the “Category” dropdown) when you start maintenance mode for the server.

  5. eugenebykov says:

    The only way to “aggregate” server availability for the group of servers is to create a “Dependency Rollup monitor” for them and then report on the health of the entity you created the monitor for. For instance you can put these servers in a group and then create a dependency rollup monitor for the group. When the data is collected just add the group as an “Object” to the Availability report and it should return the correct roll up.

  6. Fabson69 says:

    Hello Eugene, You said that "There is a set of OpsMgr specific extensions available to write a custom report" Where can I found them ? Is there any specific library that I can download. Thanks in advance.

  7. eugenebykov says:

    Hi, there is no special download for these “extensions”. They ship with the product and mostly used for localization and parameter handling in out-of-the-box reports. Most of the code is in Microsoft.EnterpriseManagement.Reporting.Code.dll. This DLL is placed in the Report Server bin directory during SCOM setup. If you look at the source code for any SCOM out-of-the-box report, for instance Availability, you will find a reference to this library and bunch of the helper functions under Code section of the report. The reference looks like this:

    <CodeModule>Microsoft.EnterpriseManagement.Reporting.Code, Version=, Culture=neutral</CodeModule>

  8. AscendNick says:

    Eugene – I’m new to the SCOM 2007 world.  I’ve had previous experience with MOM but I’m limited with SCOM.  In that, what would you suggest I use in creating reports in a new environment SSRS, OpsMgr, or Visual Studio?  I essentially want to focus on one aspect and take the time to learn that initially.


  9. eugenebykov says:

    If you are new to SCOM the first thing I would recommend you to look at is linked reports. This is by far the easiest way to author reports in SCOM.

    If you need to author custom reports from scratch SSRS Report Designer or Visual Studio will be the way to go.

    Also take a look at the Report Authoring Guide:

  10. Sandy says:

    Hi Eugene,

    Am looking to get the current SCOM configuration i.e the MPs, rules, thresholds, overrides that are set up in the system. How do I get a report out or maybe export all the settings ? Need help !! Thanks.

  11. Srini says:

    How to get the current SCOM configuration i.e the MPs, rules, thresholds, overrides that are set up in the system. How do I get a report out or maybe export all the settings ? I wanna report showing current value and threshold value for a particular event. How to get the report? Is it possible to track the hit counter of the website in scom 2007?

  12. Vivak says:

    In case we need to create a Availablity report from the Generic ones , What would be the best way to create it for say a specific windows service. Suppose we have Apache Service running on Server1 , I need to Put this in the Availablity report as an individual object. If i create a basic service monitor for this and target it to all windows Computers .. i cannot find a way to add the Service as object in the report

  13. eugenebykov says:

    The easiest way would be to create a linked report and hardcode your object in the list of objects parameter for the Availability report.