Aller au contenu principal

Installation de Centreon MBI

Architecture​

Ce chapitre présente l'architecture logicielle de l'extension Centreon MBI. Il permet d'acquérir une compréhension de son intégration à la plateforme Centreon.

Ce document s'adresse aux administrateurs qui vont installer ou configurer Centreon MBI.

Dans ce chapitre, vous trouverez :

  • le diagramme d'architecture logicielle
  • le diagramme d'architecture des RPMs

Un serveur de reporting dédié​

Cette architecture et les pré-requis présentés sont valables pour les environnements suivant:

  • tests
  • production
  • prĂ©-production

Le schéma ci-dessous met en avant les principaux composants de Centreon MBI :

image

La base de monitoring n'est pas nécessairement sur le même serveur que le serveur Centreon

  • ETL : MĂ©canisme d'extraction, calcul et chargement des donnĂ©es dans la base de donnĂ©es dediĂ©e reporting.
  • CBIS : Ordonnanceur gĂ©rant la gĂ©nĂ©ration et la publication automatique des rapports.
  • Reporting database : Base de donnĂ©es MariaDB contenant les donnĂ©es de reporting et certaines donnĂ©es extraites de la base de monitoring.

Tableaux des flux réseau​

Dans le tableau ci-dessous, sont représentés les différents flux présents entre le serveur de reporting dédié, le serveur Centreon et les bases de données, par défaut.

ApplicationSourceDestinationPortProtocol
ETL/CBISServeur de reportingServeur de bases de données Centreon3306TCP
SSHServeur de reportingServeur Centreon22TCP
CBISServeur de reportingServeur Centreon80HTTP*
CBISCentreonServeur de reporting1234TCP
WidgetsServeur central CentreonServeur de reporting3306TCP

*Uniquement nécessaire pour les rapports Host-Graph-v2 and Hostgroup-Graph-v2

Packages​

L'installation de Centreon MBI est basée sur deux paquets RPM :

  • Centreon-bi-server : Ce paquet installe l'interface de Centreon MBI sur le frontend de Centreon. Ce paquet doit ĂŞtre installĂ© sur le serveur web de Centreon.
  • Centreon-bi-reporting-server : Ce paquet contient tous les Ă©lĂ©ments composants le serveur reporting : moteur de gĂ©nĂ©ration de rapports, les rapports standards et l'ETL. Il doit ĂŞtre installĂ© sur un serveur dĂ©diĂ© aux processus de reporting.

L'installation du moteur de base de données doit être faite en même temps. Nous conseillons fortement d'installer la base MariaDB sur le serveur de reporting pour des questions de performances & d'isolation.

Pré-requis​

Server Centreon central​

Logiciels

  • Centreon Web 20.04

  • VĂ©rifiez que date.timezone est correctement configurĂ©e dans le fichier /etc/opt/rh/rh-php72/php.ini (mĂŞme que celui retournĂ© par la commande timedatectl status)

  • Evitez l'utilisation des variables ci dessous dans le fichier de configuration MariaDB /etc/my.cnf: Elles arrĂŞtent l'exĂ©cution des requĂŞtes longues et ceci pourrait arrĂŞter l'exĂ©cution des ETL ainsi que la gĂ©nĂ©ration des rapports.

    • wait_timeout
    • interactive_timeout

Ajout d'utilisateurs ou de groupes

UtilisateurGroupe
centreonBI (nouveau)apache,centreon,centreonBI
apache (existant)centreonBI

Description des utilisateurs, umask et répertoire utilisateur

Utilisateurumaskhome
centreonBI0002/home/centreonBI

Serveur de reporting​

Matériel

Nombre de services supervisésCPU minimumMémoire Vive
< 4 0002 CPU ( 3Ghz )12Go minimum
< 20 0004 CPU (3GHz) minimum16 Go minimum
>= 20 000 and < 40 0004 CPU (3GHz) minimum24 Go minimum
>= 40 000 and < 100 0008 CPU (3GHz) minimum32 Go minimum
> 100 000> Contacter Centreon

Espace disque : Utilisez le fichier suivant

File system

File systemTaille
/5GB minimum
/var (containing MariaDB data)utiliser le résultat du fichier de simulation de l'espace disque ci-dessus
Dossier temporaire de MariaDBFortement recommandé de le positionner dans /var
Volume group*5G minimum d'espace libre sur le Volume groupe hébergeant les données MySQL/MariaDB.

Pour controler l'espace libre, utiliser la commande suivante en remplaçant vg_data par le nom du volume groupe:

vgdisplay vg_data | grep -i free*

Logiciels

  • OS : CentOS 7 / Redhat 7
  • SGBD : MariaDB 10.3.x
  • Firewall : DĂ©sactivĂ©
  • SELinux : DĂ©sactivĂ©

