Detailed Reports On B.I. Aggregates In Check_MK

In this tutorial, we will go through the steps to create a drill-down report of a Business Intelligence Aggregation using Check_MK. Please note that you should have working B.I. Aggregations before reporting on them. This feature is available in Check_MK Enterprise.

For the demo, I have already created an Aggregation for a fictitious web application.
The name of this Aggregation Group is “WebApp”, which consists of two HTTP servers and two MySQL servers.

Here is an example of the report that we end up with.
We start with the total overview of the Group, and then drill down by service type starting with a total overview of all HTTP servers.

Finally, we display a timeline of service availability for each individual host in the Aggregate.

Creating the Report

When creating the new report, we want to limit the scope to a single BI Aggregation Group.
This will be important later when we create report elements. 

On the next page under “Context / Search filters”, you will see a field to specify the Aggregation Group we wish to report on. As mentioned earlier, ours will be “WebApp”.

Total Aggregation Availability

Now we can start adding elements to our report.
First, we want to show the availability table for the entire Aggregation Group.
This is very easy to do, as we already limited the scope of the entire report to a single Agg. Group.
1) Select “Add Content”, then select Availability Table from the the drop down.
2) For the next step we want to select BI Aggregations.
3) On step 3 there is no need to select a specific object

After that you can simply hit save to add the element with default formatting options.

Total Availability of Webservers

Now, lets add an availability table for a specific service.

1) Select “Add Content”, then select Availability Table from the the drop down.
2) Select “All Services” as the Datasource.
3) For step 3 we only want to see a specific service on the hosts in the group. Select “Show information of a single Service”

Remember that we limited the scope of the report to only include one Aggregation group.
When we selected “All Services” as a Datasource above, we only returned a list of services on hosts in the Agg. Group.

On the final step, under “Context / Search Filters” we want to filter out the service we are looking for.

Timeline of Availability on Webservers.

Finally, we want to display a timeline of availability for each host.
Follow the same instructions as for creating the “Total Availability of Webservers” element, however, with one caveat.

At the bottom of “Availability Options”, we want to switch the “Elements to Show” check boxes from “Table with availability figures” to “Detailed timeline of events for each object”.

You can easily clone these report elements and modify them for each service in your Aggregation that you wish to report on.