54
BCO how-to guides How to create custom reports in BMC Capacity Optimization April 2012

How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

  • Upload
    others

  • View
    22

  • Download
    1

Embed Size (px)

Citation preview

Page 1: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

BCO how-to guides

How to create custom reports

in BMC Capacity Optimization

April 2012

Page 2: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 1 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Table of Contents

Legal Notice ________________________________________________________________________________________ 6

Document Information ________________________________________________________________________________ 6

Document Scope ____________________________________________________________________________________ 6

Acknowledgements __________________________________________________________________________________ 6

Introduction ________________________________________________________________________________________ 8

Example 1: List top 20 systems by Memory utilization _____________________________________________________ 9

The problem ........................................................................................................................................................................ 9

The solution ......................................................................................................................................................................... 9

Step 1 – define the Data Source ......................................................................................................................... 10

Step 2 – define the Data Sets ............................................................................................................................. 11

Step 3 – define the layout ................................................................................................................................... 13

Step 4 – install the report template ...................................................................................................................... 14

Step 5 – executing the report .............................................................................................................................. 16

Example 2: Count systems by number of CPU ___________________________________________________________ 17

The problem ...................................................................................................................................................................... 17

The solution ....................................................................................................................................................................... 17

Step 1 – define the Data Source ......................................................................................................................... 17

Step 2 – define the Data Sets ............................................................................................................................. 17

Step 3 – defining the layout ................................................................................................................................. 19

Step 4 – install the report template ...................................................................................................................... 24

Step 5 – executing the report .............................................................................................................................. 25

Example 3: Report systems that are expected to saturate _________________________________________________ 26

The problem ...................................................................................................................................................................... 26

The solution ....................................................................................................................................................................... 26

Step 1 – define the Data Source ......................................................................................................................... 26

Step 2 – define the Data Sets ............................................................................................................................. 26

Step 3 – defining the layout ................................................................................................................................. 31

Step 4 – install the report template ...................................................................................................................... 36

Step 5 – executing the report .............................................................................................................................. 37

Example 4: Report on under-/over-utilization systems ____________________________________________________ 39

The problem ...................................................................................................................................................................... 39

The solution ....................................................................................................................................................................... 39

Step 1 – defining custom statistics ...................................................................................................................... 39

Step 2 – defining AR views ................................................................................................................................. 41

Step 3 – define the Data Source ......................................................................................................................... 45

Step 4 – define the Data Sets ............................................................................................................................. 45

Step 5 – defining the layout ................................................................................................................................. 46

Page 3: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 2 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Step 7 – install the report template ...................................................................................................................... 48

Step 5 – executing the report .............................................................................................................................. 49

Appendix A: PV_SYS_DATA_ROLL ____________________________________________________________________ 50

Acronyms _________________________________________________________________________________________ 51

References ________________________________________________________________________________________ 52

Page 4: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 3 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Table of Figures

Figure 1 – Basic and Advanced Reports .................................................................................................................................. 8

Figure 1 – Setting the value of the Data Source URL and credentials ................................................................................... 10

Figure 2 – Setting the value of the jbdcurl parameter ............................................................................................................. 10

Figure 3 – Setting the value of the jbdcurl parameter ............................................................................................................. 11

Figure 4 – Defining the Query in the Data Set ........................................................................................................................ 12

Figure 5 – Data Set parameters used to test the SQL query.................................................................................................. 12

Figure 6 – Data Set parameters referring to report template parameters ............................................................................... 13

Figure 7 – Report layout from the BCO Integration Studio ..................................................................................................... 13

Figure 8 – Report layout from the BCO Integration Studio ..................................................................................................... 14

Figure 9 – Installing the report template: uploading report template (“rptdesign” file) ............................................................ 14

Figure 10 – Installing the report template: specifying data parameters .................................................................................. 15

Figure 11 – Installing the report template: specifying report (run-time) parameters ............................................................... 15

Figure 12 – Report parameter(s) as specified at run-time ...................................................................................................... 16

Figure 13 – Multiple instances of the report with its parameter values as specified at run-time ............................................. 16

Figure 14 – PV_SYS_CONF_LAST and PV_SYS_CONF_VARIATION Public Views (as seen from Oracle Developer) ...... 17

Figure 15 – Defining the Query in the Data Set ...................................................................................................................... 18

Figure 16 – Defining report template parameters ................................................................................................................... 18

Figure 17 – Defining the Display Name for Data Set output columns .................................................................................... 19

Figure 18 – Report layout from the BCO Integration Studio ................................................................................................... 19

Figure 19 – Outline of the report layout .................................................................................................................................. 20

Figure 20 – Report layout from the BCO Integration Studio ................................................................................................... 20

Figure 21 – Report layout from the BCO Integration Studio ................................................................................................... 21

Figure 22 – Report layout from the BCO Integration Studio ................................................................................................... 21

Figure 23 – PDF format showing the defined Bookmarks ...................................................................................................... 22

Figure 24 – Select Data tab in the Chart definition ................................................................................................................. 22

Figure 25 – Specify Interactivity properties in the Chart definition .......................................................................................... 23

Page 5: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 4 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 26 – Preview mode from the BCO Integration Studio showing the interactivity of the chart legend ............................ 23

Figure 27 – Installing the report template: specifying report (creation-time) parameters ........................................................ 24

Figure 28 – Installing the report template: specifying report (creation-time) parameters ........................................................ 24

Figure 29 – Multiple instances of the report with values specified at run-time ........................................................................ 25

Figure 30 – Data Sets defined for the report template ........................................................................................................... 26

