Skip to main content

Install Centreon MBI extension

Centreon MBI is a Centreon extension that requires a valid license key. To purchase one and retrieve the necessary repositories, contact Centreon.

Four major steps to installing Centreon MBI:

  • Check the system prerequisites.
  • Install the Centreon MBI interface in the Centreon application (Centreon MBI Server).
  • Install the reporting server (Centreon MBI Reporting Server).
  • Configure Extract, Transform, Load (ETL) in the Centreon MBI.

Architecture

This chapter describes the Centreon MBI architecture and provides an overview of how the extension is integrated into Centreon monitoring software.

The information is addressed to administrators who will be installing or configuring Centreon MBI.

Dedicated reporting server

This architecture and prerequisites apply to:

  • Test environnements
  • Pre-production environments
  • Production environments.

The diagram below shows the main components of Centreon MBI:

image

The monitoring database can be installed on a server other than the Centreon server.

  • ETL: Process that extracts, transforms and loads data into the reporting database.
  • CBIS: Scheduler that manages job execution and publication.
  • Reporting database: MariaDB database that contains reporting data and some raw data extracted from the monitoring database.

Network flow table

The table below presents the different types of flow, by default, between the dedicated BI server, Centreon server and databases:

ApplicationSourceDestinationPortProtocol
ETL/CBISReporting serverCentreon Database3306TCP
SSHReporting serverCentreon22TCP
CBISCentreonReporting server1234TCP
CBISReporting serverCentreon80HTTP*
WidgetsCentreonReporting server3306TCP

*Only required for Host-Graph-v2 and Hostgroup-Graph-v2 reports that use Centreon API to generate graphs

Packages information

Centreon MBI installation requires two RPM packages:

  • Centreon-bi-server: Installs the Centreon MBI interface integrated into the Centreon front end and must reside on the Centreon Web Server.
  • Centreon-bi-reporting-server: Contains all the components needed to run the reporting server -- report scheduler, ETL, standards reports -- and must reside on a dedicated server for reporting processes.

You should install the MariaDB database at the same time. We highly recommend installing the database on the same server for performance & isolation considerations.

Prerequisites

Centreon central server

Software

  • Centreon 20.04

  • Check that the parameter date.timezone is correctly configured in /etc/opt/rh/rh-php72/php.ini (same timezone displayed with the command timedatectl status)

  • Avoid the usage of the following variables in your monitoring MariaDB configuration. They halt long queries execution and can stop the ETL or the report generation jobs:

    • wait_timeout
    • interactive_timeout

Users and groups

UserGroup
centreonBI (new)apache, centreon, centreonBI
apache (existing)centreonBI

Description of users, umask and home directory

Userumaskhome
centreonBI0002/home/centreonBI

Reporting dedicated server

Hardware

Monitored servicesCPURAM
< 4 0002 CPU ( 3Ghz ) minimum12GB minimum
< 20 0004 CPU (3GHz) minimum16GB minimum
>= 20 000 and < 40 0004 CPU (3GHz) minimum24GB minimum
> 40 000 and < 100 0008 CPU (3GHz) minimum32GB minimum
> 100 000> Contact Centreon

Storage space: Use the following storage estimation file

File system

File systemSize
/5GB minimum
/var (containing MySQl data)Use the result of the above disk-space simulation file MariaDB data)
MariaDB temp folderWe recommend keeping it in /var
Volume group*5GB minimum of free space on the Volume group hosting the MySQL/MariaDB DBMS data

To check the free space use the command below, replacing vg_data by the Volume group name:

vgdisplay vg_data | grep -i free

Software

  • OS: CentOS 7 / Redhat 7
  • SGBD: MariaDB 10.3
  • Firewall: Disabled
  • SELinux: Disabled

We advise to tune your MariaDB database server on your reporting server in order to have better performance. You will need at least 12GB on your reporting server to run the configuration file provided below. Add the following file on your reporting server in /etc/my.cnf.d/.

