Linked availability reports

Availability report is one of the easiest reports to create links to. The report is based on the monitor state changes. There are not that many parameters to control besides list of monitoring objects, monitor states considered to be downtime and essentially the monitor.

One important thing to understand in linked report authoring is that objects should never be used as a hard-coded parameters to your reports. Monitoring objects are specific to a particular SCOM management group installation and could not be known at the time the management pack is created.

Monitor and downtime states on the other hand are things that are well known at the authoring time. Hard-coding them could be quite useful in cases where you either want to look at the particular monitor or when your organization has some specific rules around downtime definition.

Let's say we like to create an availability report based on ping status assuming that device is not available when the monitor is in down or warning states. Here is a definition of such report:

<LinkedReport ID="Demo.ComputerPingHealth"

    Accessibility="Public" Visible="true" Base="Reporting! Microsoft.SystemCenter.DataWarehouse.Report.Availability">

  <Parameters>

    <Parameter Name="MonitorName">

      <Value>Microsoft.SystemCenter.Ping</Value>

    </Parameter>

    <Parameter Name="DownTime">

      <Value>2</Value>

    </Parameter>

  </Parameters>

</LinkedReport>

Notice that we put only value 2 for DownTime parameter even though I said we will consider both monitor down (red) and warning (yellow) states as downtime. This is because "monitor down" state is always considered as downtime regardless of what we specified it in the DownTime parameter.

Here is the list of  all possible values for the DownTime parameter:

Warning 2
Planned Maintenance 6
Unplanned Maintenance 5
Monitor disabled 4
Unmonitored 3

The last thing to do is to create parameter definition for the new report. To simplify the process just copy context of the Microsoft.SystemCenter.DataWarehouse.Report.Availability.rpdl there. Here is the result:

<LinkedReport ID="Demo.ComputerPingHealth"

        Accessibility="Public" Visible="true" Base="Reporting!Microsoft.SystemCenter.DataWarehouse.Report.Availability">

   <ParameterBlock columns="4" xmlns="https://schemas.microsoft.com/mom/reporting/2007/ReportParameterSettings">
<Controls>
<Control type="Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.ComboBox">
<ReportParameters>
<ReportParameter name="DataAggregation">
<Prompt>
Microsoft.SystemCenter.DataWarehouse.Report.Library!Microsoft.SystemCenter.DataWarehouse.Report.ParameterPrompt.DataAggregation
</Prompt>
</ReportParameter>
</ReportParameters>
</Control>
<Control type="Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.MonitoringObjectXmlPicker" columnSpan="2" rowSpan="2">
<ReportParameters>
<ReportParameter name="ObjectList">
<Prompt>
Microsoft.SystemCenter.DataWarehouse.Report.Library!Microsoft.SystemCenter.DataWarehouse.Report.ParameterPrompt.ObjectList
</Prompt>
</ReportParameter>
<ReportParameter name="ManagementGroupId" binding="GroupList"/>
</ReportParameters>
</Control>
<Control type="Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.CheckedListBox" rowSpan="2">
<ReportParameters>
<ReportParameter name="DownTime">
       <Prompt>
