Table of Contents
Mise à jour en version 0.6.x
L'interface web a été complètement réécrite et est maintenant basée sur le gestionnaire PHP Kohana. Ce changement a eu des conséquences sur les dépendances qui doivent être vérifiées avant la mise à jour.
NB: Dans un premier temps, la mise à jour fonctionne comme une nouvelle installation. Ce n'est qu'après que nous verrons les changements spécifiques.
Auparavant, si nous n'utilisions aucune option avec le ./configure
, PNP s'installait par défaut dans /usr/local/nagios
.
Dorénavant, le ./configure
de PNP 0.6.x s'installe dans le répertoire /usr/local/pnp4nagios
. Il est donc maintenant vu comme une application à part.
NB: Il suffit simplement de recopier les anciens fichiers rrd de l'ancien emplacement au nouveau. Ce sont eux qui contiennent les données. Pour les fichiers *.xml, ces derniers sont recréés à chaque mise à jour. Comme la structure interne de ces fichiers a changé, vous ne pourrez pas les utiliser tel quel.
Comparaison des répertoires
Sommaire d'une installation de PNP 0.4.14 :
./configure ... *** Configuration summary for pnp 0.4.14 05-02-2009 *** General Options: ------------------------- ------------------- Nagios user/group: nagios nagios Install directory: /usr/local/nagios HTML Dir: /usr/local/nagios/share/pnp Config Dir: /usr/local/nagios/etc/pnp Location of rrdtool binary: /usr/bin/rrdtool Version 1.3.1 RRDs Perl Modules: FOUND (Version 1.3001) RRD Files stored in: /usr/local/nagios/share/perfdata process_perfdata.pl Logfile: /usr/local/nagios/var/perfdata.log Perfdata files (NPCD) stored in: /usr/local/nagios/var/spool/perfdata/
Sommaire d'une installation PNP 0.6.0 :
./configure ... *** Configuration summary for pnp4nagios-0.6.0 07-30-2009 *** General Options: ------------------------- ------------------- Nagios user/group: nagios nagios Install directory: /usr/local/pnp4nagios HTML Dir: /usr/local/pnp4nagios/share Config Dir: /usr/local/pnp4nagios/etc Location of rrdtool binary: /usr/bin/rrdtool Version 1.3.1 RRDs Perl Modules: FOUND (Version 1.3001) RRD Files stored in: /usr/local/pnp4nagios/var/perfdata process_perfdata.pl Logfile: /usr/local/pnp4nagios/var/perfdata.log Perfdata files (NPCD) stored in: /usr/local/pnp4nagios/var/spool Web Interface Options: ------------------------- ------------------- HTML URL: http://localhost/pnp4nagios/ Apache Config File: /etc/apache2/conf.d/pnp4nagios.conf
Regardez bien ces lignes de paramètres et si elles correspondent bien à votre stratégie de migration.
Ajustements
Les paramètres de l'option action_url ont changés. Au lieu de “/nagios/pnp”, l'URL est devenue “/pnp4nagios” et au lieu de “index.php”, il faut maintenant utiliser “graph”.
define host { name host-pnp register 0 action_url /pnp4nagios/graph?host=$HOSTNAME$ } define service { name srv-pnp register 0 action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ }
La définition du popup de prévisualisation a changée de la même manière :
define host { name host-pnp action_url /pnp4nagios/graph?host=$HOSTNAME$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$ register 0 } define service { name srv-pnp action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 }
Attention: Ce n'est pas une erreur que la chaîne avant et après “class” ne contienne qu'un seul quote (').
Ceci peut-être utilisé indifféremment avec Nagios 2.x et 3.x.
Les variables dans les fichiers du répertoire template doivent être absolument initialisées avant la première utilisation.
Exemple :
$lower = ""
Auparavant, vous étiez en mesure de concaténer des variables qui n'étaient pas initialisées.
Exemple:
foreach ($DS as $i) { $def[1] .= "DEF:var$i=$rrdfile:$DS[$i]:AVERAGE " ;
Il faut maintenant changer ceci en :
$def[1] = ""; foreach ($DS as $i) { $def[1] .= "DEF:var$i=$rrdfile:$DS[$i]:AVERAGE " ;
Les constantes dans les fichiers de template ne fonctionnent plus. Il faut maintenant les convertir en variables :
define("_WARNRULE", '#FFFF00');
sera changé en
$WARNRULE = '#FFFF00';
Il faudra, bien sûr, penser à changer toutes les occurrences de votre constante .
Scénario de migration en utilisant NPCD
- Configurer la nouvelle plateforme
- procéder à une nouvelle installation et préparez vous à ce nouveau fonctionnement
- faîte une sauvegarde de l'ancienne installation
- installer PNP 0.6.x dans le répertoire
/usr/local/pnp4nagios
- make install-config
- make install-webconf
- recharger apache
- tester la configuration Apache
- l'appel à
/pnp4nagios
vous renverra que les répertoires de données de performance vides
- créer
/usr/local/pnp4nagios/etc/npcd.cfg
depuisnpcd.cfg-sample
- vérifier les chemins et adapter en fonction de ceux de la version 0.4.x si besoin
- ajuster les chemins dans nagios.cfg pour pointer sur la nouvelle installation de PNP
- ajuster les chemins dans la définition des commandes
- stopper npcd à l'aide de
/etc/init.d/npcd stop
make install-init
installe le nouveau script init de npcd/etc/init.d/nagios stop
- copier
/usr/local/nagios/share/perfdata
to/usr/local/pnp4nagios/var/perfdata
. Attention: faîtes gaffe aux permissions ! /etc/init.d/npcd start
/etc/init.d/nagios start