Les manipulations qui suivent sont réalisées sur le serveur de supervision Icinga (Distribution CentOS 6.x).
Les paquets suivants doivent être installés :
#
yum install rrdtool rrdtool-perl rrdtool-php rrdtool-devel php-gd
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
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
L'utilisation des commandes de Pnp4Nagios passe par leur création dans NagiosQL.
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".
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.
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/".
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
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".
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".
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
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 !