Figure 31 – SQL query used in the first Data Sets of the report template .............................................................................. 27

Figure 32 – Data Set parameter linked to the corresponding report parameter ..................................................................... 27

Figure 33– SQL query used in the first Data Sets of the report template ............................................................................... 28

Figure 34 – SQL query used in the second Data Sets of the report template (as seen in the Oracle Developer client) ......... 29

Figure 35 – Data Set parameters as linked to report template ............................................................................................... 30

Figure 36 – time_interval parameter defined as hidden ......................................................................................................... 30

Figure 37 – Preview Results for the second Data Set ............................................................................................................ 31

Figure 38 –Report layout showing the report parameters and the Group Table structure ...................................................... 31

Figure 39 – Highlights defined on DAYS_LEFT_H ................................................................................................................. 32

Figure 40 – Formatting values (e.g. PCTILE75_H) as percentile values ................................................................................ 32

Figure 41 – Mapping DAYS_LEFT_H in case of “null” value.................................................................................................. 32

Figure 42 – Mapping rule for DAYS_LEFT_H from “null” value to “saturated” ....................................................................... 33

Figure 43 – Mapping rules for SLOPE_H to readable trend values ........................................................................................ 33

Figure 44 – Highlights defined on DAYS_LEFT_H (the select rule is for “null” values) .......................................................... 34

Figure 45 – Highlights defined on DAYS_LEFT_H (see comparison to ) ............................................................................... 34

Figure 46 – Dynamic Text in the Table Footer ....................................................................................................................... 34

Figure 47 – definition of the Dynamic Text in the Table Footer .............................................................................................. 35

Figure 48 – visibility property for the dynamic label in the Table Footer ................................................................................. 35

Figure 49 – report page for sub-domain with no systems predicted to saturate ..................................................................... 35

Figure 50 – report page for sub-domain with systems predicted to saturate .......................................................................... 36

Figure 51 – report page for sub-domain with systems already saturated ............................................................................... 36

Figure 52 – Installing report template: creation-time parameters ........................................................................................... 37

Page 6: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 5 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 53 – Installing report template: run-time parameters ................................................................................................... 37

Figure 54 – Generated report with specified run-time parameters ......................................................................................... 38

Figure 55 – MONTHLYCPU95PCT custom statistic created by selecting “Add stat” in the “Rule-based statistics” section ... 40

Figure 56 – Definition of the MONTHLYCPU95PCT custom statistic ..................................................................................... 40

Figure 57 – Where to activate the data recovery for the MONTHLYCPU95PCT custom statistic .......................................... 41

Figure 58 – Analysis used to define AR Views: Entity Filter and the time resolution parameters ........................................... 41

Figure 59 – Analysis used to define AR Views: Time Filter and resource filter ...................................................................... 42

Figure 60 – Analysis used to define AR Views: standard and custom statistics ..................................................................... 42

Figure 61 – AR View definition: associated analysis and materialized task (notice that the option to not limit the number of

rows and series needs to be selected when in Advanced Mode) ....................................................................... 43

Figure 62 - AR View definition: column mapping to required (standard and custom) statistics .............................................. 43

Figure 63 – Enterprise Reporting Materialized task as seen from the System Task list ......................................................... 44

Figure 64 - AR View definition: column mapping to required (standard and custom) statistics .............................................. 44

Figure 65 - AR View as listed in the Analysis/Model view list (with the associated name of the physical view) ..................... 44

Figure 66 – The query provided by the AR view used as a Data Set in the report definition .................................................. 45

Figure 67 – Data Set parameters and their correspondence to report parameters ................................................................ 46

Figure 68 – Report layout as seen from the BCO Integration Studio ..................................................................................... 47

Figure 69 – Expression used in the table footer (for the system with a normal range of CPU utilization) .............................. 47

Figure 70 – Report template with reference data is ignored (as it is provided as specific parameter) .................................... 48

Figure 71 – Report template with reference data is set to “Last month” ................................................................................. 48

Figure 72 – Report template with high_watermark and low_watermark as creation parameters (with their assigned default

values: 85% and 30% respectively) .................................................................................................................... 49

Page 7: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 6 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Legal Notice

The information contained in this document is the confidential information of BMC Software, Inc. and is being

provided to you with the express understanding that without the prior written consent of BMC, you may not

discuss or otherwise disclose this information to any third party or otherwise make use of this information for any

purpose other than for which BMC intended.

Document Information

Table 1. Document Information

Version Created/modified by Affiliation Date Description

1.0 Giuseppe Nardiello BCO Product Team January 2012 First Version

2.0 Giuseppe Nardiello BCO Product Team March 2012 Second Version

2.2 Giuseppe Nardiello BCO Product Team April 2012 Third Version (published)

Document Scope

This document intends to describe how to create custom reports in BMC Capacity Optimization (BCO) by

discussing some sample reports and real-life cases that have been implemented by the author while working

with some customers. Reports are presented in order of increasing complexity in terms of knowledge of the BCO

schema, SQL statements and of usage of the BCO Integration Studio.

Notice that this document is not intended as a replacement to BCO official manuals. Therefore users are strongly

encouraged to read these manuals beforehand and in case to consult them while reading this document. In

addition to BCO documentation, there are also several useful resources on the Internet on how to create BIRT

reports.

BCO reference version

All cases presented here have been implemented in BCO 4.5 and unless otherwise specified do not require

additional Service Packs or patches to be installed.

Notice that all report templates have been created using the BCO Capacity Optimization templates in order to

some of the functionalities discussed in this document.

Acknowledgements

