As a SCOM engineer we face a common scenario when the Generic Report Library Availability Reports returns more than we expected. This is because the Generic Report returns the result for System.Health.AvailabilityState including the states that we don’t want to include in our reports.
For example; Lets think of the scenario we are just interested in The Computer Not Reachable Monitor (the one that does a wmi ping when heartbeats are missed) and would like to provide just the Availability of this monitor. If we used the generic availability it will be including the action account misconfigurations, heartbeats etc.
This blog post tries to address this kind of customization using linked reports and at the end you will be able to create a report like this (note the highlighted monitor name).
This solution can be very useful in if you are interested in the duration of the peak of a performance counter like total CPU utilization peak durations by just changing the MonitorName parameter explained in this post.
There’s a great blog on details of the linked reports (please check references) of Eugene covering the xml internals of the linked reports with almost the same example scenario.
High Level Steps
- Create A linked Report to existing Availability Report in Generic Report Library
- Customize the linked Report to filter the monitor (change the MonitorName parameter) that we require in our scenario
- Copy the Report Definition File of the Original Availability report to use the controls in scom reporting.
- Run the report.
Creating the Linked Report
The report and the we are going to link is in the The report in this example we are going to link is in DataWarehouse library. We will be using report manager for this (default: http://servername/reports).
The report we are going to link (the Availability) report and the RPDL to be copied are both highlighted.
In the properties of the Availability Report we use the Create Linked Report button/link (this is the same for 2005 reporting services and 2008) and then specify the name and target location of where our new linked report will be stored. Note that the default is the same location of the existing report so it would be a good practice to create in a custom folder.
Customize the linked Report To filter for the desired monitor
Now we have our linked report (Computer Not Reachable Availability) in Emres Custom Reports Folder waiting to be customized. First we browse to the properties of the report.
Under Parameters we will be changing the MonitorName to from System.Health.Availability to HealthService.ComputerDown
We need to use the Monitor System Name to pass to MonitorName Parameter. Using a query similar to the following one will help in figuring out the System Name for the monitor. In
Copy the RPDL to be able to use the controls
We now have our linked report customized for the desired monitor (Computer Not Reachable) and to be able to use the SCOM Reporting controls like datetime picker, objectpicker etc. we need to provide the report definition file. (RPDL is highlighted in the “creating linked report” section).
From the Datawarehouse Report Library Folder copy the Microsoft.SystemCenter.Datawarehouse.Report.Availability.rpdl to the folder where the linked report exists with the same name of the report (highlighted)
Run The Report
Running the report is just the same experience with the existing availability reports, we just need to be careful in adding objects that are of the target type of the monitor we filtered.
Things not to forget
- Be careful in adding the objects of the target class of the monitor to your report
- Use the Monitor System Name in the linked report not the display name.
- How to Add linked reports to an MP - http://blogs.msdn.com/b/eugenebykov/archive/2007/05/21/linked-reports.aspx
- Great detail on the XMLs for the SCOM linked Reports - http://blogs.msdn.com/b/eugenebykov/archive/2007/09/14/linked-availability-reports.aspx