Partie IX. Installer Pnp4Nagios
Précédent ACCUEIL
Suivant

IX. INSTALLER PNP4NAGIOS

Les manipulations qui suivent sont réalisées sur le serveur de supervision Icinga (Distribution CentOS 6.x).

9.1 - Les dépendances pour la CentOS

Les paquets suivants doivent être installés :

# yum install rrdtool rrdtool-perl rrdtool-php rrdtool-devel php-gd

9.2 - Compiler et installer Pnp4Nagios

Tapez les commandes suivantes :

# cd /usr/local/src
# wget http://sourceforge.net/projects/pnp4nagios/files/PNP-0.6/ \
  pnp4nagios-0.6.21.tar.gz
# tar xvzf pnp4nagios-0.6.21.tar.gz
# rm pnp4nagios-0.6.21.tar.gz
# cd pnp4nagios-0.6.21
# ./configure --prefix=/usr/local/pnp4nagios
              --with-nagios-user=icinga
              --with-nagios-group=icinga
              --with-rrdtool=/usr/bin/rrdtool
# make all
# make install
# make install-webconf
# make install-config
# make install-init

9.3 - Configurer Pnp4Nagios

Utilisez les exemples des fichiers de configuration :

# cd /usr/local/pnp4nagios/etc
# mkdir /root/backup/pnp4nagios
# cp npcd.cfg process_perfdata.cfg rra.cfg-sample config.php /root/backup/pnp4nagios
# mv rra.cfg-sample rra.cfg

Modifiez le fichier [/usr/local/pnp4nagios/etc/npcd.cfg] :

# vim npcd.cfg
  user = icinga
  group = icinga
  log_type = file
  log_level = -1
  load_threshold = 10.0

Modifiez le fichier [/usr/local/pnp4nagios/etc/config.php] :

# vim config.php
  $conf['nagios_base'] = "/icinga/cgi-bin";

Éditez le fichier [/usr/local/pnp4nagios/etc/process_perfdata.cfg] puis commentez les lignes suivantes :

# vim process_perfdata.cfg
  # PREFORK = 1
  # GEARMAN_HOST = localhost:4730
  # REQUESTS_PER_CHILD = 10000
  # ENCRYPTION = 1
  # KEY = should_be_changed
  # KEY_FILE = /usr/local/pnp4nagios/etc/secret.keys

Modifiez le fichier [/usr/local/icinga/etc/icinga.cfg] :

# cp icinga.cfg /root/backup/pnp4nagios/
# vim icinga.cfg
  process_performance_data=1

  host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
  service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata

  service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\
  tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::
  $SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\
  tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\
  tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$

  host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\
  tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::
  $HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$

  service_perfdata_file_mode=a
  host_perfdata_file_mode=a

  service_perfdata_file_processing_interval=30
  host_perfdata_file_processing_interval=30

  service_perfdata_file_processing_command=process-service-perfdata-file
  host_perfdata_file_processing_command=process-host-perfdata-file

Modifiez le fichier [/usr/local/icinga/etc/resource.cfg] :

# vim resource.cfg
  $USER5$=/bin
  $USER6$=/usr/local/pnp4nagios/var

9.4 - Créer les commandes de Pnp4Nagios dans NagiosQL

L'utilisation des commandes de Pnp4Nagios passe par leur création dans NagiosQL.

note Avertissement !

Attention ! Avant de créer les commandes du "Tableau 1" pour Pnp4Nagios, renommez les anciennes commandes "process-host-perfdata" et "process-service-perfdata" puis désactivez-les.

Démarrez NagiosQL.

Menu "Commandes" => "Définitions".

Tableau 1 - Les commandes pour Pnp4Nagios

Rubriques Valeur
Commande * process-host-perfdata-file
Ligne de commande * $USER5$/mv $USER6$/host-perfdata $USER6$/spool/host-perfdata.$TIMET$
Type de commande autres commandes
Groupe d'accès Accès sans restriction
Enregistré A cocher
Actif A cocher
Commande * process-service-perfdata-file
Ligne de commande * $USER5$/mv $USER6$/service-perfdata $USER6$/spool/service-perfdata.$TIMET$
Type de commande autres commandes
Groupe d'accès Accès sans restriction
Enregistré A cocher
Actif A cocher

Menu "Outis" => "Contrôle de Nagios"

Cliquez sur les quatre boutons.