The author would like to acknowledge the support from BCO Product Team during his work with the BCO

customers that provided the base for this document. In particular, he would like to thank Emanuele Marcora for

providing the initial intro to BCO Integration Studio and additional tips afterward and Alessandro Trolli for

providing help on how to code some more complex SQL statements.

Page 8: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 7 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

“Why a four-year-old child could understand this report.

Run out and find me a four-year-old child. I can't make head nor tail out of it.”

Groucho Marx

Page 9: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 8 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Introduction

Reports generated by BMC Capacity Optimization (BCO) can be classified as either Basic Reports or Advanced

Reports (see also the following figure):

Basic Reports can be generated from any set of analysis and model scenarios thanks to the “add to the

report cart” feature; the look & feel of Basic Reports allow a limited level of customization (e.g. the company

logo) and their content is displayed similarly to the corresponding charts from analysis and model scenarios.

Advanced Reports can be created using BCO Development Studio, an Integrated Development Environment

(IDE) based on Eclipse, that allows users to create Report Templates where both the report content and

their look & feel can be customized as required; BCO provides a number of out-of-the-box Report

Templates; custom Report Templates can be uploaded in a BCO environment to be made available to users

to create their Advanced Reports.

Both Basic and Advanced Reports can be generated manually or scheduled to be generated automatically and

possibly send by mail (as by-exception reports as either links or attachments). BCO reports can be generated in

different formats.

Figure 1 – Basic and Advanced Reports

Notice that since Advanced Reports are based on BIRT (Business Intelligence Reporting Tool) technology, they

are also referred as “BIRT Reports” in both the user interface and the manuals. Since BCO Development Studio

integrates BIRT Report Designer the documentation available (see references at the end of this document) on

how to design BIRT reports can be used also to design BCO Advanced Report templates.

Page 10: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 9 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Example 1: List top 20 systems by Memory utilization

This first example illustrates how to use BCO Public Views to get values for performance metrics and to list

systems belonging to a specific BCO domain. This example is also is useful to get acquainted with BCO

Integration Studio concepts, in particular Data Sources, Data Sets and report template parameters.

The problem

The problem can be stated as follows: “Create a report that displays the top 20 systems belonging to a domain

provided as parameter with respect to the average memory utilization (over daily samples) for a period of one

month”.

The solution

The solution to this problem consists in creating a custom report template created from BCO Integration Studio.

This report template can then be uploaded and executed (as on-demand or scheduled report) from the BCO

console.

Notice that in order to be able to leverage some of the functionalities described below (such as binding Data

Source parameters that are already defined), the standard BCO Capacity Optimization template (see the

following figure) needs to be used. This is assumed to be the case for all the examples described in this

document.

Figure 2 – Selection BCO Capacity Optimization Template when creating a new report template

Page 11: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 10 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Step 1 – define the Data Source

In the following we assume basic knowledge of BCO Integration Studio concept and interface. However, for this

first example we remind the reader that a Data Source has to be defined by setting the specific JDBC URL and

credentials to BCO database (see the following figure) to be used to preview the Data Sets defined in the report

template.

Figure 3 – Setting the value of the Data Source URL and credentials

Also the specific “jdbcurl” report parameter needs to be set to the BCO database (possibly a different database,

but usually the same) to be used to run the report template from the BCO Integration Studio (see the following

figure).

Figure 4 – Setting the value of the jbdcurl parameter

Page 12: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 11 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Notice that the value of the “jdbcurl” parameter is automatically replaced at execution time by the values set for

the connection to BCO database (General tab in the ADMINISTRATION>SYSTEM>Configuration page in the

BCO Console) once the report template is uploaded in the BCO environment.

Step 2 – define the Data Sets

The query that provides the data to be displayed in the report can be implemented in different ways. In this initial

example the SQL query will leverage the following BCO Public Views:

PV_SYSTEM: describes all BCO managed systems (and business drivers);

PV_SYS_METRIC: describes all BCO metrics for managed systems;

PV_APPL_SYS: describes all containment relationships (one level) between BCO managed systems

and domains;

PV_APPLICATION: describes all defined BCO domains;

PV_SYS_DATA_D: contains samples at daily resolution for all BCO managed entities and systems.

Even for defining simple SQL queries it is suggested to first use a SQL Client (as the Oracle Developer shown in

the following figure) that offer a more user-friendly editor run environment.

Figure 5 – Setting the value of the jbdcurl parameter

Page 13: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 12 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Otherwise, this SQL query can be directly coded into a Data Source with its associated parameters (see the

following figure).

Figure 6 – Defining the Query in the Data Set

In particular, for in this example there are three parameters: one “domain” referring to the domain of interest (to

be provided at either installation time or more likely at execution time – see the installation step below) and two

“now_1” and “now_2” both referring to the starting date of the month period. Notice that two parameters are

required as the same parameter cannot occur in two different places in the Data Set.

When testing Data Sets, parameters values can be specified directly in to the Parameter tab of the Data Set

definition.

Figure 7 – Data Set parameters used to test the SQL query

After the testing phase, Data Sets parameters can be set to refer (see the following figure) to report parameters

tab (notice that parameters in the Data Sets and in the report template can have different labels – for simplicity

Page 14: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 13 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

sake it is however recommended to not use different labels for the same attribute). In any case, default values

can also be set for the report template parameters.

Figure 8 – Data Set parameters referring to report template parameters

Step 3 – define the layout

The detail description of how to define the layout is outside the scope of this document (please refer to manuals

and other documents mentioned at the end of this document), that is more focused on explaining how to define

