How to create a Linked Performance Report in the Authoring Console – Part 1: The XML Parameter Block

Script In this short blog series, I will demonstrate how anyone (including IT Pros who do not work with XML frequently) can create a linked report in the OpsMgr 2007 R2 Authoring Console.  A linked report is a shortcut to an existing report. In fact, most reports in Microsoft packs are linked reports, so you have loads of examples. Linked reports in OpsMgr are generally based on the reports in the Micrsosoft Generic Report Library.

The series will unfold like this

  • Part 1: The XML Parameter Block (I’ll provide a nicely formatted parameter block at the end of this post that you will use in part 2 to create your report)
  • Part 2: Creating a Linked Performance Report (single chart) – You’ll be able to import and test at this point (completed XML will be provided).
  • Part 3: Adding Multiple Charts to the Linked Performance Report – You’ll add some counters in a separate chart

I need to get this posted this week for reasons you’ll understand very soon, so the entire series should unfold pretty quickly.

In This Article

In this article, we are simply going to review the XML you need in order to create your linked report in the Authoring Console…the XML parameter block which makes up the Smart Parameter Header in your report. That’s the grey area at the top of the report with all the dropdown menus, date pickers, checkboxes, etc. It’s important to recognize that you do not have to reinvent the wheel here. I first learned how to create linked reports by looked at the reports in the SQL Server Management Pack. In this post, we will walk through the parameter block for a custom “Windows 2008 Network Performance” linked report. We’ll be creating a linked report for these three rules, which target the Windows Server 2008 Network Adapter class.

  • Microsoft.Windows.Server.2008.NetworkAdapter.BytesReceivedPerSec.Collection
  • Microsoft.Windows.Server.2008.NetworkAdapter.BytesSentPerSec.Collection
  • Microsoft.Windows.Server.2008.NetworkAdapter.BytesTotalPerSec.Collection

You’ll notice throughout that we are using the ID and not the friendly display name throughout. These values can be easily retrieved using the MP Viewer or Authoring Console. You will have to export the Windows 2008 management packs so you have them in an unsealed format if you want to examine existing linked reports in detail.

Compatibility: The report we’re working toward includes a new R2 feature, so the resulting report will only work in Operations Manager 2007 R2 or Essentials 2010. I’ll point out how to make the report compatible all the way back to OpsMgr 2007 RTM.

A Quick Look at XML Parameter Block

As I mentioned, I took the parameter block from a performance report in the SQL Server Management Pack, and made a few small changes. There is one critical step that you will not find in the documentation, so do read through the comments in this page. Look for **CRITICAL STEP** later in this article. All the areas in green enclosed in <!– –> are comments I’ve added to help explain what each portion of the parameter block is for.

It starts with the initial <ParameterBlock> tag, which you’ll notice includes the the number of columns….this along with the columnSpan values you’ll see throughout determine how the control align in the header.  It’s a good idea to borrow from Microsoft authors and customize to your needs. And since we’re really only creating a shortcut to an existing report, we can borrow from MS-authored linked reports and not worry much about alignment.
PerfXML1

This section data aggregation, which can be hourly or daily. This is going to default to hourly in the linked performance report.

PerfXML2

This is the object picker. The object picker is how you choose the objects for which the performance data will be retrieved.

PerfXML3

Here is the Class Filter. This is the new feature in the R2 release of OpsMgr 2007 R2 that allows you to limit what type of objects are returned when you click the button to add objects. In our case, we only want Windows Server 2008 Network Adapter instances, so we will get the name of that class from the Windows Server 2008 Discovery Management Pack and paste it between the <Value></Value> tags. You can find this by opening the MP in the Authoring Console and browsing to Service Model –> Classes. Remove this section from the xml if you want the report to work in OpsMgr 2007 RTM, SP1 or Essentials 2007.

PerfXML4

In this section, you will see <Value>  tags enclosing <Data> tags enclosing <Chart> tag which in turn enclose <Series> tags. The chart tag represents the performance chart, and each <series> tag represents a single performance data stream. Inside each set of <Series> tags you will see the name of a performance collection rule. Since we have three sets of <Series> tags here, we will have three separate data streams in our performance chart for the selected instance. The three data streams for each instance will be displayed in it’s own chart.

**CRITICAL STEP**

There are really two critical items I want to point out here that are key to your success in creating the report:

1) Notice that the <Data> tags are wrapped in CDATAtags. CDATA tells the interpreter to treat this as character data and not evaluate as code. If you do not add the CDATA tags, the authoring console will generate an error when you try to add your parameter block code to your linked report in the Authoring Console.

2) Notice the MicrosoftWindowsServer2008Monitoring! listed in front of the rule IDs. This is the Alias for the management pack in which the rules reside. if the report and the rules do not reside in the same pack, as when we reference existing rules in a sealed MP, you have to add this alias. You can get the alias in the References section of your MP. I’ll show you where to get this in part 2.

On a less important note, notice I use different RGB values for each rule, so the line color is unique for each. You can find an RGB chart for easy reference HERE.

PerfXML5

PerfXML6

PerfXML7

Here are the time zone, start date and end date parameters.In this case, we’ve not done anything with business hours only settings. Output will reflect all 24 hours in the day for the selected reporting period

PerfXML8

Control to choose if chart displays in 3D
PerfXML9

Recap and Download Information That’s a quick look at the XML parameter block that makes up the Smart Parameter Header. You can download the xml for our sample report at the URL below. I’ll post part 2 very soon, in which you will create your own management pack containing a linked performance report for Operations Manager 2007 or System Center Essentials. Parameter block for Linked Performance Report in OpsMgr 2007

0 thoughts on “How to create a Linked Performance Report in the Authoring Console – Part 1: The XML Parameter Block

Leave a Reply