Intégration de PNP4nagios avec Thruk
- Installation de Centreon-Clib
- Installation de Centreon-Connector
- Installation de Centreon-engine
- Installation des plugins
- Installation du broker MK livestatus et de l'interface Web Thruk
- Installation de l'interface Web et finalisation de la configuration de Thruk
- Installation de PNP4nagios et intégration avec Thruk
Installation
Pour commencer, il faudra installer les paquets prérequis pour PNP4nagios :
sudo apt-get install rrdtool librrds-perl php5-gd libapache2-mod-php5
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=centreon-engine --with-nagios-group=centreon-engine
Vous devriez avoir ce résultat :
*** Configuration summary for pnp4nagios-0.6.21 03-24-2013 *** General Options: ------------------------- ------------------- Nagios user/group: centreon-engine centreon-engine 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.4.7 RRDs Perl Modules: FOUND (Version 1.4007) 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 Review the options above for accuracy. If they look okay, type 'make all' to compile.
Compilez et installez pnp4nagios
make all sudo make install sudo make install-init sudo make install-webconf sudo make install-config
Initialisez le démarrage automatique du service PNP4nagios
sudo update-rc.d npcd defaults
Configuration du serveur Web
Modifier le fichier de configuration d'apache pour PNP4nagios. Nous modifierons l'accès au fichier htpasswd.users dans /etc/apache/conf.d/pnp4nagios.conf
sudo vi /etc/apache2/conf.d/pnp4nagios.conf
AuthName "Thruk Access" AuthType Basic AuthUserFile /home/thruk/Thruk/htpasswd.users Require valid-user
Redémarrez le serveur
sudo service apache2 reload
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
sudo rm /usr/local/pnp4nagios/share/install.php
Si vous relancez le navigateur, vous devriez avoir cette vue. Bien-sûr il manque la configuration que vous avoir voir maintenant.
Configuration Centreon-Engine
Afin d'activer les données de performance de Centreon-Engine, il faut modifier son fichier de configuration.
sudo vi /usr/local/centreon-engine/etc/centengine.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 /usr/local/centreon-engine/etc/objects/
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
}
Modifier le fichier de configuration Centreon-Engine pour prendre en compte ces fichiers.
# Definitions for PNP4Nagios cfg_file=/usr/local/centreon-engine/etc/objects/pnp-commands.cfg cfg_file=/usr/local/centreon-engine/etc/objects/pnp-service-template.cfg cfg_file=/usr/local/centreon-engine/etc/objects/pnp-host-template.cfg
Prise en compte de PNP4nagios pour les hôtes et services de Centreon-Engine
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 linux-server,hosts-pnp ; Name of host template to use. ; This host definition will inherit all variables ; that are defined in (or inherited by) the ; linux-server host template definition. 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 local-service,srv-pnp ; Name of service template to use. host_name localhost service_description PING check_command check_ping!100.0,20%!500.0,60% }
Relancer Centreon-Engine pour prendre la nouvelle configuration et le deamon npcd pour PN4nagios pour activer les graphes.
sudo service centengine restart sudo service npcd start
Vérification du fonctionnement des graphes
Au bout de quelques secondes, vous devriez apercevoir des fichiers dans le dossier /usr/local/pnp4nagios/var/spool
Patientez quelques minutes et avec votre navigateur, saisissez l'adresse suivante : http://[Ip du rapsberry]/pnp4nagios. Vous devriez obtenir quelques graphes, preuve du bon fonctionnement de PNP4nagios.
Revenez à l'interface Thruk, les services sont associés à PNP4nagios avec l'icône "Perfom Extra Service Actions"
Cliquez sur l'icône pour obtenir les graphes sur un deuxième onglet.
Notre article est terminé, il reste à concevoir la possibilité de modifier graphiquement la configuration. à suivre...
Références
La documentation officielle de PNP4nagios : http://docs.pnp4nagios.org/fr/pnp-0.6/install#installation_et_plus
Installation de pnp-0.6 : http://wiki.monitoring-fr.org/nagios/addons/pnp/pnp-0.6
Installation de pnp-0.6 : http://wiki.monitoring-fr.org/nagios/addons/pnp/pnp-0.6