the business logic of custom reports. However, in the followings we will provide some hits and illustrate some of

the (basic and advanced) features provided by Integration Studio.

In this specific case, a simple table to bind the Data Set outputs (see the following figure) could be adequate.

Figure 9 – Report layout from the BCO Integration Studio

The only detail that it is worth describing at this point is the ability (see the following figure) to specify the order of

the entries in the table (in this case descending with respect to the average memory utilization).

Page 15: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 14 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 10 – Report layout from the BCO Integration Studio

Step 4 – install the report template

The final step consists in installing the report template from the BCO console (section “ADMINISTRATION>

Report templates” by selecting the action “Add report template”: see the following figure).

Figure 11 – Installing the report template: uploading report template (“rptdesign” file)

Page 16: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 15 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Once the “rptdesign” file is uploaded, the report parameters needs to be specified: the report reference date in

this case being automatically specified (see the following figure),

Figure 12 – Installing the report template: specifying data parameters

while the domain being specified as either a creation parameter, that is set when creating a new report from this

template, or as an execution parameter, that is to be specified a run-time by the end user (see the following

figure describing this option).

Figure 13 – Installing the report template: specifying report (run-time) parameters

Page 17: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 16 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Step 5 – executing the report

Therefore, when executing a new report instance from this new report template this parameter will be visualized

to the user (see the following figure)

Figure 14 – Report parameter(s) as specified at run-time

and, of course, will also displayed for the different generated instances of the report (see the following figure).

Figure 15 – Multiple instances of the report with its parameter values as specified at run-time

Page 18: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 17 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Example 2: Count systems by number of CPU

This second example illustrates how to use BCO Public Views to get the full list of server that belong to

forecasted values for performance metrics. This example is also is useful to get acquainted with some more

advanced presentation features of BCO Integration Studio such as the ability to re-label column names, define

Groups and Aggregations, insert bookmarks and insert graphical (and interactive) charts.

The problem

The problem can be stated as follows: “Create a report that displays the number of systems by number of CPUs

in the last number of months (this number being provided as parameter) and includes a summary chart”.

The solution

Also in this case, the solution to this problem consists in creating a custom report template created from BCO

Integration Studio. This report template can then be uploaded and executed (as on-demand or scheduled report)

from the BCO console.

Step 1 – define the Data Source

This step is the same described for the previous example.

Step 2 – define the Data Sets

Notice that configuration metrics are stored in a different way than performance metrics as their samples are not

supposed change frequently. More precisely, there are two Public Views for configuration metrics (see the

following figure): one (PV_SYS_CONF_LAST) that stores the last collected value for the configuration metric

and another (PV_SYS_CONF_VARIATION) that stores all the changes as assigned to as specific time ranges.

Since this specific example needs to display changes over time, this second Public View is the one to be used.

Figure 16 – PV_SYS_CONF_LAST and PV_SYS_CONF_VARIATION Public Views (as seen from Oracle Developer)

Therefore the following BCO Public Views will be used:

PV_SYS_CONF_LAST: describes all changes for all BCO configuration metrics of all managed systems;

Page 19: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 18 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

PV_SYS_METRIC: (already used in the previous example) describes all BCO metrics for managed

systems.

Figure 17 – Defining the Query in the Data Set

Notice that this query uses nested tables to generate the list of month names starting from the current month

back to as many months specified by the report parameter “nmonths_back” (see the following figure).

Figure 18 – Defining report template parameters

Notice that an additional parameter could be added to allow the report to be run against a specific domain. Of

course, that would also require changing the Data Set accordingly.

Page 20: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 19 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Notice that this Data Set also redefines the displayed name of the output columns (see the following figure) to

make easier the layout definition.

Figure 19 – Defining the Display Name for Data Set output columns

Step 3 – defining the layout

The report layout for this example is structured as follows (see the following figure): a summary chart and one or

more tables, each one displaying the values for each of the specified months in a separate page.

Figure 20 – Report layout from the BCO Integration Studio

Page 21: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 20 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

The layout of this report is clarified by the following figure that displays its outline (on the left hand side). This

figure also shows the definition of a (Table) Group (“NewTableGroup1”) on the Table structure and its four rows:

