Voici donc un billet permettant l’installation de Pnp4Nagios 0.6.6 (dernière version disponible aujourd’hui) sur un serveur Nagios opérationnel (procédure validée pour Nagios 3.2.2).
Installation de pré-requis système
Sous un serveur “Debian like”, il faut installer les librairies suivantes:
sudo aptitude install rrdtool librrds-perl php5-gd
On doit avant l’installation configurer une variable posant problème dans le module PHP d’apache en éditant le fichier /etc/php5/apache2/php.ini:
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = Off
Compilation de Pnp4Nagios
On récupère l’archive de la version 0.6.6 puis on lance la configuration:
wget https://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.6.tar.gz
tar zxvf pnp4nagios-0.6.6.tar.gz
cd pnp4nagios-0.6.6
./configure
On doit obtenir le résumé suivant (si ce n’est pas le cas, il doit y avoir d’autres dépendances système à installer):
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
Puis on compile/installe:
make all
sudo make install
sudo make install-webconf
sudo make install-config
sudo /etc/init.d/apache2 restart
Configuration de Nagios pour prendre en compte Pnp4Nagios
On commence par éditer le fichier /usr/local/nagios/etc/nagios.cfg:
process_performance_data=1
service_perfdata_file=/usr/local/nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNA
ME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\t
SERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYP
E::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTAT
ETYPE$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file
host_perfdata_file=/usr/local/nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$H
OSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHO
STSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
Puis on prends en compte le répertoire des plugins Pnp4Nagios en ajoutant la ligne suivante (à adapté si USER2 est déjà configuré) dans le fichier /usr/local/nagios/etc/objects/resource.cfg:
# Sets $USER2$ to be the path to the PNP4Nagios plugins
$USER2$=/usr/local/pnp4nagios/libexec
Enfin on configure le plugin dans le fichier /usr/local/nagios/etc/objects/commands.cfg (attention il y à deux – avant le bulk… Wodpress n’en affiche qu’un…):
# PNP4nagios
define command{
command_name process-service-perfdata-file
command_line $USER2$/process_perfdata.pl –bulk=/usr/local/nagios/var/service-perfdata
}
define command{
command_name process-host-perfdata-file
command_line $USER2$/process_perfdata.pl –bulk=/usr/local/nagios/var/host-perfdata
}
On relance enfin Nagios pour prendre en compte la configuration:
sudo /etc/init.d/nagios restart
Configuration de Pnp4Nagios
La configuration se fait en accèdant à l’URL suivante: http://monserveurweb.com/pnp4nagios/
Le script install.php devrait être executé. Il fait un check de votre configuration. Si tout est vert, tout est ok
Dans ce cas, il est prudent de supprimer ce script:
sudo rm /usr/local/pnp4nagios/share/install.php
Utilisation de Pnp4Nagios
On accède à Pnp4Nagios à partir de la même URL: http://monserveurweb.com/pnp4nagios/
Après quelques minutes, les graphes devrait se mettre à jour.
Que faire en cas de problème ?
Pnp4Nagios fourni un outil pour investiguer les erreurs éventuelles de configuration. Il suffit de lancer la commande suivante:
/usr/local/pnp4nagios/libexec/verify_pnp_config.pl -e -m bulk
Et voili, que les graphes soient !