Veillez à optimiser MariaDB sur votre serveur de reporting.Vous aurez besoin d'au moins 12GB de mémoire vive afin d'utiliser le fichier suivant Veillez à créer un dossier tmp dans /var/lib/mysql/.

N'utilisez pas ce fichier d'optimisation sur le serveur de supervision.

Ajout d'utilisateurs ou de groupes :

UtilisateurGroupe
centreonBIcentreonBI

Description des utilisateurs, umask et répertoire utilisateur :

Utilisateurumaskhome
centreonBI0002/home/centreonBI

Installer l'extension sur Centreon​

Les actions listées dans ce chapitre doivent être lancées sur le serveur de supervision Centreon.

Installer le dépôt MBI, vous pouvez le trouver sur le portail support.

Lancez la commande suivante :

yum install centreon-bi-server

Activer l'extension​

Le menu Administration > Extensions > Manager de Centreon permet d'installer les différentes extensions détectées. Une carte référence Centreon MBI. Cliquer sur le "+" pour installer l'extension.

Uploader via l'interface la license reçue correspondant à Centreon MBI.

Configurer l'extension​

Renseignez les valeurs suivantes dans les options générales de Centreon MBI, menu Rapports > Monitoring Business Intelligence > Options Générales :

TabOptionValue
Options de l'ordonnanceurHĂ´te de CBISAdresse IP du serveur de reporting
Options de l'ETL Une base de données MariaDB dédiée au reporting a été mise en place.Oui
Widgets de reporting*Reporting MariaDB databaseAdresse IP de la base de reporting (par défaut = adresse IP du serveur de reporting)

* Le test de connexion ne fonctionnera pas encore Ă  ce moment de l'installation

Accès à la base de données Centrale​

Cas #1 : La base MariaDB de monitoring est hébèrgée sur le même serveur que le serveur Central Centreon​

Lancez la commande ci dessous pour autoriser le serveur de reporting à se connecter aux bases de données du serveur de supervision.

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

@ROOTPWD@ : Mot de passe root du serveur MariaDB du serveur de supervision. Si il n'y a pas de mot de passe root, ne spécifiez pas l'option "root-password".

Cas2 # La base MariaDB de monitoring est hébergée sur un serveur dédié​

Connectez vous en SSH sur le serveur de base de données, et lancez les commandes suivantes : :

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$ : Adresse IP du serveur de reporting

Si vous utilisez une réplication MariaDB pour vos bases de données de monitoring, lors de l'installation de Centreon MBI, des vues sont créées. Il faut les exclure de la réplication en rajoutant la ligne suivante dans le fichier my.cnf du slave

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

puis créer les vues sur le slave en lançant la commande:

#mysql centreon < view_creation.sql

Allez au chapitre suivant pour continuer l'installation.

Donner des droits à l'utilisateur cbis​

Lorsque vous installez Centreon MBI, un utilisateur nommé cbis est créé automatiquement. Il permet au moteur de génération de rapports d'extraire les données de Centreon (en utilisant les APIs) afin de les insérer dans le rapport. Cet utilisateur doit avoir accès à toutes les ressources supervisées par Centreon afin de pouvoir extraire les graphes de performance pour les rapports suivants :

  • Host-Graph-v2

  • Hostgroup-Graph-v2.

Pour tester la connexion entre le serveur de reporting MBI et l'API Centreon, utilisez la commande suivante pour télécharger un graphique. Remplacez les paramètres du graphique et les timestamps, et remplacez XXXXXXXXX par le jeton d'autologin de l'utilisateur cbis:

curl -XGET 'https://IP_CENTRAL/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=XXXXXXXXX&username=CBIS&hostname=<nom_hôte>&service=<description-service>&start=<date_début>end=<date_fin>' --output /tmp/image.png

Exemple :

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

Le résultat devrait ressembler au code ci-dessous, et l'image du graphe désiré doit avoir été téléchargée dans le répertoire /tmp :

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

Installer le serveur de reporting​

Installer les paquets​

Ce chapitre aborde l'installation du serveur de reporting.

Lors de ce chapitre, vous aurez besoin des informations suivantes, veillez à les connaître avant de commencer :

  • IP/DNS de la base de monitoring
  • IP/DNS de l'interface de Centreon
  • IP/DNS de la base de reporting (localhost fortement recommandĂ©)
  • accès (user/password) aux bases de donnĂ©es de monitoring & reporting
  • dĂ©finir puis rĂ©cupĂ©rer le mot de passe ssh de l'utilisateur centreonBI, sur le serveur Central (pour la mise Ă  disposition des rapports gĂ©nĂ©rĂ©s sur l'interface)

