How to use Loop Snippets in Reports Whitepaper

Why Reports?

Reports are an easy and fast way to get information from a platform or a whole IT environment.
The content of a report can be very specific and can hold a very precise amount of information required for the specific use case.
Once created, a report can be used multiple times.
In addition, the reports in BVQ can be scheduled, which makes it possible to create the report repeatedly at any given moment.

 Figure 1
BVQ ServerReporting



Reports - Generated reports are listed here


Templates - Generate new reports from existing templates or create new templates


Scheduling - Generate reports based on a schedule


Datasource - Use the BVQ REST interface to use data from the BVQ DB in other ITSM tools. 

Figure 1: BVQ Server with the reporting option

How to create your own report

BVQ offers a simple and fast way to create reports. In the BVQ server, a report can be configured and created using snippets in a modular principle.

Different snippets can be used, which either generate content (tables or performance charts) or contain the style elements to describe the respective tables or charts or even the whole report.

 Figure 2

BVQ Server

Reporting - Templates


  • Click on " + Create new template" to start building up a new report
  • Or if you have received a ready-made report, it can also be inserted via import template.



Figure 2: BVQ Server - Where to start the reports


To start creating a new template simply fill in a name under which you can find the new report and a short description about the content of this new report.

 Figure 3
Start your new reportThings to fill in



Name - Template or Report titel


Description - What is the content of this template/report


TOC Level - Maximum level of headlines shown in the TOC of this template/report




Add snippet - General elements / Favorites / Tables / Charts / Snippet loops / Alerting

Figure 3: How to start a new report

What kind of snippets are available?

The following list shows the different snippets and where to find them. Furthermore, the different possibilities contained in each element are shown. 

The individual elements and sub-elements are used to create a template/report.

 Figure 4
General elementsFavorites (System & All users)Tables


General elements

These elements include the options for the textual layout of a report.

Useful Elements like header, page break and text are available here.

Favorites

When you select one of these elements, a predefined favorite can be used in a report.

This eliminates the need to manually create tables or charts right here in the report.


Info: By using favorites you cannot export a report. Please use the report tables or charts to create such an overview.

Tables

In the snippet section "tables" alert, event or topology tables can be created.

The alert table refers to the selected object and shows the selected state for all rules that monitor this object.

The event table shows the selected events for each selected object.

The topology table contains the attributes selected for each object.

Figure 4: Snippets to create a report (Part A)

 Figure 5

Charts

Snippet loops

Alerting

Charts

The Charts section offers the possibility to display performance or capacity charts.

Capacity diagrams can also be arranged as bar charts or pie charts

Snippet loops

Each snippet loop starts with the snippet loop object.
Further snippets to create the loop structure will be unlocked afterwards.
A more detailed explanation of how to use the loop structure will be given in the next section.

Alerting

A table containing all objects with non-default results of an alert rule.

A stacked area chart displaying the distribution of alert results.

This snippet can also be used inside snippet loops if the object type of the snippet loop is a master grouping object (i.e. SVC Cluster, Brocade Fabric, VM vCenter, ...). In this case the table will be restricted to the objects of the master grouping object.

Outside snippet loops the chart will display results from all objects respectively the results from the selected clusters.  

Figure 5: Snippets to create a report (Part B)

Why Loop Snippets

Loop snippets have a special significance when creating reports. This is a way to subdivide recurring objects or object sets, that will then be displayed in a logical structured order.
In the snippet loop selection are additional elements, which help to structure this specific snippet loop.
Furthermore, these snippet loops are nest-able, i.e. the respective loop structure can be provided with further internal loops.
All snippets will be listed and explained here.

 Figure 6

In this example you see a triple nested snippet loop structure.
First a loop is formed over the SVC clusters.
Second, a loop structure is formed over the storage pools (MDisk groups) contained in the cluster.

Inside this loop another loop is formed per cluster and per pool over the MDisks.

E.g.:

Cluster A
          MDG A
               MD A
               MD B
               MD C
               MD D
          MDG B
               MD A
               MD B
 Cluster B
          MDG A
               MD A
               MD B
               ....

Figure 6: Nested snippet loops


