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=http://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 (9)

  1. Eugene Bykov says:

    Generic performance reports are ones of the most powerful generic reports in SCOM 2007. I like to start

  2. New_to_SCOM says:

    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

  3. New_to_SCOM says:

    Eugene

    I think I got it! Thanks for your help! Will come back if I have still have questions!

  4. New_to_SCOM says:

    Eugene

    Would please post a procedure again! I am kinda struggling how to copy it to that folder.

  5. Star123 says:

    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.

  6. 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.

  7. Star123 says:

    Eugene

    Thanks for your help!

  8. Naveed anjum says:

    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

  9. 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.