the table header (#1), the group header (#2), table detail (#3) and footer table (#4). The Property Editor tab

shows that the Table Group is defined (“Key expression”) on the TS column (representing the month name).

Figure 21 – Outline of the report layout

The definition of the Table Group is also shown in the following figure.

Figure 22 – Report layout from the BCO Integration Studio

Page 22: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 21 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

In order to display the total number of CPUs per each month, an Aggregation (see the following figure) has been

defined as the SUM of all the CPUNUM values in that Table Group (as shown in the Bindings tab of the Property

Editor). The aggregated values are displayed in the table (group) footer.

Figure 23 – Report layout from the BCO Integration Studio

Finally, Bookmarks are added to the Table Group header that is displaying the different month names.

Figure 24 – Report layout from the BCO Integration Studio

Bookmarks allow an easy way to browse (long) reports (see the following figure showing the PDF format of this

report) and can also be used to make reports more interactive, as explained in the following.

Page 23: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 22 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 25 – PDF format showing the defined Bookmarks

Finally, the report layout includes a graph that has been created by selecting the Chart Type (“line”), Data (see

the following figure where the Y-series grouping option is also set to the TS column to allow multiple series to be

displayed (one for each month) and the format of the chart.

Figure 26 – Select Data tab in the Chart definition

Page 24: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 23 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

In particular the format of the chart allows to specify that the interactivity of the Chart Legend (see the following

figure), that is to specify that on mouse click the specific page and table for the corresponding month needs to

be displayed.

Figure 27 – Specify Interactivity properties in the Chart definition

The behavior is displayed in the following figure (in preview mode from BCO Integration Studio): the mouse over

one of the month names shows the tip describing the action performed by the mouse click on the legend.

Figure 28 – Preview mode from the BCO Integration Studio showing the interactivity of the chart legend

Page 25: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 24 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Step 4 – install the report template

The installation step for this report template is similar to what described for the previous example. For example

the following figure shows this report template being installed by specifying the report parameter to be set at

creation time.

Figure 29 – Installing the report template: specifying report (creation-time) parameters

The following figure shows one of the steps from the report creation wizard

Figure 30 – Installing the report template: specifying report (creation-time) parameters

Page 26: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 25 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Step 5 – executing the report

The following figure shows that report instances do not display the value of the report parameter as it is does not need to be provided at execution time.

Figure 31 – Multiple instances of the report with values specified at run-time

Page 27: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 26 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Example 3: Report systems that are expected to saturate

This third example illustrates how to use BCO Public Views and a specific BCO table that provides rolling robust

linear forecast values for different useful statistics. This example is also is useful to show how multiple Data Set

can interplay and to explore additional features that are available to make the output of summary tables more

readable.

The problem

The problem can be stated as follows: “Create a report that displays all systems belonging to all sub-domains of

a given domain (provided as parameter) that are predicted to saturate with respect to the 75th percentile of their

CPU utilization in the next following 200 days”.

The solution

Notice that for the previous problem, a possible solution is represented by a basic report created from a standard

Time Forecast Model. However, a solution based on a custom report template created from BCO Integration

Studio can provide more flexibility (without requiring custom statistics to be added to BCO Data Warehouse).

Step 1 – define the Data Source

This step is the same described for the previous examples.

Step 2 – define the Data Sets

For this report template, two different Data Sets are required (see the following figure): i) one returning all the

sub-domains of the domain provided as parameter and ii) another returning all the systems in a specific sub-

domain whose CPU utilization is predicted to saturate according to the defined criteria. As expected, the sub-

domains (their identifiers) returned by the first Data Set are used to define the where condition of the second

Data Set.

Figure 32 – Data Sets defined for the report template

The first Data Set is quite simple (as shown in the following figure) as it uses the following two Public Views:

Page 28: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 27 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

PV_APPLICATION: (already used in the first example) describes all defined BCO domains;

PV_ENT_PARENTSHIP_CURRENT: describes the current relationships between BCO domains.

Figure 33 – SQL query used in the first Data Sets of the report template

The only parameter used in this Data Set is defined as linked to a corresponding report paramter (see the

following figure). All report paraterms are described in the following.

Figure 34 – Data Set parameter linked to the corresponding report parameter

The second Data Set is more complex as it involves using in addition to the following Public Views:

PV_SYSTEM: (already used in the first example) describes all BCO managed systems;

PV_SYS_METRIC: (already used in both the first and the second examples) describes all BCO metrics

for managed systems;

PV_APPL_SYS: (already used in the first example) describes all containment relationships (one level)

between BCO managed systems and domains;

Page 29: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 28 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

PV_APPLICATION: (already used in the first example and in the previous Data Set): describes all

defined BCO domains;

also the following BCO table SYS_DATA_ROLL, whose structure is described by the following figure. Notice that

in BCO 4.5 SP2 and subsequent versions a corresponding Public View (PV_SYS_DATA_ROLL) is also made

available. In general, it is highly recommended to use Public Views as they provide a consistent interface across

BCO versions, it is suggested to create to upgrade BCO or to manually create this Public View using the script

provided in the Appendix A (notice that some columns can have a different name from what described here).

Figure 35– SQL query used in the first Data Sets of the report template

For this example, the key columns of this table/view are:

PCTILE75 (and similarly the other PCTILENN columns) represents the values for the 75th percentile of

the metric specified by SYSOBJID (to be joined to PV_SYS_METRIC.SYSMETRICID); notice that only

some specific metrics are provided in the SYS_DATA_ROLL table (and corresponding

PV_SYS_DATA_ROLL Public View);

TS is the timestamp representing the beginning of the rolling period;

ROLLPERIOD represents the rolling period (in days) used for calculating all statistics; notice that in the

current version of BCO only a 30 days rolling period is available;

SLOPE represents the slope of the linear regression line; notice that if Oracle Java Options are activated

on the BCO Database Server then this linear regression is robust (that is it automatically filters outliers);

DURATION represents the time interval (in seconds) effectively used for the linear regression; this can

be used to evaluate the reliability of the prediction based on the number of samples;

UPDATETS represents the timestamp associated to last time values where refreshed; this can be used

to evaluate the reliability of the prediction, based on the availability of new data into BCO.

Page 30: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 29 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Moreover in the query, the function get_days_to_saturation/3 that provides the number of days left until reaching

the saturation, given the actual value (e.g. the 75th percentile), the slope of the regression line and the threshold.

Notice that when the number of days to saturation is returned as “null”, the corresponding system is already

saturated. In this example, the SQL query also returns systems that are already saturated as the problem

specified before does not clarify whether they need to be filtered out.

The resulting query is illustrated by the following figure taken from Oracle SQL Developer. As suggested in the

first example, an SQL graphical client can help debugging complex queries like this one, for example by running

it against a system that has been verified to saturate.

Figure 36 – SQL query used in the second Data Sets of the report template (as seen in the Oracle Developer client)

All Data Set parameters are linked to report parameters (as shown in the following figure) except for the