Make sure to have a tmp folder in /var/lib/mysql.

Do not set these MariaDB optimizations on your monitoring server.

Users and groups:

UserGroup
centreonBIcentreonBI

Description of users, umask and home directory:

Userumaskhome
centreonBI0002/home/centreonBI

Install the extension on Centreon

The tasks explained in this chapter must be performed on the Centreon central server.

Install the Centreon MBI repository, you can find it on the support portal.

Run the following command: :

yum install centreon-bi-server

Activate the extension

The menu Administration > Extension > Manager of Centreon enables you to install the different extension detected by Centreon. Click on the Centreon MBI card to install it.

Upload the license sent by the Centreon team to be able to start configuring the General Options.

Configure the general options

Set the following parameters in the General Options menu Reporting > Monitoring Business Intelligence > General Options :

TabOptionValue
Scheduler OptionsCBIS HostReporting server IP Address
ETL OptionsReporting engine uses a dedicated MariaDB serverYes
Reporting Widgets *Reporting MariaDB databaseReporting database IP Address (default = same as CBIS Host)

* The connection test will not yet work at this stage of the installation process.

Centreon central databases access

Case #1: MariaDB monitoring database is hosted on the Central monitoring server

Launch the command below to authorize the reporting server to connect to the monitoring server databases. Use the following option:

@ROOTPWD@: Root MariaDB password of the monitoring databases server.If there is no password for "root" user, don't specify the option root-password.

/usr/share/centreon/www/modules/centreon-bi-server/tools/centreonMysqlRights.pl --root-password=@ROOTPWD@

Case #2: MariaDB monitoring database is hosted on a dedicated server

Connect by SSH to the database server, and the run the following commands: :

mysql -u root -p
mysql> CREATE USER 'centreonbi'@'$BI_ENGINE_IP$' IDENTIFIED BY 'centreonbi';
mysql> GRANT ALL PRIVILEGES ON centreon.* TO 'centreonbi'@'$BI_ENGINE_IP$';
mysql> GRANT ALL PRIVILEGES ON centreon_storage.* TO 'centreonbi'@'$BI_ENGINE_IP$';

$BI_ENGINE_IP$: IP address of the reporting server.

If you're using MariaDB replication for your monitoring databases, certain views are created during installation of Centreon MBI. You need to exclude them from replication by adding the following line in the my.cnf file of the slave server.

replicate-wild-ignore-table=centreon.mod_bi_%v01,centreon.mod_bi_%V01

Then, create the views manually on the slave server by launching the following command line:

#mysql centreon < view_creation.sql

Please go to the next chapter to continue the installation.

Grant rights to user cbis

When you install Centreon MBI, a user called cbis is automatically created. It allows the report generation engine to extract data from Centreon (using the APIs) in order to put them into the report. This user must have access to all resources monitored by Centreon to be able to extract performance graphs for the following reports:

  • Host-Graph-v2

  • Hostgroup-Graph-v2.

To test the MBI reporting server's connection to the Centreon API, use the following command to download a graph. Replace the parameters of the graph and the timestamps by the ones you want, and replace XXXXXXXXX by the autologin token for user cbis:

curl -XGET 'https://IP_CENTRAL/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=XXXXXXXXX&username=CBIS&hostname=<host_name>&service=<service_description>&start=<start_date>&end=<end_date>' --output /tmp/image.png

Example:

curl -XGET 'https://10.1.1.1/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=otmw3n1hu03bvt9e0caphuf50ph8sdthcsk8ofdk&username=CBIS&hostname=my-poller&service=Cpu&start=1623016800&end=1623621600' --output /tmp/image.png

The output should look like this, and /tmp/image.png should be an image of the graph you wanted:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload Upload Total Spent Left Speed
100 18311 100 18311 0 0 30569 0 --:--:-- --:--:-- --:--:-- 30569