Installer le dépôt MBI, vous pouvez le trouver sur le portail support.

Puis lancer la commande suivante:

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

Dans le cas d'une installation basée sur une image CentOS vierge, installez la clé GPG : :

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

Activer le service cbis :

systemctl enable cbis

Configurer le serveur de reporting​

Optimisations MariaDB​

Assurez vous que le fichier de configuration optimisé fourni dans les pré-requis est bien présent dans /etc/my.cnf.d/, puis redémarrez le service MariaDB

systemctl restart mysql

Pour les systèmes CentOS / RHEL en version 7, il est nécessaire de modifier la limitation LimitNOFILE. Changer cette option dans /etc/my.cnf NE fonctionnera PAS.

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

Si le service MariaDB échoue lors du démarrage, supprimer les fichiers ib_logfile (MariaDB doit absolument être stoppé) puis redémarrer à nouveau MariaDB:

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

Si vous utilisez un fichier de socket spécifique pour MariaDB, modifiez le fichier /etc/my.cnf et dans la section [client], ajoutez :

socket=$PATH_TO_SOCKET$

Installer la configuration​

Vérifiez que le MariaDB de reporting est bien démarré puis lancez les commandes ci dessous et répondez aux questions:

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

Le script effectue l'échange de clés ssh entre le serveur de supervision et le serveur de reporting, et configure la règle de publication sftp standard pour pouvoir publier les rapports sur le Centreon Web. Enfin, il active les backup et démarre le service cbis.

Une fois l'installation terminée, poursuivez au chapitre suivant pour configurer l'ETL.

ETL : Configuration​

Centreon MBI intègre un ETL qui permet de :

  • Synchroniser les donnĂ©es brutes de la supervision vers le serveur de reporting
  • Alimenter les bases de donnĂ©es du serveur de reporting avec les donnĂ©es statistiques
  • ContrĂ´ler la rĂ©tention des donnĂ©es sur le serveur de reporting

Avant de passer aux étapes suivantes, il est nécessaire de lire le chapitre des bonnes pratiques afin de vous assurer que la configuration des objets dans Centreon (groupes, categories...) est conforme aux attentes de Centreon MBI.

Dans le menu « Rapports > Monitoring Business Intelligence > General Options > Options de l ETL »  de Centreon, spécifiez les options suivantes :

OptionValues
Options générales
Une base de données MariaDB dédiée au reporting a été mise en place.Oui. Vous devez avoir un serveur de reporting dédié.
Espace de stockage des fichiers temporaires sur le serveur de reporting *Dossier sur le serveur de reporting dans lequel les dumps de données seront positionnés
Type de statistiques Ă  traiter
  • SĂ©lectionnez « DisponibilitĂ© uniquement » si vous utilisez uniquement les rapports de disponibilitĂ©.
  • SĂ©lectionnez « Performance et capacitĂ© uniquement» si vous souhaitez utiliser uniquement les rapports de capacitĂ© et de performance
  • SĂ©lectionnez «Tous» afin de calculer les statistiques pour les deux types de rapports.
Activer le stockage des tables temporaires en mémoire (uniquement si la mémoire physique allouée au serveur de reporting est suffisante)Activé uniquement si votre configuration MariaDB et la mémoire physique allouée au serveur de reporting le permet.
Sélection du périmètre du reporting
Groupes d hotesSélectionnez les groupes d’hôtes pour lesquels vous souhaitez conserver les statistiques.
Catégories d hôtesSélectionnez les catégories d’hôtes pour lesquels vous souhaitez conserver les statistiques.
Catégories de servicesSélectionnez les catégories de services pour lesquels vous souhaitez conserver les statistiques.
Calcul des données de disponibilité
Sélectionner les plages de services pour le calcul des statistiques de disponibilitéPlages horaires (time periods) pour lesquelles les calculs de disponibiltié des hôtes et des services sont réalisées
Calcul des données de performance et de capacité
Granularité des données statistiques à calculerSélectionnez le ou les niveaux de granularité pour le calcul des données de performance (1)
Sélectionner les plages de services pour le calcul des statistiques de performancePlages horaires sur les jours de la semaine pris en compte dans le calcul des données de capacité et de performance
Capacity statistic aggregated by month
Sélectionner la plage de service 24h/24, 7j/7 pour le calcul des statistiques mensuelles de capacitéSelectionnez la plage horaire 24x7.
Sélectionner les catégories de services liées aux indicateurs de capacitéSélectionnez les catégories de services ayant été rattachés à des services de type capacité
Exclure les métriques qui ne renvoient pas une indication d utilisation des espaces de stockageConcerne uniquement les métriques liées aux services qui renvoient une information de capacité. Sélectionnez uniquement les métriques qui donnent une valeur maximale ou une valeur totale de capacité et non une valeur d’utilisation. (exemple, la métrique “ size ” returnée par le plugins check_centreon_snmp_remote_storage »)
Paramètres pour le calcul des centiles
Calculating centile aggregation bySelectionnez la granularité des calculs. Le rapport de trafic fourni en standard avec BI 2.1 utilise les données au Mois.
Sélectionner les catégories de services sur lesquelles aggréger les donnéesSelectionnez uniquement les catégories de services pertinente (Ex: Traffic)
Premier jour de la semaineSelectionnez le premier jour à considérer pour les statistiques à la semaine
Créer les combinaisons centile-plage horaire qui couvrent vos besoins (Format du centile : 00.0000)Créez des combinaisons centile/plage horaire sur lesquels les statistiques seront effectuées