Figure 38 - Commandes Pnp4Nagios

Commandes Pnp4Nagios

9.5 - Tester la configuration

Modifiez le fichier "[/etc/httpd/conf.d/pnp4nagios.conf]" :

# cp /etc/httpd/conf.d/pnp4nagios.conf /root/backup/pnp4nagios/
# vim /etc/httpd/conf.d/pnp4nagios.conf
  ....................
  AuthUserFile /usr/local/icinga/etc/htpasswd.users
  ....................

Redémarrez Apache. Ajoutez le service "npcd" puis démarrez-le. Ce service (Nagios-Perfdata-C-Daemon) fournit un mode asynchrone dans le traitement des données de performance d'Icinga.

# service httpd restart
# chkconfig --add npcd
# service npcd start

Démarrez un navigateur puis tapez l'adresse : "http://esx10.sm.fr/pnp4nagios/".

Figure 39 - Tester Pnp4Nagios

Tester Pnp4Nagios

Une fenêtre de diagnostic apparaît. Si tout est "OK" et que vous obtenez un cadre "vert" en bas de page, vous pouvez supprimer le fichier "install.php" qui se trouve dans le répertoire "[/usr/local/pnp4nagios/share/]".

# rm -fr /usr/local/pnp4nagios/share/install.php

9.6 - Intégrer Pnp4Nagios dans Icinga

Pour obtenir une prévisualisation lorsque vous survolerez l'icône "engrenage" dans l'interface, créez les "modèles" suivants dans "NagiosQL" :

Menu "Supervision" => "Modèles d'hôte".

Cliquez sur le bouton "Ajouter".

Tableau 2 - Ajouter le modèle "pnp-host"

Rubriques Onglet "Paramètres communs"
Nom du modèle pnp-host

Cliquez sur l'onglet "Paramètres optionnels".

Rubriques Onglet "Paramètres optionnels"
URL d'action /pnp4nagios/graph?host=$HOSTNAME$' class='tips' rel='/pnp4nagios/popup?host= $HOSTNAME$&srv=_HOST_

Cliquez sur le bouton "Sauvegarder".

Menu "Supervision" => "Modèles de service".

Cliquez sur le bouton "Ajouter".

Tableau 3 - Ajouter le modèle "pnp-service"

Rubriques Onglet "Paramètres communs"
Nom du modèle pnp-service

Cliquez sur l'onglet "Paramètres optionnels".

Rubriques Onglet "Paramètres optionnels"
URL d'action /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/popup?host= $HOSTNAME$&srv=$SERVICEDESC$

Cliquez sur le bouton "Sauvegarder".

Menu "Outis" => "Contrôle de Nagios"

Cliquez sur les trois premiers boutons. Le redémarrage d'Icinga se fera manuellement.

Copiez le fichier "[/usr/local/src/pnp4nagios-0.6.21/contrib/ssi/status-header.ssi]" dans le répertoire "[/usr/local/icinga/share/ssi/]".

Modifiez le propriétaire et les droits sur "/usr/local/icinga/share/ssi/status-header.ssi".

# chown icinga:icinga /usr/local/icinga/share/ssi/status-header.ssi
# chmod a+r /usr/local/icinga/share/ssi/status-header.ssi

Redémarrez le service "icinga".

# service icinga restart

9.7 - Utiliser les modèles "pnp-host" et "pnp-service"

Pour visualiser graphiquement les données remontées par les services, ajoutez le modèle "pnp-host" à vos hôtes et le modèle "pnp-service" aux services concernés.

Menu "Supervision" => "Host".

Ligne "localhost", cliquez sur l'icône "Modifier". Rubrique "Nom du modèle", sélectionnez "pnp-host" puis cliquez sur le bouton "Insérer". Cliquez ensuite sur le bouton "Sauvegarder".

Menu "Supervision" => "Services".

Ligne "localhost PING", cliquez sur l'icône "Modifier". Rubrique "Nom du modèle", sélectionnez "pnp-service" puis cliquez sur le bouton "Insérer". Cliquez ensuite sur le bouton "Sauvegarder".

Menu "Outis" => "Contrôle de Nagios"

Cliquez sur les quatre boutons.

Visualisez le résultat dans Icinga !

Figure 40 - Pnp4Nagios et localhost

Pnp4Nagios et localhost


Auteurs : Eddy et Stéphane Maas / 2013-2023
Précédent ACCUEIL Suivant