Upgrade Centreon-Web 20.10.5 -> 20.10.6
Nous allons découvrir la procédure pour arriver à nos fin.
Tout d'abord, voici les commandes à réaliser pour la mise à jour.
Retrouvez les statistiques d'engine avec la 19.10
Si vous jetez un coup d'œil sur les logs, vous lisez ceci :
Lire plus…
Dépannage du partionnement Centreon
Malheureusement, le lendemain, patatras ! De nouveaux des alertes de cpu et de charge processeur ! Bon, il faut reconnaître que la machine me sert qu'à des fins de tests et que je ne m'en occupe pas tous les jours. Cette machine Après quelques recherches sur l'IHM de Centreon, je découvre le graphe suivant.
Je constate que le cpu s'affole à 2 H 00 du matin correspondant au cron de purge des logs et data-bin de la base centreon_storage. Le constat est sans appel, il s'agit d'un problème de base de données et plus précisément du partitionnement. La copie d'écran ci-dessous me confirme mon raisonnement.
Les partitions de la table logs ont une date périmée (1987), il devrait avoir des partitions avec une date plus récente avec 10 jours d'avance sur la date du jour. Bilan : les tables logs, log_archive_host et log_archive_service ne sont pas à jour en termes de partitionnement.
Pour corriger ce dysfonctionnement, une solution : refaire le partitionnement des tables incriminées. Mais attention, pour réaliser cette opération, assurez-vous d'avoir suffisamment d'espace disque pour MySQL ou MariaDB. En effet il faut un espace libre équivalent à deux fois et demie de la table existante.
Voici la procédure à appliquer pour chaque table, nous prenons pour exemple la table logs :
Supprimez les partitions de la table logs, attention cela peut prendre du temps surtout avec des tables importantes.
mysql -u centreon -p centreon_storage
MariaDB [centreon_storage]> ALTER TABLE logs REMOVE PARTITIONING;
exemple du résultat de la fin d'un partitionnement
Query OK, 832 rows affected (48 min 21.14 sec)
Records: 832 Duplicates: 0 Warnings: 0
MariaDB a enlevé les partitions de la table logs.
Maintenant, il faut refaire le partitionnement de cette table, nous allons reprendre le script suivant suivant la distribution.
Debian et Ubuntu
/usr/bin/php /usr/share/centreon/bin/centreon-partitioning.php -m logs
CentOS 7
/opt/rh/rh-php72/root/usr/bin/php /usr/share/centreon/bin/centreon-partitioning.php -m logs
vous devriez avoir ce résultat
[Sat, 20 Feb 21 09:42:39 +0100] PARTITIONING STARTED
[Sat, 20 Feb 21 09:42:39 +0100][migrate] Renaming table centreon_storage.logs TO centreon_storage.logs_old
[Sat, 20 Feb 21 09:42:39 +0100][migrate] Creating parts for new table centreon_storage.logs
[Sat, 20 Feb 21 09:47:37 +0100][migrate] Insert data from centreon_storage.logs_old to new table
[Sat, 20 Feb 21 09:47:38 +0100] PARTITIONING COMPLETED
Ensuite, supprimez la table logs_old créé lors du partionnement de la table logs.
mysql -u centreon -p centreon_storage
MariaDB [centreon_storage]> drop table logs_old;
Répétez ces opérations pour les tables impactées. Point d'attention, l'espace utilisé pour supprimer les anciennes partitions ne sera pas récupéré.
Et ma supervision Centreon est repartie de plus belle
Un nouveau bandeau à tester !
l'ancien bandeau de statuts
le nouveau bandeau
Les Downtimes avec CLAPI
Chronologie des versions Centreon
Vous trouverez la page à cette adresse http://sugarbug.web4me.fr/timeline/index.html, je n'ai pas encore réussi à l'intégrer au site. En survolant les items, vous avez l'information du support Centreon. Les versions majeures ont été regroupées par couleur afin de connaître ce qui est compatible avec qui. Pour Centreon-engine, Centreon-broker et Centreon-web, il faut développer avec l'icône triangle pour découvrir toutes les versions.
D'autres versions comme les modules et widgets viendront compléter ce tableau.
Gérer le partitionnement de vos VM de test
Malheureusement mes VM ne sont pas en fonctionnement à 4 heures du matin et si vous avez comme moi activer la supervision du Central, vous obtenez l'alerte suivante :
En vérifiant l'état des bases avec le menu Administration -> Server Status, on constate que le système n'a pas anticipé le partionnement des tables basé sur les dates. Nous devrions être à J+10 normalement.
Pour forcer la gestion du partionnement, connectez-vous en invite de commande sur le serveur de supervision et procédez aux commandes suivantes :
su - centreon
/usr/bin/php /usr/share/centreon/cron/centreon-partitioning.php >> /var/log/centreon/centreon-partitioning.log
Vous pouvez vérifier de nouveau l'état de partitionnement de vos tables
Et le service revient à l'état OK
C'est corrigé ! pour la version 2.7.10
vi /usr/share/centreon/www/include/common/webServices/rest/centreon_configuration_command.class.php
modifier la ligne 73 comme ceci. Il y a
$queryCommand .= "AND command_type = ? AND command_activate = 1 ";
il faut
$queryCommand .= "AND command_type = ? ";
J'en profite pour indiquer un problème d'authentification LDAP avec cette version, vous trouverez les infos à cette page.
Issue #5229
Je viens de trouver un bug bloquant pour la création des services ou des templates de services. En effet, lors de la création d'un service, vous ne pouvez plus ajouter de commandes de services. La liste de recherches des commandes est désespérément vide !
Si vous avez malheureusement installé cette version, vous avez toujours la possibilité d'ajouter les commandes de service avec une commande clapi. Voici une solution. Vous voulez créer un service avec la commande check_http. Créez votre service en ajoutant le template de service generis-service.
Sauvegardez votre service. Ensuite ajoutez votre commande avec une commande clapi
centreon -u admin -p password -o SERVICE -a setparam -v "Centreon-Server;check_http;check_command;check_http"
Ensuite revenez sur votre service pour supprimer le modèle de service et vérifiez que vous avez votre commande. le tour est joué 😀
Et comme vous êtes prévoyant, vous n'avez pas installé cette version sur la production mais sur une machine d'intégration….
Si vous installez une nouvelle distribution Centreon 3.3 (ex CES), voici la commande de mise à jour pour installer la version 2.78 avec engine 1.5.1 et broker 2.11.5 :
yum install centreon-common-2.7.8 centreon-2.7.8 centreon-base-config-centreon-engine-2.7.8 centreon-perl-libs-2.7.8 centreon-plugin-meta-2.7.8 centreon-plugins-2.7.8 centreon-trap-2.7.8 centreon-web-2.7.8 centreon-engine-1.5.1 centreon-broker-2.11.5 centreon-broker-cbd-2.11.5 centreon-broker-cbmod-2.11.5 centreon-broker-core-2.11.5 centreon-broker-storage-2.11.5
Installation Centreon-Web 2.8.9 avec les sources
Nagvis et Centreon-Web 2.8x
Les tests ont été réalisés avec une installation très simple, je n'ai peut-être pas vu tous les cas de figure. Attention Nagvis et son module ne sont pas supportés officiellement par Centreon.
Le partitionnement BDD et Centreon
Et pour finir un upgrade de mes articles sur Centreon avec Debian avec la nouvelle version 2.8.3 et centreon-engine 1.7.0 : Full Centreon 2.8 et Maj Full Centreon 2.7x -> 2.8.
Installation du module centreon-pdf-reports
J'attire votre attention que celui-ci a été installé et modifié sur une plateforme Debian et qu'il n'est pas exempt de bugs. Si vous vous lancez dans l'aventure, lisez bien l'article. J'attends vos retours avec intérêt et j'espère pouvoir proposer un commit dans le mois en fonction de mes disponibilités.
Le bug de la page blanche...
Vous ne rencontrez aucune erreur, lors de l'installation en mode web mais lors de votre première connexion en admin, vous obtenez une magnifique page blanche.
Pour trouvez la cause de ce dysfonctionnement, rien de tel que de lire les logs du serveur Web. Pour la distribution Centreon, lancez cette commande :
tail /var/log/httpd/error_log
Pour une Debian
tail /var/log/apache2/error.log
Voici un extrait du résultat de la commande indiquant un problème du paramétrage du fuseau horaire pour le PHP avec le champ date.timezone invalide.
[Sun Sep 25 21:49:21.378713 2016] [:error] [pid 7974] [client 172.16.209.1:51267] PHP Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Invalid date.timezone value 'Europe/ Paris', we selected the timezone 'UTC' for now.' in /usr/share/centreon/www/class/centreonGMT.class.php:205\nStack trace:\n#0 /usr/share/centreon/www/class/centreonGMT.class.php(205): DateTime->__construct()\n#1 /usr/share/centreon/www/menu/Menu.php(172): CentreonGMT->getDate('Y/m/d G:i', 1474832961, '')\n#2 /usr/share/centreon/www/main.php(197): include_once('/usr/share/cent...')\n#3 {main}\n thrown in /usr/share/centreon/www/class/centreonGMT.class.php on line 205, referer: http://172.16.209.80/centreon/
[Sun Sep 25 21:49:22.215978 2016] [:error] [pid 7976] [client 172.16.209.1:51270] PHP Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Invalid date.timezone value 'Europe/ Paris', we selected the timezone 'UTC' for now.' in /usr/share/centreon/www/class/centreonGMT.class.php:205\nStack trace:\n#0 /usr/share/centreon/www/class/centreonGMT.class.php(205): DateTime->__construct()\n#1 /usr/share/centreon/www/include/common/javascript/autologoutXMLresponse.php(56): CentreonGMT->getDate('Y/m/d G:i', 1474832962, '')\n#2 {main}\n thrown in /usr/share/centreon/www/class/centreonGMT.class.php on line 205, referer: http://172.16.209.80/centreon/main.php?
En y regardant de plus près, on constate un espace supplémentaire entre le slash et Paris. Cet erreur de saisie n'est pas détectée lors de l'installation en mode Web de Centreon. Pour corriger ce bug, il suffit de modifier le champ date.timezone. Pour la distribution Centreon, vous devez modifier le fichier /etc/php.ini et pour Debian, vous devez modifier le fichier /etc/php5/apache2/php.ini.
Le format de la chaine de caractères du fuseau horaire doit être comme ceci sans espace entre le slash
Continent/Ville
Pour terminer, n'oubliez pas de relancez le serveur web apache. Pour la distribution Centreon
service httpd reload
Pour debian
service apache2 reload
Sources
Support des dates et heures
Liste des Fuseaux Horaires Supportés
Raspberry Pi 3, une framboise survitaminée pour Centreon
En attendant un dépôt spécifique pour Raspbian, je vous souhaite une bonne installation
Rendre accessible le menu NagVis dans Centreon 2.7x
Avec la nouvelle version 1.8.5 de NagVis, il n'était plus possible d'utiliser cette version avec Centreon. Le problème est dû à l'utilisation de fonctions identiques de la part de NagVis et de Centreon. Je vous propose une solution pour vous permettre d'utiliser cette version de NagVis avec Centreon.
Ajoutez les beaux widgets à votre supervision !
Centreon Web 2.7 is out !
Que la force soit avec vous pour l'installation de cette nouvelle version