PNP est l’acronyme de PNP is NOT Perfparse. Il permet de récupérer la partie performance de la sortie des plugins et d’injecter ces valeurs dans des bases rrdtool puis de les grapher via un front-end écrit en PHP. Il est en cela comparable à d’autres outils comme NagiosGraph, NagiosGrapher, N2RRD voir dans une moindre mesure Cacti.
Il faut bien sur s’assurer que RRDtool soit installé
sudo apt-get install rrdtool librrds-perl
Ensuite, la compilation et l’installation proprement dite
wget http://kent.dl.sourceforge.net/sourceforge/pnp4nagios/pnp-0.4.14.tar.gz tar -xzf pnp-0.4.14.tar.gz pushd pnp-0.4.14 ./configure --with-perfdata-dir=/usr/local/nagios/var/perfdata/ --with-init-dir=/etc/init.d/ make all sudo make install sudo make install-config
Ce qui nous intéresse est le Mode Bulk avec le NPCD. La raison de notre choix c’est que ça allège considérablement Nagios vu que c’est le démon NPCD qui fait tout le boulot. Nagios n’a juste qu’à écrire les perfdata dans les fichiers.
*** Main program, Scripts and HTML files installed *** Please run 'make install-init' if you want to use BULK Mode with NPCD make install-init
Les fichiers installés sont les suivants:
Notre configuration sera orienté en Bulk Mode avec le démon NPCD, ce système est un peu plus complexe à mettre en oeuvre mais sur de grosses architectures, il est fortement recommandé.
Dans votre nagios.cfg
process_performance_data=1 # # service performance data # service_perfdata_file=/usr/local/nagios/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$\tSERVICEOUTPUT::$SERVICEOUTPUT$ service_perfdata_file_mode=a service_perfdata_file_processing_interval=15 service_perfdata_file_processing_command=process-service-perfdata-file # # host performance data starting with Nagios 3.0 # host_perfdata_file=/usr/local/nagios/var/host-perfdata host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tHOSTOUTPUT::$HOSTOUTPUT$ host_perfdata_file_mode=a host_perfdata_file_processing_interval=15 host_perfdata_file_processing_command=process-host-perfdata-file
Dans le commands.cfg, déclarez les 2 commandes suivantes :
define command{ command_name process-service-perfdata-file command_line /bin/mv /usr/local/nagios/var/service-perfdata /usr/local/nagios/var/spool/perfdata/service-perfdata.$TIMET$ } define command{ command_name process-host-perfdata-file command_line /bin/mv /usr/local/nagios/var/host-perfdata /usr/local/nagios/var/spool/perfdata/host-perfdata.$TIMET$ }
Concernant les modifications à apporter à PNP :
cd /usr/local/nagios/etc/pnp cp rra.cfg-sample rra.cfg cp npcd.cfg-sample npcd.cfg
Pour votre hôte ou votre service, veuillez rajouter :
Exemple :
define host { name host-pnp register 0 action_url /nagios/pnp/index.php?host=$HOSTNAME$ } define service { name srv-pnp register 0 action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ }
Sur l’interface Web nagios vous verrez un icône apparaître
Comment fonctionne le Bulk Mode avec le démon npcd :
Voilà comment fonctionne en gros le Bulk Mode avec NPCD.