(1) Les rapports nécessitant une granularité des données à l'heure sont listés ci-dessous. Si vous ne souhaitez pas utiliser ces rapports, désactivez le calcul des statistiques à l'heure:

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

ETL: Rétention de données​

Le serveur de reporting contient des données de statistiques dans des tables spécifiques à Centreon MBI. Ces données sont stockées dans la base de données centreon_storage.

L'espace utilisé par ces tables augmentera de jour en jour; il est possible de contrôler la volumétrie de ces données en configurant des règles de rétention.

Dans le menu : Reporting > Monitoring Business Intelligence > Options générales > Options de rétention des données la rétention peut être gérée par:

  • type de donnĂ©es (disponibilitĂ© ou performance)
  • granularitĂ© des donnĂ©es (donnĂ©es brutes de la supervision, donnĂ©es agrĂ©gĂ©es par heure, jour ou mois)

Activez la rétention de données en cochant "Yes" puis paramétrez les différents options de configuration.

image

Pour activer la purge automatique des données, éditez le cron /etc/cron.d/centreon-bi-purge sur le serveur de reporting puis dé-commentez la ligne suivante: :

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

Évitez les périodes pendant lesquelles les calculs de statistiques avec l'ETL Centreon MBI et la génération des rapports sont programmés.

Il est possible d'exécuter le cron de manière journalière ou hebdomadaire, cela dépendra de la charge générée par la purge des données sur votre serveur de reporting.

Redémarrez le service cron: :

systemctl restart crond

BONNES PRATIQUES: Sélectionnez différentes périodes de rétention en fonction de la granularité des données statistiques:

  • Les donnĂ©es agrĂ©gĂ©es par heure sont souvent exploitĂ©es afin d'analyser des mĂ©triques sur une pĂ©riode proche. Il n'est pas nĂ©cessaire de conserver ces donnĂ©es sur plusieurs mois;
  • Au delĂ  de 5 ou 6 mois, vous auriez probablement besoin de voir la tendance de la disponibilitĂ© et des statistiques de performances. Il serait donc envisageable de conserver au plus 6 mois les donnĂ©es agrĂ©gĂ©es par jour et configurer une rĂ©tention des donnĂ©es agrĂ©gĂ©es au mois sur plusieurs dizaines de mois.

Passez Ă  la section suivante pour continuer l'installation.

ETL : Execution​

Avant d'aller plus loin, assurez vous d'avoir positionné les optimisations MariaDB fournis dans les pré-requis. Assurez vous également d'avoir configuré la rétention des données et de l'avoir activée afin de ne récupérer et calculer que les données dont vous avez besoins.

Reconstruire les statistiques en utilisant les données historiques​

La commande qui suit, à exécuter sur le serveur de REPORTING, aura pour effet de :

  • Supprimer les donnĂ©es existantes sur la base de reporting

  • Importer les donnĂ©es brutes Ă  partir de la base de donnĂ©es de supervision, en utilisant les paramètres de retention

  • Alimenter les tables qui contiennent les informations de disponibilitĂ© des Ă©quipements et des services

  • Alimenter les tables qui contiennent les informations de performance et de capacitĂ© des Ă©quipements et des services

    /usr/share/centreon-bi/bin/centreonBIETL -r

Activer l'exécution journalière​

Une fois que la reconstruction des données est terminée, il faut activer l'exécution journalière du script. Pour cela, sur le serveur de reporting, éditez le fichier « /etc/cron.d/centreon-bi-engine » et dé-commentez la ligne suivante : :

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

Redémarrez le service cron sur le serveur de reporting : :

systemctl restart crond

Verifiez que le batch centreonBIETL commence une fois que le batch eventReportBuilder est terminé sur le serveur de monitoring (vérifiez les heures dans le cron /etc/cron.d/centreon).

La configuration de votre installation de Centreon MBI est terminée, consultez le tutorial