**NOTE - To view the below screenshots more clearly, click on "Article Options" at the top of this article and select "Printer Friendly Page."**
by: Krishna Mahadevan Ramakrishnan and Prapulla B, SHR R&D Engineers
Vendors acknowledge that in any enterprise reporting tool, irrespective of how good the out of the box reports, it is impossible to consider every possible scenario found in the customer’s environment. A lot of effort in the development activities of reporting solutions goes into the ease of use, and ease of customization capabilities of the product. The lack of an easy customization capability leads to costs associated with ramp up on learning, training and maintenance of the customized reports.
To that end, HP Service Health Reporter (HP SHR), attempts to make the report customization easy for its users. By using a popular off-the-shelf-software as its reporting framework, HP SHR hopes to make the customization easier, without losing any of the powerful data aggregation capabilities.
SHR uses Business Objects as the analytical platform for its reporting capabilities. The steps below assume that the user is familiar with the use of Business Objects (BO) tools.
There are different kinds of customization that one could do with SHR reports:
(1) Customize out-of-the-box (OOB) reports for cosmetic changes and/or adding new objects, from OOB universe, to the reports.
(2) Create new reports using universe objects created OOB by SHR
(3) Customize data in OOB reports by superimposing data that is more meaningful to one’s environment
This article talks about the third kind of customization listed above i.e. how does one customize the data in OOB report by over laying external data that is more relevant to one’s environment?
Let’s consider one of the OOB reports - “SM Heat Chart” – in SHR. The report (as shown in Fig (i)) displays “Average CPU Utilization” of various systems, which render selected business services, across various days of a month. The values are color coded based on threshold breaches, taken as input while rendering the report.
As an IT administrator I know that there are certain days of a month where I expect the CPU utilization in certain systems to be on the higher side. I do not want these values to be given the same weightage as others while calculating threshold breaches. At the same time I do not want to increase the threshold values, while viewing the report, as I will be losing out on actual threshold breaches.
One way of resolving the issue is to associate weightage to each system for each day of the month that should be used to calculate and display data in the report. i.e., the actual CPU utilization values are multiplied with the externally input weightages before calculating and displaying threshold breaches. In the following sections we will see how we can customize the above report to use externally input weightages.
In the above report, let’s say I know that the systems - appdev.ind.hp.com and bsmr-vm22.ind.hp.com, hosts applications that are CPU intensive during the first three days of the month and hence would consider only 50% of the actual value. The same could be true for other systems on other days of the month. So the first step would be to come up with the list of systems and the weightages to be considered for various days of the month. It could look like the table in Fig (ii).
Now the data in the above table has to be imported in to SHR’s database, added as part of SHR’s SM universe and the weightages have to be used while rendering the report. This can be accomplished by following 3 steps:
Step 1: Upload weightage data in to SHR database
(a) Create a table (let’s call it as weightage) in SHR database containing 3 columns – Node, Day, Weightage as shown below:
(b) Insert the data shown in Fig (ii) into ‘weightage’ table. Below is the data, in the table, containing 10 host’s weightages for the first day of the month. Similarly, data for all days should be inserted in to the table.
Step 2: Add the table to SM universe
Include the new table - ‘weightage’ - in to SM universe by doing the following steps:
Open the SM Universe in the designer
Select the ‘weightage’ table from the list , click ‘Insert’ as shown below:
4. Create a join between ‘Weightage’ and ‘Date time’ table as shown below:
5. Create a context – ‘Weightage’ including this join as shown below:
6. Create a new folder – ‘Weightage’ and create 2 Dimension objects for ‘Node and Day’ and
one Measure object for ‘Weightage:
Step 3: Modify “SM Heat Chart” report
(1) Edit the OOB “SM Heat Chart” report and create a new data provider containing the objects from ‘Weightage’ folder:
(2) Create a variable in the report for average CPU utilization that includes weightage as shown below:
(3) Include this variable in the existing variable of CPU Utilization which is used for offline aggregation i.e. the weightage calculation is included only @ daily level
(4) Now the existing report shows the average CPU utilization @ Daily level that includes weightage calculations in it. Find below the comparison between OOB and customized “SM Heat Chart” report
The OOB “SM Heat Chart” Report:
The customized “SM Heat Chart” report:
While the example in this article talks about applying weightages for every day of a month, obviously, it could be extended to define and include weightages for every hour of a day or every month of an year.
Product Marketing Manager for HP Application Performance Management suite of software products. Before this role, I worked in the HP StorageWorks Division working as both a Product Marketing Manager overseeing enterprise hardware and software, as well as working as Business Development Manager for the Enterprise Services channel.