Install the dedicated reporting server

Install the packages

You need the following information available before proceeding with the installation process:

  • IP/DNS of the monitoring database
  • IP/DNS of the Centreon web interface
  • IP/DNS of the reporting database (localhost highly recommended)
  • Access (user/password) to the reporting database
  • Knowledge of the SSH password (after defining it) for the Centreon BI user on the central monitoring server (to publish reports on the interface).

To start installing the reporting server, install the MBI repository, you can find it on the support portal.

Then execute the following command:

yum install centreon-bi-reporting-server MariaDB-server MariaDB-client

If you installed your reporting server using a fresh CentOS image you need to add the following GPG key: :

cd /etc/pki/rpm-gpg/
wget https://yum.centreon.com/standard/20.04/el7/stable/RPM-GPG-KEY-CES

Enable the cbis service:

systemctl enable cbis

Reporting server configuration

MariaDB optimization

Make sure you have installed the MariaDB configuration file provided in the pre-requisites before starting the MariaDB service following file

systemctl restart mysql

For installation, it is necessary to modify LimitNOFILE limitation. Setting this option in /etc/my.cnf will NOT work.

mkdir -p  /etc/systemd/system/mariadb.service.d/
echo -ne "[Service]\nLimitNOFILE=32000\n" | tee /etc/systemd/system/mariadb.service.d/limits.conf
systemctl daemon-reload
systemctl restart mysql

Then start the service MariaDB. If this service cannot start, remove the ib_log files before restarting MariaDB (be sure MariaDB is stopped):

rm -f /var/lib/mysql/ib_logfile*
systemctl restart mysql

If you are using a custom MariaDB socket file, modify the /etc/my.cnf file and in the [client] section, add the following variable:

socket=$PATH_TO_SOCKET$

Start configuring

First check that the reporting MariaDB is running. Then launch the following command, answering the questions:

/usr/share/centreon-bi/config/install.sh

The script handles the SSH exchange key between the monitoring and reporting servers and configures the default SFTP publication rule in order to publish reports on the Centreon web interface. Finally, it activates the backup and starts the CBIS service.

Once installation is complete, go to the next chapter to configure the ETL.

ETL: Configuration

Centreon MBI integrates its own extract, transform, load (ETL) capabilities to:

  • Synchronize raw monitoring data with the reporting server.
  • Calculate availability and performance statistics on the reporting server.
  • Manage data retention on the reporting server.

Before following the next steps, you should have read the best practice parts to ensure that the Centreon objects (e.g., groups and categories) are configured according to Centreon MBI requirements.

In the Reporting > Business Intelligence > General Options > ETL options menu of the Centreon server, specify the following options:

OptionsValues
General options
Reporting engine uses a dedicated dedicated MariaDB serverYes. You must use a reporting server
Compatibility mode to use report templates from version of Centreon MBI prior to 1.5.0No (deprecated)
Temporary file storage directory on reporting serverFolder where dumps will be stored on the reporting server
Type of statistics to build
  • Select “Availability only” if you only use availability reports.
  • Select “Performance and capacity only” if you only want to use capacity and performance reports.
  • Select “All” to calculate the statistics for both types of reports.
Use large memory tweaks (store MariaDB temporary tables in memory)Activated only if your MariaDB configuration and allocated physical memory on the server permit.
Reporting perimeter selection
HostgroupsSelect only host groups for which you want to aggregate data.
HostcategoriesSelect only host categories for which you want to aggregate data.
Service categoriesSelect only service categories for which you want to aggregate data.
Availability statistic calculation
Live services for availability statistics calculationSelect required time periods.
Performance and capacity statistic calculation
Granularity required for performance data statisticsSelect level of granularity required to run the desired performance reports (1).
Live services for performance data statistics calculationSelect required time periods.
Capacity statistic aggregated by month
Live services for capacity statistics calculationSelect the “24x7” time period.
Service categories related to capacity data monitoringSelect the service categories that have been associated with capacity-type services.
Exclude metrics from service categories that do not return capacity USAGE informationConcerns the metrics linked to services which return capacity data. Select the metrics that do not return capacity usage information. but a maximum or total value. (e.g., the metric “size”).
Centile parameters
Calculating centile aggregation bySelect the desired aggregation level. The standard percentile report provided with BI 2.1 uses Month data.
Select service categories to aggregate centile onFilter on relevant service categories for centile statistics (e.g., Traffic).
First day of the weekSelect the first day of the week for Week aggregation.
Centile / Timeperiod combinationCreate a new centile/timeperiod combination on which to perform the calculation.