domain_id parameter which is only used in the Data Set (to debug the SQL query) but get replaced by values

returned by the first Data Set (this is explained later).

Page 31: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 30 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 37 – Data Set parameters as linked to report template

The report parameters are:

threshold_H: represents the threshold (e.g. 85%)used for calculating the number of days to saturation

for the required statistic, that 75th percentile of the CPU utilization;

time_interval: represents the rolling time interval used for the regression; this can be defined as a hidden

parameter automatically valued to 30 days, while still allowing the report to have this parameter valued

once BCO will also provide different rolling time periods;

time_to_saturation: the time threshold (as number of days) to reach saturation.

Figure 38 – time_interval parameter defined as hidden

Notice that an additional report parameter “back_in_time” has been introduced only for making easier to verify

the report template in test environment that do not have fresh data continuously imported into BCO. Basically, it

provides a simple way of the setting the clock back by a given a number of days. Also this report parameter can

be hidden.

Page 32: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 31 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

The following figure shows an example of the preview for this second Data Set.

Figure 39 – Preview Results for the second Data Set

Step 3 – defining the layout

The report layout for this example is structured as described by the following figure: a Group Table on

DOMAIN_ID taken from the first DataSet that provides the value of the sub-domain used by the internal Table to

display the values of the second Data Set.

Figure 40 – Report layout showing the report parameters and the Group Table structure

Page 33: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 32 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Of course, the table can be sorted to present first the systems that are predicted to saturate sooner (see the

following figure).

Figure 41 – Highlights defined on DAYS_LEFT_H

For this sample report, it is also convenient to leverage a number of presentation features provided by BIRT

Reports, such as the ability to format, remap and highlight values.

For example, it is convenient to format all numbers representing percentages (see the following figure).

Figure 42 – Formatting values (e.g. PCTILE75_H) as percentile values

Moreover, since the number of days to saturation can also be valued as “null” in case a system is already

saturated, a mapping rule to displays the string “saturated” is defined (as illustrated in the following two figures).

Figure 43 – Mapping DAYS_LEFT_H in case of “null” value

Page 34: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 33 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 44 – Mapping rule for DAYS_LEFT_H from “null” value to “saturated”

Moreover, since the value of slope are not immediately readable some additional mapping rules can be defined,

for example (see the following figure) to remap the original to string such as “slow”, “medium” and “fast” (trend).

Figure 45 – Mapping rules for SLOPE_H to readable trend values

Notice that in case of multiple conditions, these conditions are evaluated from top to bottom as listed. In general,

it is recommended to list all conditions explicitly.

Also it might be useful to highlight differently systems according to different conditions, for example systems that

have a fast growing trend or (see the following figures) to identify systems already saturated from those that are

predicted to saturate in the future.

Page 35: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 34 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 46 – Highlights defined on DAYS_LEFT_H (the select rule is for “null” values)

Figure 47 – Highlights defined on DAYS_LEFT_H (notice comparison to report parameter value)

Notice that in the previous figure the condition could be simplified as simply being about not “null” values but it is

provided here as an example of how to compare to parameter values.

Finally, a dynamic text can be inserted Table Footer to describe how many systems are predicted to saturate for

a given sub-domain or to explicitly clarify that a no systems matching this condition (of course in this case the

corresponding table would be empty), as illustrate by the following figures (notice that different colors are

associated to the two different strings displayed).

Figure 48 – Dynamic Text in the Table Footer

Page 36: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 35 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 49 – definition of the Dynamic Text in the Table Footer

As shown in the previous figure, the dynamic text is based on a JavaScript expression (notice that table rows are

indexed starting from 0 so the expression need to take that into account). The associated visibility properties

(see the following figure) specify that the dynamic text needs to be hidden when the table is empty (again notice

that table rows start from 0); in that case the other Table Footer will be displayed instead – see below).

Figure 50 – visibility property for the dynamic label in the Table Footer

The following figures show the preview that can be obtained from the BCO Integration Studio for different values

of the report parameters.

Figure 51 – report page for sub-domain with no systems predicted to saturate

Page 37: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 36 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 52 – report page for sub-domain with systems predicted to saturate

Figure 53 – report page for sub-domain with systems already saturated

Step 4 – install the report template

The installation step for this report template is similar to what described for the previous examples, with the

option of having some report parameters defined at creation time and others defined at run time.

The following two figures illustrate one of the potential options on how to specify the report parameters at

installation time.

Page 38: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 37 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 54 – Installing report template: creation-time parameters

Figure 55 – Installing report template: run-time parameters

Step 5 – executing the report

The following figure shows an instance of a generated report with specified run-time parameters indicated for

each run.

Page 39: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 38 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 56 – Generated report with specified run-time parameters

Page 40: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 39 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Example 4: Report on under-/over-utilization systems

This fourth (and final) example illustrates how to extend the BCO data schema by defining Data Marts from

simple Performance Time Analysis (also known as PTA) defined on standard metrics and custom statistics. In

this example, several features of BCO Integration Studio that have already described in the previous examples

will be used.

The problem

The problem can be stated as follows: “Create a monthly report that lists both the under- and the over-utilized

AIX systems in terms of CPU utilization (by considering average, peak and 95th percentile values), with respect

to two thresholds (e.g. low and high watermarks)”.

The solution

Also in this case, the solution to this problem consists in creating a custom report template created from BCO

Integration Studio. This report template can then be uploaded and executed (as on-demand or scheduled report)

from the BCO console.

With respect to the examples illustrated in the previous chapter, a couple of additional initial steps are required

to define the custom statistic (95th percentile of CPU utilization) mentioned in the problem statement and to