Microsoft.SystemCenter.DataWarehouse.Report.Library!Microsoft.SystemCenter.DataWarehouse.Report.ParameterPrompt.AvailabilityDownTime
</Prompt>
</ReportParameter>
</ReportParameters>
</Control>
<Control type="Microsoft.SystemCenter.DataWarehouse.Report.ParameterControl.BusinessRelativeDateTimePicker">
<ReportParameters>
<ReportParameter name="TimeZone" binding="TimeZone">
<Prompt>
Microsoft.SystemCenter.DataWarehouse.Report.Library!Microsoft.SystemCenter.DataWarehouse.Report.ParameterPrompt.TimeZone
</Prompt>
</ReportParameter>
<ReportParameter name="TimeZoneName" binding="TimeZoneName" />
<ReportParameter name="StartDate_BaseType"
binding="StartDate_BaseType" />
<ReportParameter name="StartDate_BaseValue"
binding="StartDate_BaseValue">
<Prompt>
Microsoft.SystemCenter.DataWarehouse.Report.Library!Microsoft.SystemCenter.DataWarehouse.Report.ParameterPrompt.StartDateTime
</Prompt>
</ReportParameter>
<ReportParameter name="StartDate_OffsetType"
binding="StartDate_OffsetType" />
<ReportParameter name="StartDate_OffsetValue"
binding="StartDate_OffsetValue" />
<ReportParameter name="EndDate_BaseType"
binding="EndDate_BaseType" />
<ReportParameter name="EndDate_BaseValue"
binding="EndDate_BaseValue">
<Prompt>
Microsoft.SystemCenter.DataWarehouse.Report.Library!Microsoft.SystemCenter.DataWarehouse.Report.ParameterPrompt.EndDateTime
</Prompt>
</ReportParameter>
<ReportParameter name="EndDate_OffsetType"
binding="EndDate_OffsetType" />
<ReportParameter name="EndDate_OffsetValue"
binding="EndDate_OffsetValue" />
<ReportParameter name="TimeType" binding="TimeType" />
<ReportParameter name="TimeWeekMap"
binding="TimeWeekMap" />
</ReportParameters>
</Control>
</Controls>
</ParameterBlock>

  <Parameters>

    <Parameter Name="MonitorName">

      <Value>Microsoft.SystemCenter.Ping</Value>

    </Parameter>

    <Parameter Name="DownTime">

      <Value>2</Value>

    </Parameter>

  </Parameters>

</LinkedReport>

Comments

  • Anonymous
    October 15, 2007
    Generic performance reports are ones of the most powerful generic reports in SCOM 2007. I like to start

  • Anonymous
    December 04, 2007
    Eugene Thanks for your help here, I am being exactly asked to generate the up time or down time report for our company, and obviously the generic report is showing just the state as down time, would you please post a procedure how to link this report? I am new to SCOM and have no clue at this point. thanks alot

  • Anonymous
    December 04, 2007
    Eugene I think I got it! Thanks for your help! Will come back if I have still have questions!

  • Anonymous
    December 04, 2007
    Eugene Would please post a procedure again! I am kinda struggling how to copy it to that folder.

  • Anonymous
    April 02, 2008
    Eugene you write : "The last thing to do is to create parameter definition for the new report. To simplify the process just copy context of the Microsoft.SystemCenter.DataWarehouse.Report.Availability.rpdl there." Where i can find files of reports like this one: Microsoft.SystemCenter.DataWarehouse.Report.Availability.rpdl Thanks  in advance.

  • Anonymous
    April 03, 2008
    Hi, RPDL file is located in the same SSRS where original RDL file for the report resides. You should be able to easily find it if you connect to SCOM SSRS instance using SQL Report Manager. I have a video about report publishing that also touches RPDL files. You can take a look and see if it helps: http://www.microsoft.com/winme/0712/31678/Report_Publishing_300kbps.asx. Eugene.

  • Anonymous
    April 05, 2008
    Eugene Thanks for your help!

  • Anonymous
    July 21, 2011
    Hello Eugene - This is a wonderful article. Thanks. I'm a bit confused about how to use the codes in the article in my SCOM environment. Can you please help me with this. Do I need to create an MP or should i modify any existing MP? Please send me a complete guideline on how to use this report script. Regards, a_naveed@ppl.com.pk

  • Anonymous
    July 27, 2011
    I would recommend creating a new MP. The easiest way to get started would probably be using Saving reports to a Management Pack feature in SCOM R2. That way the console creates a Management Pack for you which you can use as a starting point. Just run a report you like to create a linked report to fill in all the parameters and save it to a management pack. You can then export this management pack to modify the resulted report if needed.