ETL === Modes d'exécution ----------------- La base de données de reporgint ou « Data Warehouse » est mis à jour tous les jours avec les données agrégées calculées par l’ETL. En fonction de la taille du périmètre supervisé, cela peut représenter de quelques milliers de ligne à plusieurs millions de lignes par jour. De ce fait, la base de données de reporting et l’ETL sont deux composants critiques de Centreon MBI que vous devez comprendre. **Deux modes** de fonctionnement sont disponibles pour l’ETL: * **Daily mode** ou mode journalier : C’est le fonctionnement normal de l’ETL lorsque la plateforme de reporting est en place. Les données de Centreon sont importées tous les jours, de manière différentielle. Plus précisemment: * les données de la table "data_bin" de la veille sont importées et les calculs ne se font que sur ces données * toutes les données des tables *servicestatevents* et *hoststateevents* sont importée mais les calculs se font de manière différentiels Elles sont ensuite agrégées puis insérer dans le datawarehouse. Cela peut prendre de quelques secondes à quelques minutes en fonction du périmètre de monitoring. Le mode journalier est configuré comme un cron que vous pouvez consulter dans /etc/cron.d/centreon-bi-engine:: #30 4 * * * root /usr/share/centreon-bi//etl/centreonBIETL --daily >> /var/log/centreon-bi/centreonBIETL.log 2>&1 * **Rebuild mode** ou mode de reconstruction: C’est le mode souvent utilisé après l’installation de la plateforme de reporting, en cas de corruption des données ou si vous souhaitez appliquer de nouvelles dimensions de reporting sur le passé. Ce mode permet de recalculer toutes les statistiques sur une période données ou en utilisant les paramètres de rétention. Example:: /usr/share/centreon-bi/bin/centreonBIETL.pl -r Afin d’obtenir des temps d’exécution raisonnables, la configuration matérielle, l’espace de stockage disponible et les optimisations MySQL doivent avoir été bien positionnés lors de l’installation. .. Note:: Il est fortement recommandé de mettre en place la supervision de l'ETL expliqué dans le chapitre "Configuration avancée". Dans le cas ou l'ETL n'aurait pas fonctionné pendant plusieurs jours ou que les données brutes importées de Centreon n'étaient pas à jour ou erronées, un processus de reconstruction partielle des données doit être exécuté (voir plus bas). L'ETL **ne récupère pas automatiquement** les jours qui n'ont pas été calculés. Options d'exécution ------------------- Différentes options peuvent être passées en paramètre de l'ETL afin de lancer des actions spécifiques d'import ou de reconstruction:: -c Create the reporting database model -d Daily execution to calculate statistics on yesterday -r Rebuild mode to calculate statitics on a historical period. Can be used with: Extra arguments for options -d and -r (if none of the following is specified, these one are selected by default: -IDEP): -I Extract data from the monitoring server Extra arguments for option -I: -C Extract only Centreon configuration database only. Works with option -I. -i Ignore perfdata extraction from monitoring server -o Extract only perfdata from monitoring server -D Calculate dimensions -E Calculate event and availability statistics -P Calculate perfdata statistics Common options for -rIDEP: -s Start date in format YYYY-MM-DD. By default, the program uses the data retention period from Centreon MBI configuration -e End date in format YYYY-MM-DD. By default, the program uses the data retention period from Centreon MBI configuration -p Do not empty statistic tables, delete only entries for the processed period. Does not work on raw data tables, only on Centreon MBI statistics tables. Si les paramètres "start" et "end" ne sont pas précisé, les dates de début et fin pour chaque étapes sont automatiquement calculées en fonction de la rétention des données paramétrées dans les options générales de l'ETL. Centreon BAM ------------ Si vous avez récemment mis à jour Centreon BAM en version 3.0 ou que vous venez de reconstruire les statistiques de BAM, vous devez ré-importer les données de BAM sur les serveur de reporting. Pour cela, exécutez la commande suivante : :: /usr/share/centreon-bi/etl/importData.pl -r --bam-only Cela aura pour effet de n'importer que les tables de reporting du module BAM. .. Note:: Pou recalculer les statistiques de BAM, exécutez la commande suivante :: : /usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --all Centile ------- Pour être en mesure d'utiliser le rapport "Monthly Network Percentile" vous devez activer le calcul et le stockage des centiles. Pour cela, rendez vous sur la page *Reporting > Business Intelligence > General Options | ETL Tab* et configurez la section "Centile Parameters" comme décrit ci-dessous. Le combinaison centile/timeperiod est données à titre d'exemple, n'hésitez pas à créer votre/vos propres combinaisons. Si vous n'êtes pas intéressé par ce rapport, laissez les valeurs par défaut. +------------------------------------------------------------------------------------------+-------------------------------------------------------+ | Parameter | Value | +==========================================================================================+=======================================================+ | Effectuer les calculs sur le centile par | Mois (au moins) | +------------------------------------------------------------------------------------------+-------------------------------------------------------+ | Sélectionner les catégories de services sur lesquelles aggréger les données | Sélectionner au moins une de vos catégories de trafic | +------------------------------------------------------------------------------------------+-------------------------------------------------------+ | Premier jour de la semaine | Lundi (défaut) | +------------------------------------------------------------------------------------------+-------------------------------------------------------+ | Créer les combinaisons centile-plage horaire qui couvrent vos besoins (Format du centile | Créer au moins une combinaison. Ex: 99.0000 - 24x7 | | : 00.0000 | | +------------------------------------------------------------------------------------------+-------------------------------------------------------+ Exemple : .. image:: images/centileParameters.png Seules les categories de services sélectionnées dans la partie "Reporting perimeter selection" apparaîtrons dans les catégories de services disponibles pour les statistiques de centile. Vous pouvez créer autant de combinaison que vous souhaitez mais il faut savoir que l'impact sur les temps de traitements est fort. A titre d'exemple, l'agrégation au mois de ces statistiques peut prendre de quelques secondes à plusieurs dizaines de minutes. Commencez par configurer les centiles sur un petit perimètre puis étendez le au fur et à mesure si les temps de calculs ne deviennent pas problématiques. (peut prendre de quelques secondes à plusieurs dizaine de minutes). .. Note:: Si vous souhaitez générer le rapport de trafic contenant des statistiques de centile sur les données du passé, exécutez les étapes suivantes. Si vous souhaitez uniquement être en mesure de générer des rapports sur le centile dans le future, à partir d'aujourd'hui (car les données seront calculées à partir d'aujourd'hui), rendez vous au chapitre suivant. Sur le serveur de **reporting**, executez la commande suivante pour importer les données de configuration:: /usr/share/centreon-bi/bin/centreonBIETL -rIC Ensuite, exécutez la commande suivante pour intégrer la configuration des centiles dans le datawarehouse:: /usr/share/centreon-bi/etl/dimensionsBuilder.pl -d Enfin, exécutez la commande suivante afin de calculer les statistiques (cela peut prendre de quelques secondes à plusieurs dizaines de minutes selon votre configuration) :: /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r --centile-only Purge ----- Une purge des données peut être activée dans les options générales Centreon MBI afin de s'assurer que le contenu de la base de reporting respecte bien la configuration de la rétention. Ce mécanisme doit être activé dans l'interface ET au niveau du cron /etc/cron.d/centreon-bi-purge . Les dimensions de reporting (combinaisons groupes / catégories host / services / metrics) sont automatiquement supprimées de la base si plus aucune données n'est lié à la combinaison en question. .. _apply_new_configuration_to_data: Comment appliquer la dernière configuration Centreon aux données de reporting ? ------------------------------------------------------------------------------- En période de mise en place de reporting, il est normal d’avoir à relancer les calculs des statistiques relativement souvent puisque la configuration dans Centreon est amenée à changer. Une fois le travail de groupement / catégorisation terminé, lancer les commandes suivantes sur le serveur de **REPORTING**, de préférence le matin (cela peut prendre plusieurs heures). Pré-requis ^^^^^^^^^^ Avant d'exécuter les commandes de la procédure, s'assurer que: * Le script dataRetentionManager.pl n'est pas activé sur le serveur de reporting ( c'est à dire commenté ) dans /etc/cron.d/centreon-bi-purge. Il faudra le réactiver à la fin de la procédure * Le script centreonBIETL n'est pas activé sur le serveur de reporting ( c'est à dire commenté ) dans /etc/cron.d/centreon-bi-engine. Il faudra le réactiver à la fin de la procédure * La rétention est configurée sur l'interface Centreon BI et que cette dernière n'est pas plus importante que 1024 jours * La rétention est activée dans l'interface * Les scripts présents dans /etc/cron.d/centreon-bi-backup-engine doivent être commentés. Il faudra les dé-commenter à la fin de la procédure * Comme cette procédure n’inclut pas la reprise des données de logs et de métrologie brutes, assurez vous que les données provenant de Centreon sont à jour. Pour cela, exécutez la commande suivante: :: #/usr/share/centreon-bi/etl/centreonbiMonitoring.pl --db-content Et vérifiez que le message "ETL OK - Database is up to date" apparaît ou qu'aucune de ces tables n'apparaît dans la liste : * data_bin * hoststatevents * servicestateevents Les commandes d’agrégation proposées ci-dessous sont lancées sans précision de date de début et fin, le calcul se basera alors sur la rétention configurée dans Centreon BI. Il est conseillé de modifier cette rétention AVANT le traitement pour la mettre à 3 mois (95 jours) puis de la remettre par défaut (365 jours) APRES le traitement. /!\ Se rendre à la page : Reporting > Business Intelligence > General Option | Onglet Data Retention Options .. image:: images/etl_dataRetention.png .. Note:: Pour l'ensemble des commandes listées ci-dessous, utiliser “screen” ou “nohup” car les temps d'exécution peuvent être très long. Importer la dernière configuration de Centreon ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: #/usr/share/centreon-bi/etl/importData.pl -r --centreon-only Calculer les dimensions de reporting ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Cette commande supprime tous les anciennes relations tracées dans le serveur de reporting pour n’appliquer que les dernières en date. Si vous souhaitez garder les anciennes relations, remplacer **"-r"** par **"-d"**. :: #/usr/share/centreon-bi/etl/dimensionsBuilder.pl -r Agrégation des événements et de la disponibilité ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: #nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r > /var/log/centreon-bi/rebuildAllEvents.log & Agrégation des données de performance (stockage, traffic etc.. ) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ :: #nohup /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r > /var/log/centreon-bi/rebuildAllPerf.log & .. Warning:: Veillez à remettre la configuration et les crons que vous avez modifiés dans la partie "Pré-requis". Comment reprendre partiellement les données de reporting ? ---------------------------------------------------------- Il est possible de rencontrer des dysfonctionnements au niveau du serveur Centreon ou du serveur de reporting, cela peut engendrer une perte de données sur plusieurs jours. Dans ce cas, le plugin de reporting renvoie que la base de données n'est pas à jour. Exemple du retour du plugin lorsque la base de données n'est pas à jour : :: #/usr/share/centreon-bi/etl/centreonbiMonitoring.pl --db-content [Table mod_bam_reporting, last entry: 2015-07-01 00:00:00] [Table mod_bi_ba_incidents, last entry: 2015-07-01 00:00:00] [Table hoststateevents, last entry: 2015-07-01 00:00:00] [Table servicestateevents, last entry: 2015-07-01 00:00:00] [Table mod_bi_hoststateevents, last entry: 2015-07-01 00:00:00] [Table mod_bi_servicestateevents, last entry: 2015-07-01 00:00:00] [Table mod_bi_hostavailability, last entry: 2015-07-01 00:00:00] [Table mod_bi_serviceavailability, last entry: 2015-07-01 00:00:00] [Table data_bin, last entry: 2015-08-01 00:00:00] [Table mod_bi_metricdailyvalue, last entry: 2015-08-01 00:00:00] [Table mod_bi_metrichourlyvalue, last entry: 2015-08-01 23:00:00] * Si vous ne voyez que les table, **mod_bi_*** cela signifie que le problem se situe uniquement sur les données agrégées et pas les données provenant de Centreon. Dans ce cas, vous n'avez qu'à exécuter la procédure :ref:`Comment appliquer la dernière configuration Centreon aux données de reporting` en utilisant l'option "-d" lors de la construction des dimensions. * Si vous voyez également les tables ci_dessous, cela signifie qu'il y a un problème avec les données importées de Centreon : * hoststatevents * servicestateevents * Les tables **mod_bam_reporting*** tables * data_bin Dans ce cas, vous devez vous assurer qu'il n'y a pas de problème du côté Centreon avant d'éxécuter la procédure suivante. Dans ce cas, exécutez la procédure qui suit. Pré-requis ^^^^^^^^^^ .. Warning:: Assurez vous que tout est OK côté Centreon avant de commencer cette procédure. Avant d'exécuter les commandes de la procédure, s'assurer que: * Le script dataRetentionManager.pl n'est pas activé sur le serveur de reporting ( c'est à dire commenté ) dans /etc/cron.d/centreon-bi-purge. Il faudra le réactiver à la fin de la procédure * Le script centreonBIETL n'est pas activé sur le serveur de reporting ( c'est à dire commenté ) dans /etc/cron.d/centreon-bi-engine. Il faudra le réactiver à la fin de la procédure * La rétention est configurée sur l'interface Centreon BI et que cette dernière n'est pas plus importante que 1024 jours * La rétention est activée dans l'interface * Les scripts présents dans /etc/cron.d/centreon-bi-backup-engine doivent être commentés. Il faudra les dé-commenter à la fin de la procédure .. Note:: Pour l'ensemble des commandes listées ci-dessous, utiliser “screen” ou “nohup” car les temps d'exécution peuvent être très long. Importer et reconstruire les évènements manquants et les données de disponibilité ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Importer les données, sans la table data_bin, depuis une date ancienne correspondant à la rétention configurée dans Centreon MBI > Generation Option > Data Retention Parameters : :: #nohup /usr/share/centreon-bi/etl/importData.pl -r -s 2015-06-01 -e 2016-01-01 --ignore-databin > /var/log/centreon-bi/rebuild_importDataEvents.log & *Temps d'exécution : (rapide) quelques minutes* * Reconstruire les dimensions. L'option "-d" est utilisée pour conserver l'historique des changements de configuration. Pour de meilleurs performances et dans le cas où vous ne souhaitez pas conserver l'historique des changements, remplacer "-r" par "-d". Attention, cela supprime toutes les relations précédemment existante dans la base de reporting pour ne garder que la dernière.: :: #nohup /usr/share/centreon-bi/etl/dimensionsBuilder.pl -d > /var/log/centreon-bi/rebuild_dimensions.log & *Temps d'exécution : (rapide) quelques secondes à quelques minutes* * Reconstruire les évènements depuis une date ancienne correspondant à la rétention configurée dans Centreon MBI > Generation Option > Data Retention Parameters : :: #nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r --events-only -s 2015-06-01 -e 2016-01-01 > /var/log/centreon-bi/rebuild_events.log & *Temps d'exécution : dépend de votre périmètre de supervision et du nombre d'évènements. Peut prendre de quelques minutes à plusieurs heures mais ne doit pas être plus long que 24h. Si c'est le cas, veuillez contacter le Centre de Service.* * Reconstruire les tables de disponibilité depuis la date des dernières données présentes en base. Pour le savoir, regardez les dates en face de mod_bi_hostavailability et mod_bi_serviceavailability: :: #nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r --no-purge --availability-only -s 2015-07-01 -e 2016-01-01 > /var/log/centreon-bi/rebuild_availability.log & *Temps d'exécution : dépend de votre périmètre de supervision et du nombre de jour à reconstruire. Peut prendre de quelques minutes à plusieurs heures* Importer et reconstruire les données de performances manquantes ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Importer les données de data_bin depuis la date des dernières données présentes en base. Vous pouvez le savoir en vérifiant la date à côté de la table data_bin dans le retour du plugin : :: #nohup /usr/share/centreon-bi/etl/importData.pl -r --no-purge --databin-only -s 2015-08-01 -e 2016-01-01 > /var/log/centreon-bi/rebuild_importDataBin.log & *Temps d'exécution : (rapide) quelques minutes dépendant du nombre de jour à importer* * Construire les statistiques manquantes. Prenez la date la plus ancienne en face des tables mod_bi_metrichourlyvalue et mod_bi_metricdailyvalue dans le retour du plugin : :: #nohup /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r --no-purge -s 2015-08-01 -e 2016-01-01 > /var/log/centreon-bi/rebuild_perfData.log & *Temps d'exécution : dépend de votre périmètre de supervision et du nombre de jour à reconstruire. Peut prendre de quelques minutes à plusieurs heures* Que faire après l'exécution des scripts ? ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Cas 1 : **La reconstruction s'est terminée le même jour** Dé-commenter les lignes dans /etc/cron.d/centreon-bi-engine et /etc/cron.d/centreon-bi-purge puis redémarrer le service crond : :: #/etc/init.d/crond restart * Cas 2 : **La reconstruction se termine le jour suivant** * Dé-commenter les lignes dans /etc/cron.d/centreon-bi-engine et /etc/cron.d/centreon-bi-purge puis redémarrer le service crond : :: #/etc/init.d/crond restart * Exécutez manuellement la construction journalière : :: # /usr/share/centreon-bi/bin/centreonBIETL -d * Cas 3 : **Tous les autres cas** Reprendre la procédure de reconstruction partielle en l'appliquant sur les jours qui manquent. :: Exemple: La reconstruction a pris 4 jours : du 01/01 au 04/01 , il faut alors reprendre la procédure depuis le début en utilisant date_start = 01-01 et date_end = 04/01 La procédure est terminée et la sortie de la sonde de supervision BI devrait être “ETL execution OK, database is up-to-date”.