Voici un tutoriel vous expliquant la mise à jour d'une installation Nagvis sur Centreon 20.04. Nagvis aura été installé comme je l'indique dans mes tutoriaux précédents.
1 Mise à jour de Nagvis
Par convention, nous utiliserons le chemin d'installation de centreon /usr/share/centreon et pour Nagvis /usr/share/nagvis.
1.1 Installation de Nagvis 1.9.23
Téléchargez la dernière version stable 1.9.23 de NagVis.
cd /usr/local/src wget http://www.nagvis.org/share/nagvis-1.9.23.tar.gz tar xzf nagvis-1.9.23.tar.gz cd nagvis-1.9.23
1.2 Installation de la nouvelle version
Procédez à la mise à jour de NagVis. J'utilise l'installation silencieuse.
Debian
./install.sh -q -n /usr/sbin -p /usr/share/nagvis -u www-data -g www-data -w /etc/apache2/conf-available -a nCENTREON
./install.sh -q -n /usr/sbin -p /usr/share/nagvis -u apache -g apache -w /opt/rh/httpd24/root/etc/httpd/conf.d -a n
Laissez par défaut pour la question de mise à jour du backend.
| Do you want to update the backend configuration? [n]:
1.3 Récupération du backend centreon.
L'installation est terminée, l'accès à Nagvis ne fonctionne plus.
Il faut récupérer le fichier backend de Centreon de l'ancienne installation. Lors de la mise à jour, Nagvis a réalisé un backup de l'ancienne installation comme on peut le voir ci-dessous :
ls -ld /usr/share/nagvis* drwxr-xr-x 5 www-data www-data 4096 nov. 24 17:08 /usr/share/nagvis drwxr-xr-x 5 www-data www-data 4096 nov. 23 15:41 /usr/share/nagvis.old-2020-11-24_17:08:43
Déplacer le fichier GlobalBackendcentreonbroker.php comme ceci :
mv /usr/share/nagvis.old-*/share/server/core/classes/GlobalBackendcentreonbroker.php /usr/share/nagvis/share/server/core/classes/
Remplacer le fichier /usr/share/nagvis/share/server/core/defines/global.php pour remettre le mode d'authentification commun à Centreon et Nagvis.
cp /usr/share/nagvis.old-*/share/server/core/defines/global.php /usr/share/nagvis/share/server/core/defines/
1.4 Modification de Nagvis
L'accès à Nagvis via le module Centreon ne fonctionne plus.
Plusieurs fonctions de NagVis version 1.9.x ont des noms identiques avec Centreon provoquant une incompatibilité de fonctionnement. Cela se traduit par une page blanche dans le menu Nagvis. Modifions les fichiers, placez-vous à la racine du dossier de base nagvis.
cd /usr/share/nagvis/ sed -i -e "s/get_error/get_error_nagvis/g" ./share/server/core/functions/html.php sed -i -e "s/debug(/debug_nagvis(/g" ./share/server/core/ext/php-gettext-1.0.12/gettext.inc sed -i -e "s/debug(/debug_nagvis(/g" ./share/server/core/classes/CoreAuthorisationHandler.php sed -i -e "s/debug(/debug_nagvis(/g" ./share/server/core/classes/GlobalLanguage.php sed -i -e "s/debug(/debug_nagvis(/g" ./share/server/core/classes/CoreAuthHandler.php sed -i -e "s/debug(/debug_nagvis(/g" ./share/server/core/classes/CorePDOHandler.php sed -i -e "s/debug(/debug_nagvis(/g" ./share/server/core/functions/debug.php sed -i -e "s/microtime_float(/microtime_float_nagis(/g" ./share/server/core/functions/debug.php
1.5 Mise en place des maps
La mise à jour à jour rajoute les maps exemple.
Pour ma part, j'efface les fichiers du dossier /usr/share/nagvis/etc/maps et je déplace les anciens fichiers du backup.
rm /usr/share/nagvis/etc/maps/* mv /usr/share/nagvis.old-2020-11-24_17\:08\:43/etc/maps/* /usr/share/nagvis/etc/maps/
Nagvis doit fonctionner sans problème.