Using Linked Reports in SCOM to Create Custom Availability Reports for Specified Monitors
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: https://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.
Rerefences:
- How to Add linked reports to an MP - https://blogs.msdn.com/b/eugenebykov/archive/2007/05/21/linked-reports.aspx
- Great detail on the XMLs for the SCOM linked Reports - https://blogs.msdn.com/b/eugenebykov/archive/2007/09/14/linked-availability-reports.aspx
Comments
Anonymous
January 01, 2003
I want to know a good way to warm up IP addresses for SMTP services, I am willing to pay for a proven methord? Akshat asked 16 hrs ago - 3 days left to answer I want to know a good way to warm up IP addresses for SMTP services, I am willing to pay for a proven methord we Need experts on SMTPs anyone who can warm IP addresses we are willing to pay or someone who can provide to us some warmed up IP addresses. we have tried some services but they were not very good PLEASE CONTACT ASAPAnonymous
January 01, 2003
Thank you, you really saved my day :)Happy holidays!Anonymous
January 01, 2003
HI Emre,Very nice post !!!I am trying to similar kinda report of custom created monitors to monitoring windows services.But i not able to trace the MonitorDefaultname for them by querying the DW database. I see many parameters with name like UIGeneratedMonitor44b7b99733f84222a32e05643fabb8c7.. Please helpRegards,PrajulAnonymous
January 18, 2012
Thanks for this detailed document!!! I have followed above steps and got stuck while running the report from SCOM console. When I open the report, I am getting an error "For security reasons DTD is prohibited in this XML document. To enable DTD processing set the ProhibitDtd property on XmlReaderSettings to false and pass the settings into XmlReader.Create method." Any pointers on this please? I am getting this error only for this linked report. Other reports are working fine. Thanks, SureshAnonymous
February 17, 2012
I followed the same procedure and all worked fine, my reports showing 100% for all servers but all are showing with gray "monitor disabled".Agents are healthy in "Agent managed" under SCOM console. Any help would be highly appreciated. Regards, VijayAnonymous
July 27, 2013
popoooopooppopoaaessssassdssdbmnknkokkoaaaaaaeslópp´p´pkppopopopAnonymous
April 14, 2014
I follow the step by step but report is blank.Just wondering if this report is applicable for SCOM 2012SP1 alsoAnonymous
February 03, 2015
Hi Emre,
I was trying to create a linked report for a unit Monitor which is targeted to "Windows Operating System". by following the instrauction mentioned above i could create a linked report for n number of servers for "Microsoft.Windows.Server.Computer.OSAvailabilityRollup" Monitor but my Unit monitor exists beneth this class and when i add the monitor name for said monitor, blank report get generated.
Please let me know if i am doing something wrong or missing something.
RaviAnonymous
February 27, 2015
Hi Emre,
Can you also use the business hours functionality in the report, when using Reporting Services?
Thanks in advance.
Regards,
Wouter