create a Data Mart to then leveraged by the report template Data Sets.

Step 1 – defining custom statistics

The first step in creating a custom report consists of identifying the metrics/statistics required for the custom

reports. In this specific case, in addition to standard statistics, such as average and max, also the 95th percentile

statistic is requested. Therefore, a new custom statistic needs to be defined to provide the required values for

the 95th percentile at the monthly level for the intended time interval (e.g. since the last 2 months to allow the

report to be generated also for the previous and the current month – of course it is assumed that proper aging

policies are set for that summarization level).

Defining custom statistics can be easily accomplished from the BCO Console (page “ADMINISTRATION>Data

Warehouse>Custom stats”) by a BCO Administrator.

The following figure shows the list of custom statistics where a custom statistic MONTHLY_CPU_95PCT has

been already defined. Notice that this specific statistic is a “rule-based statistic”, that is it defined by a (user) rule

not a “producer” (such as a performance analysis or a time forecast model). Please refer to BCO manuals for

more clarifications on this topic.

Page 41: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 40 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 57 – MONTHLYCPU95PCT custom statistic created by selecting “Add stat” in the “Rule-based statistics” section

The key parameters to be specified for this custom statistic are the Time Aggregation (“Hourly” since we need to

produce a monthly value) and the Value (“.95” to represent 95%), as shown in the following figure.

Figure 58 – Definition of the MONTHLYCPU95PCT custom statistic

Page 42: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 41 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

After creating this custom statistic, an “historical recovery” starting from a specific date (e.g. the beginning of the

previous month) needs to be executed to ensure that values for this custom statistic are available also for

previous time periods.

Figure 59 – Where to activate the data recovery for the MONTHLYCPU95PCT custom statistic

Notice that historical recovery can be performed on specific systems or on the whole environment.

Step 2 – defining AR views

The second step involves creating an Advanced Reporting view (AR View) that can be used to extract the

required data to be presented in the reports with a single query. An AR View can be easily done from BCO

Console leveraging any defined Performance Analysis over Time (PTA).

The following figures show how this analysis has been defined.

Figure 60 – Analysis used to define AR Views: Entity Filter and the time resolution parameters

Page 43: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 42 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 61 – Analysis used to define AR Views: Time Filter and resource filter

Notice that all the metrics and statistics (including their granularity) that are defined in the analysis map to

columns in the physical view stored and populated in the BCO database that corresponds to an AR View. Also

both Time Filters and Entity Filters defined in the original analysis are inherited by the corresponding AR View

(as shown in the previous figures, where an “AIX_interval” Time Filters and “ALL_AIX” Entity Filters are used).

In particular, the Analysis should define the standard and custom statistics of interest (see the following figure).

Figure 62 – Analysis used to define AR Views: standard and custom statistics

Page 44: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 43 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

In order to have a quick preview of the output of the Analysis it is suggested to select a simple chart type, such

as “Summary – table” in the chart options.

AR Views can be defined from the BCO Console (page “ADMINISTRATION>Advanced Reporting>AR

Views>Analysis/Model Views”) by a BCO Administrator, as illustrated by the following two figures. This requires

linking the AR View to the PTA created before and mapping the PTA metrics to the AR View column names.

Figure 63 – AR View definition: associated analysis and materialized task (notice that the option to not limit the number of

rows and series needs to be selected when in Advanced Mode)

Figure 64 - AR View definition: column mapping to required (standard and custom) statistics

Notice that AR views are automatically populated (“materialized” in BCO terminology) by the specified task

configured when defining the AR views (see the following figure).

Page 45: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 44 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 65 – Enterprise Reporting Materialized task as seen from the System Task list

Moreover, the materialization can also be executed on-demand (see the following figure). Also notice that if the

analysis is modified (e.g. the Entity Filter or the Time Filter or the resource metrics are changed) then the AR

View needs to be rebuilt (and then re-materialized) to see those changes applied. Notice that AR View needs to

be rebuilt also when other AR View parameters (e.g. the option to extract “all rows”, that is displayed only in the

advanced option) are changed.

Figure 66 - AR View definition: column mapping to required (standard and custom) statistics

The materialized view is named “ER_V_” as a prefix and a numerical identifier as suffix to the original AR View.

Figure 67 - AR View as listed in the Analysis/Model view list (with the associated name of the physical view)

Page 46: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 45 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

The correct definition and content of the “physical" (that is database) view corresponding to the defined AR

Views can be inspected directly from an Oracle client.

Notice that the AR View has been defined as referring to an Entity Filter defined so as to return only AIX systems

(the different options this could be done not being in the scope of this document) as requested by the problem

discussed for this example. Therefore, in case similar reports are required for other operating systems (e.g.

Windows, Solaris, Linux, etc), additional OS-specific AR Views can be created (from Analysis with corresponding

Entity Filters). As an alternative approach, the selection a single AR View could be created to then have the

report Data Sets select the appropriate rows.

Step 3 – define the Data Source

Once AR Views have been created, the next step is to create custom Report Templates from the BCO

Integration Studio client. The third step now consists in defining the Report Template. As usual, this implies

defining the Data Source as illustrated in the previous chapters for the other examples.

At this point it is worth mentioning an additional best practice to be adopted when releasing a report template

from a test to a production development. That is to replace both the JDBC Driver URL and username/password

credentials with anonymous values (e.g. “jdbc:oracle:thin:database_server:database_port:SID” and

“empty/empty” respectively).

Step 4 – define the Data Sets

The following figure illustrates the Data Sets that refer to the defined AR View needs to be defined (see the

following figure).