Example: a SAN factory should consist of several switches (for redundancy purposes) and often, several switch ports are connected in a factory and used to connect end devices.
If you simply display all switch ports with their topology information and/or performance data under one another, this can be quite confusing as it becomes hard to understand the displayed data . 
A way better approach would be to create a subdivision in e.g. switch ports per switch. Here the user could get the switch port information per switch, which would be easy to comprehend.
To enable such an overview, the loop function in reporting is exactly the right option.

Where to find snippet loops and how to use them

 Step 1: Start working with the "Snippet loop"

A snippet loop is a structure for creating an information output based on a specific object or set of objects and a specific set of metrics.


To start a loop structure, an object type must be entered in the "OBJECT TYPE" field. This object should be the repeating set about which a set of information is to be created/displayed. FOR EXAMPLE: VM Virtual Machines, Switches or SVC Cluster.


"FILTER" can be used to reduce a set of objects anyway. E.G.: Only certain virtual machines, switches or SVC clusters should be viewed and not all.


"ORDER BY" allows sorting within the set. An ascending or descending sort is possible here.   


Furthermore, a limitation of the displayed objects is possible in the "MAX ENTRIES" field


The "ADD SNIPPET" field contains the same set of options as described in figure 5 (Part A / B) and allows to create the report with all the stylistic means.

 Step 2: Use snippets to create your Report

 

In this example the type SVC Cluster was chosen as "OBJECT TYPE" for a loop structure.
Furthermore, only the SVC clusters with SVC in the name are to be captured by this loop ("FILTER"). Clusters which e.g.: FS9k are not considered here.
A sorting "ORDER BY" takes place on the basis of the cluster name and is to take place ascending.
The amount of displayed objects is also limited to 10 max. "MAX ENTRIES"

Below you can see that all snippets "ADD SNIPPETS" are available again slightly indented. The report can be created as usual with all stylistic means as shown under point figure 5 (Part A / B).


INFO: A loop in loop structure is possible. 

Example: A nested snippet loop structure

  1. Loop over: SVC Cluster
  2. Inside a loop over: SVC MDiskgroup
  3. Inside a loop over: SVC MDisk
 Step 3: Usage of the snippet loop header

Unlike a simple header, the snippet loop header function allows you to select an attribute from the object specified in the snippet loop


"HEADER LEVEL" -  Here the heading level is entered. Depending on the TOC level it will be displayed or hidden.


"ATTRIBUTE" - Attributes of the looping object can be selected here and displayed as part of the heading. In most cases, the name of the object is inserted here.


"PREFIX TEXT" / "POSTFIX TEXT" - With the Pre and Post fix the user gets the option to create a text before or after the selected attribute. 

E.g.: SVC Cluster: <Info/ Object name> 


 Step 4: Usage of the snippet loop text

This snippet allows you to select an attribute of the object within this snippet loop. Each occurrence of the object within the loop structure will then display the pre- or postfix text.

Each time a new cluster is selected in the loop structure, the text "Code level of the mentions cluster:" is output with the following <attribute / software / code level> as seen in this example.

E.g.: Code level of the mentions cluster: 8.4.0.5 (build 152.xxxx)

 Step 5: Aggregated capacity-/topolgy chart

The "Aggregated capacity/topology" snippet allows summing the capacity or topology values of the objects used in the loop. 
The summation depends on the loop structure in which it is used, i.e. if the user builds a multi-nested loop structure and uses this "aggregated capacity/topology chart" snippet in each loop, the quantity will be formed only over this loop.
Specify the values to be displayed in the drop-down menu "METRICS".

Example: Triple nested loop

  1. Cluster
  2. Storage pool (MDisk group)
  3. MDisks

In the loop under 1. and 2. an "aggregated capacity-/topology chart" snippet is inserted. 

If, for example, the real, used and free capacities are to be determined here, the user now receives a sum chart for the cluster and a sum for the respective storage pool.

Summary

Reports provide an efficient way to bring data from BVQ into a clear presentation.
Reports offer the possibility to generate the data as HTML or PDF and display it to the user.
Furthermore, the reports are schedulable and can therefore be generated repeatedly and at specific times.
Tables with objects and a variety of attributes and metrics can be generated repeatedly and do not have to be reassembled each time.

For further questions about BVQ Reports, or any other topic, please contact the BVQ team.