(1) Reports requiring a precise value per hour of performance data are listed below. If you do not use the following reports, disable the statistics calculation per hour:

  • Hostgroup-Host-details-1
  • Host-detail-v2
  • Hostgroup-traffic-Average-Usage-By-Interface
  • Hostgroup-traffic-by-Interface-And-Bandwith-Ranges.

ETL: Data retention

The reporting server contains statistics tables specific to Centreon MBI in the database "centreon_storage". The storage space used by these tables increases every day. It is possible to control the size of these tables by setting data retention rules.

Under Reporting > Monitoring Business Intelligence > General options > Data retention, data retention can be managed by:

  • Type of data (availability, performance).
  • Precision of data (raw data, hourly, daily or monthly values).

Before enabling the data retention options, check that the Reporting engine uses a dedicated MariaDB server option is correctly set to "Yes" in the Reporting > Business Intelligence > General options ETL options menu.

Enable data retention management by selecting "Yes", then set the options in the configuration (example below).

image

To activate automatic purge of old data, edit the cron file /etc/cron.d/centreon-bi-purge on the reporting server, then uncomment the following line:

#0 20 * * * root @CENTREON_BI_HOME@/*etl*/dataRetentionManager.pl >> @CENTREON_BI_LOG@/dataRetentionManager.log 2>&1

Avoid periods scheduled for statistical calculations with Centreon MBI ETL and report generations.

You can run this cron daily or weekly, depending on the execution time of the batch and the load generated on the server.

Then restart the service cron:

systemctl restart crond

BEST PRACTICE: Select different retention periods according to the granularity of the statistical data:

  • Hourly aggregated values are used to analyze a metric over a short period, they take a lot of space on the disk. You may not need to keep these statistics more that two or three months.
  • Beyond five or six months, you may only need to view the trend for availability or performance statistics. You could then keep the daily aggregated data for a maximum of six months, for example, and configure the retention of monthly aggregated data for a period of several dozen months.

Please go to the next chapter to continue the installation.

ETL: Execution

Before continuing, be sure that you have installed the MariaDB configuration file as specified above in the prerequisites. Configure and activate data retention so that only the required data is imported and calculated.

Rebuilding statistics using historical data

Run the following command on the REPORTING server, it will:

  • Delete all existing data from the reporting server.
  • Import raw monitoring data from the monitoring server to the reporting server (based on retention parameters).
  • Populate the tables containing the availability statistics for hosts and services.
  • Populate the tables containing the performance and capacity statistics.
/usr/share/centreon-bi/bin/centreonBIETL -r

Activating daily execution (of the script)

Once the rebuild process is finished, you can activate the daily statistic calculation. On the reporting server, edit the file /etc/cron.d/centreon-bi-engine and uncomment the following line:

#30 4 * * * root /usr/share/centreon-bi/bin/centreonBIETL -d >> /var/log/centreon-bi/centreonBIETL.log 2>&1

Restart the service cron:

systemctl restart crond

Make sure that the batch centreonBIETL starts only once the batch eventReportBuilder has finished on the monitoring server (see the cron file * /etc/cron.d/centreon* on the monitoring server).

Centreon MBI installation is now complete, check the tutorial