Figure 68 – The query provided by the AR view used as a Data Set in the report definition

Notice that where condition uses two Data Set parameters “month_year_1” and “month_year_2” (in Data Sets

multiple occurrences required to have different names) are associated to the report parameter (as shown in the

following figure).

Page 47: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 46 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 69 – Data Set parameters and their correspondence to report parameters

Since the reports are supposed to by generated monthly, it can be assumed that there would be a parameter

that users can use to specify the month of interest (in a specific format, such as “YYYY-MM”) when executing the

report manually. The pre-defined parameter “ref_date” can be directly used as it will be configure to provide the

last month with respect to the time of execution. In this case, since the “ref_date” values are in “DD/MM/YYYY”

format (that cannot be changed), the SQL query in the Data Set will need to be changed accordingly. Also a

different configuration will then be required at installation time, that is by having the reference date passed by the

report ignored and a “ref_date” parameter specified the report parameter as creation or run-time parameter.

Moreover, to specify the threshold for systems to be consider under- and over-utilized with respect to monthly

values of the 95th percentile values of the CPU utilization, two additional parameters are defined, that is

“low_watermark” and “high_watermark” respectively (both as numbers ranging from 0 to 100). Default values for

these parameters need to be necessarily set at installation time if these reports need to be automatically

executed. Notice that in this example the SQL query in the Data Set does not use these parameters, as the

decision here has been to have a simple query and to work at presentation level to make visible only specific

values in separate tables (see below).

Step 5 – defining the layout

The layout of this report is illustrated by the following figure. It basically contains three tables (similar to what

created for the report presented in the previous chapter) that display respectively the list of all (AIX) systems

whose (95th percentile) CPU utilization is: i) above the high watermark threshold (that is that are over-utilized); ii)

between the high and the low watermark threshold and iii) below the low watermark threshold (that is that are

under-utilized). Of course, the second table could be simply dropped as not providing useful content for a by-

exception report.

The report layout can involve additional customizations such as: sorting these tables in descending order with

respect to the CPU_UTIL_95 statistic, showing the overall number of rows in each table (with different messages

and colors when the table is or is not empty), show “out-of-range” in place of higher than 100% values (e.g. in

case the original data source is not fully reliable), including a summary (e.g. an histogram), etc, similarly to what

done for the report presented in the previous chapter, to make this report to be more easily readable.

Page 48: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 47 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 70 – Report layout as seen from the BCO Integration Studio

Notice that in the table footers expressions referring to Aggregations (see the following figure) are used to

provide the total number of system listed in each table.

Figure 71 – Expression used in the table footer (for the system with a normal range of CPU utilization)

Page 49: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 48 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Step 7 – install the report template

As a final step before being able to use them, this report template can be installed and configured in terms of

report parameters specified at configuration or at run-time time, as illustrated by the following figures.

Figure 72 – Report template with reference data is ignored (as it is provided as specific parameter)

Figure 73 – Report template with reference data is set to “Last month”

Page 50: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 49 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Figure 74 – Report template with high_watermark and low_watermark as creation parameters (with their assigned default

values: 85% and 30% respectively)

Step 5 – executing the report

At this point, custom reports can be generated on-demand or scheduled by selecting the appropriate custom

Report Templates (from the WORKSPACE section of the BCO Console). As for all reports generated with BCO,

they can also be published in the Reports section of the BCO Console or published to BCO dashboard views or

automatically sent by mail (as either an attachment or a link).

Page 51: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 50 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Appendix A: PV_SYS_DATA_ROLL

As mentioned in the previous chapters, the Public View PV_SYS_DATA_ROLL will be provided for of BCO 4.5

by Service Pack 2 (yet to be release at the time this document is being written). However, this Public View can

be created also in a general BCO 4.5 environment using a SQL script (see the following figure)

Figure 75 – Fragments of the SQL script used to create PV_SYS_DATA_ROLL

Page 52: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 51 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

Acronyms

The following acronyms are used in this document to refer to BMC products and components:

BPA: BMC Performance Assurance (now part of BCO Extended Edition)

BCO: BMC Capacity Optimization

BCO/EE: BMC Capacity Optimization Extended Edition

Page 53: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

PAGE 52 OF 54 CONFIDENTIAL

BMC Capacity Optimization How to create custom reports in BCO

References

BCO User Guide:

https://support.neptuny.com/display/CAPUG

Public Views: https://support.neptuny.com/display/CAPDG/Public+Views

How to create custom stat: https://support.neptuny.com/display/CAPAG/Custom+stats

How to create ER views: https://support.neptuny.com/display/CAPAG/Analysis+and+Model+Views

BCO Administration Guide:

https://support.neptuny.com/display/CAPAG

BCO Development Guide:

https://support.neptuny.com/display/CAPDG

BCO Knowledge Base pages:

https://support.neptuny.com/display/CKB

Page 54: How to create custom reports in BMC Capacity Optimization...PAGE 1 OF 54 CONFIDENTIAL BMC Capacity Optimization How to create custom reports in BCO Table of Contents Legal Notice _____6

Business runs on IT. IT runs on BMC Software.

Business thrives when IT runs smarter, faster, and stronger. That’s why the most demanding IT organizations in the world rely on BMC Software across both distributed and mainframe environments. Recognized as the leader in Business Service Management, BMC offers a comprehensive approach and unified platform that helps IT organizations cut cost, reduce risk and drive business profit. For the four fiscal quarters ended September 30, 2008, BMC revenue was approximately $1.83 billion. Visit www.bmc.com for more information.