Des graphes avec PNP4nagios
Installation
Toutes les commandes suivantes se feront en mode root. Pour commencer, il faudra installer les paquets prérequis pour PNP4nagios :
apt-get install rrdtool librrds-perl php5-gd
Ensuite récupérez les binaires sur le site de PNP4nagios. Copiez les binaires sur le raspberry. Exécutez les commandes suivantes :
tar xzf pnp4nagios-0.6.21.tar.gz cd pnp4nagios-0.6.21/
Compilation
Compilez ensuite les binaires. Installer PNP4nagios dans le dossier /usr/local/pnp4nagios. Nous utiliserons deux autres commandes pour installer les fichiers du deamon NPCD et les fichiers de configuration nécessaires au fonctionnement de celui-ci.
./configure --prefix=/usr/local/pnp4nagios --with-nagios-user=nagios --with-nagios-group=nagios make all make install make install-init make install-config
Initialisez le démarrage automatique du service PNP4nagios
update-rc.d npcd defaults
Configuration du serveur Web
Modifier le fichier de configuration de Lighttpd pour PNP4nagios. Rajouter les lignes suivantes à /etc/lighttpd/lighttpd.conf
# pnp4nagios configuration for lighttpd alias.url += ( "/pnp4nagios" => "/usr/local/pnp4nagios/share", ) $HTTP["url"] =~ "^/pnp4nagios" { auth.backend = "htpasswd" auth.backend.htpasswd.userfile = "/etc/nagios3/htpasswd.users" auth.require = ( "" => ( "method" => "basic", "realm" => "nagios", "require" => "valid-user", ) ) }
Redémarrez le serveur
service lighttpd restart
Vérification de la configuration
Avec votre navigateur, saisissez l'adresse suivante : http://[Ip du rapsberry]/pnp4nagios
Vous devriez obtenir la vue suivante sans erreur.
Supprimez le fichier /usr/local/pnp4nagios/share/install.php
Configuration Nagios
Afin d'activer les données de performance de Nagios, il faut modifier le fichier de configuration de Nagios. Modifiez /etc/nagios3/nagios.cfg
process_performance_data=1
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
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_mode=a
service_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
service_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
service_perfdata_file_processing_command=process-service-perfdata-file
host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata
service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$
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_mode=a
service_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
service_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
service_perfdata_file_processing_command=process-service-perfdata-file
Ajouter les fichiers suivants dans le dossier /etc/nagios3/conf.d/
pnp-commands.cfg
define command{
command_name process-service-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}
define command{
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}
command_name process-service-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$TIMET$
}
define command{
command_name process-host-perfdata-file
command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$TIMET$
}
pnp-service-template.cfg
define service {
name srv-pnp
process_perf_data 1
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' target='main' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
name srv-pnp
process_perf_data 1
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' target='main' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register 0
}
pnp-host-template.cfg
define host {
name host-pnp
process_perf_data 1
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' target='main' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}
name host-pnp
process_perf_data 1
action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' target='main' class='tips' rel='/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_
register 0
}
Prise en compte de PNP4nagios pour les hôtes et services de Nagios
Pour la prise en compte de PNP4nagios, il suffit de rajouter host-pnp dans la définition d'un hôte comme ci-dessous :
define host{ use generic-host,host-pnp ; Name of host template to use host_name localhost alias localhost address 127.0.0.1 }
Pour la prise en compte de PNP4nagios dans chaque service, il suffit de rajouter srv-pnp dans la définition de chaque service comme ci-dessous :
define service{ use generic-service,srv-pnp ; Name of service template to use host_name localhost service_description Current Load check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0 }
Relancer Nagios pour prendre la nouvelle configuration et le deamon npcd pour PN4nagios pour activer les graphes.
service nagios3 restart service npcd start
Vérification du fonctionnement des graphes
Au bout de quelques minutes, en cliquant sur l'icône du graphe dans Nagios, vous obtiendrez de jolis graphes comme ci-dessous :
Nous avons terminé avec logiciel de notre supervision avec un raspberry mais ce n'est pas fini, l'article suivant vas nous permettre d'afficher les alertes des hôtes et des services de notre supervision.
Références
Installation de pnp-0.6 : http://wiki.monitoring-fr.org/nagios/addons/pnp/pnp-0.6
Configuration PNP4nagios avec Lighttpd : https://build.opensuse.org/package/view_file?file=pnp4nagios-lighttpd.conf&package=pnp4nagios&project=server%3Amonitoring&rev=0084e8c3fbc42d86640f9281a3f01c78
Configuration PNP4nagios avec Lighttpd : https://build.opensuse.org/package/view_file?file=pnp4nagios-lighttpd.conf&package=pnp4nagios&project=server%3Amonitoring&rev=0084e8c3fbc42d86640f9281a3f01c78