Vous êtes ici:

Menu

Des graphes avec PNP4nagios

Stacks Image 6091
Il nous faut maintenant installer un système pour visualiser des graphes de performances. Ce programme devra être assez light et ne pas utiliser de base de données. J'ai donc choisi PHP4nagios qui plus est, fonctionne avec Lighttpd.

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
Stacks Image 6249
Saisir l'utilisateur nagiosadmin et votre mot de passe
Vous devriez obtenir la vue suivante sans erreur.
Stacks Image 6246
PNP4nagios est bien installé
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
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$
}

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
}

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
}

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 :
Stacks Image 6288
PNP4nagios est bien installé, les graphes sont actifs
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

comments powered by Disqus
 Vous êtes ici: