Vous êtes ici:

Menu


Intégration de PNP4nagios avec Thruk

Stacks Image 6091
Nous allons utiliser PNP4nagios pour afficher des graphes. Puis nous verrons l'intégration dans 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
Stacks Image 6249
Saisir l'utilisateur thrukadmin 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
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.
Stacks Image 14329
PNP4nagios sans configuration

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
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$
}

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
}
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
Stacks Image 6288
Fichiers dans /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.
Stacks Image 14423
Vos premiers graphes
Revenez à l'interface Thruk, les services sont associés à PNP4nagios avec l'icône "Perfom Extra Service Actions"
Stacks Image 14444
Cliquez sur une icône associée au service pour obtenir le graphe
Cliquez sur l'icône pour obtenir les graphes sur un deuxième onglet.
Stacks Image 14465
Graphes du service Current Load
Notre article est terminé, il reste à concevoir la possibilité de modifier graphiquement la configuration. à suivre...

Références

comments powered by Disqus
 Vous êtes ici: