Derniers Articles
Vous êtes ici : Accueil / Tutoriaux / Administration Systèmes / Administration / Shinken 2 Installation de PNP4Nagios

Shinken 2 Installation de PNP4Nagios

Suite à l’article Shinken 2 procédure d’installation il nous faut intégrer à notre environnement de supervision, un outil de monitoring. PNP4Nagios permet de récupérer les valeurs de performance des plugins et de les injecter dans des bases rrdtool puis de créer des graphiques via une interface en PHP. Voir la page consacrée à PNP4nagios sur le site Wiki Monitoring-FR.org.

Cette installation nous permettra d’avoir les graphiques de performances de nos différents plugins directement dans l’interface de Shinken :


Capture de PNP4Nagios dans l’interface de Shinken

Installation :

Les prérequis :

Il nous faut avant tout installer les prérequis. Depuis sa version 2, Shinken utilise son propre moteur d’interface web, apache et php ne sont donc pas encore installés.


1 apt-get install apache2 php5 libapache2-mod-php5 rrdtool librrds-perl php5-gd -y

Compilation de Pnp4Nagios :

Dans un premier temps, en root, dans le dossier de votre choix, on se procure les sources :


1
2

3

wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.24.tar.gz
tar -xzf pnp4nagios-0.6.24.tar.gz

cd pnp4nagios-0.6.24/

Lors de l’étape de configuration de la compilation, on indique que l’on veut que PNP s’authentifie avec l’utilisateur Shinken :


1 ./configure –with-nagios-user=shinken –with-nagios-group=shinken

Vérifier le résultat de la commande à la fin :

General Options:
————————-         ——————-
Nagios user/group:                shinken shinken
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

Il ne reste plus qu’à compiler et installer.
D’abord la compilation des binaires :


1 make all

Puis l’installation de tout ce qu’il faut :


1 make fullinstall

 Configuration de l’interface Web

Le fichier de configuration d’Apache fourni par défaut utilise l’authentification de Nagios. l’UI de Shinken n’utilise pas Apache, ces directives doivent donc être adaptées en conséquence. Pour simplement supprimer l’authentification, commenter les lignes suivantes dans le fichier de configuration d’Apache /etc/apache2/conf.d/pnp4nagios.conf :


1
2

3

4

# AuthName « Nagios Access »
# AuthType Basic

# AuthUserFile /usr/local/nagios/etc/htpasswd.users

# Require valid-user

Si le fichier n’existe pas (Debian 8), le modifier à cet emplacement : /etc/httpd/conf.d/pnp4nagios.conf et le copier dans le dossier sites-available (voir dans les commentaires, merci Lionel).

cp -a /etc/httpd/conf.d/pnp4nagios.conf /etc/apache2/sites-available/
a2ensite pnp4nagios

On active également le mode rewrite d’Apache qui est utilisé par PNP et on redémarre le service Apache :


1
2
a2enmod rewrite
service apache2 restart

On peut maintenant vérifier que tout est correctement installé en se rendant sur l’interface, on doit avoir que du vert : http://LESERVEUR/pnp4nagios

Si vous avez l’erreur 403 « You don’t have permission to access /pnp4nagios on this server », il faut modifier la ligne « Require all denied » par « Require all granted » dans le fichier /etc/apache2/apache2.conf (voir dans les commentaires, merci Romain). Puis

service apache2 restart

Il faut maintenant supprimer ou renommer le fichier install.php :


1 mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.old

Si on retourne maintenant sur l’interface de PNP, on a le message d’erreur suivant : « perfdata directory « /usr/local/pnp4nagios/var/perfdata/ » is empty ». C’est normal, il faut maintenant installer le module Shinken qui va transmettre les données à PNP.

 Installation des modules Shinken :

On s’authentifie avec notre utilisateur Shinken puis on installe les modules requis :


1
2

3

su shinken
shinken install npcdmod

shinken install ui-pnp

On active le module npcmod dans le fichier de configuration du broker /etc/shinken/brokers/broker-master.cfg :


1 modules     webui,npcdmod

On ajoute la prise en charge du module ui-pnp dans le fichier de configuration de l’interface de Shiken /etc/shinken/modules/webui.cfg :


1 modules              auth-cfg-password,SQLitedb,ui-pnp

On revient en root et on redémarre les services :


1
2
/etc/init.d/npcd restart
/etc/init.d/shinken restart

Vérifications :

On retourne sur l’interface web de PNP4Nagios et on vérifie que le service fonctionne correctement (http://LESERVEUR/pnp4nagios) .

Si vous avez un message d’erreur comme quoi le répertoire perfdata est vide, attendez quelques minutes, s’il n’y a pas de changement, vérifier la configuration de votre Shinken et le bon fonctionnement des checks.


Interface web de PNP4Nagios

On peut maintenant vérifier que l’intégration à Shinken fonctionne correctement :


PNP4Nagios intégré à l’interface de Shinken

Si cela ne fonctionne pas, il se peut que le problème vienne d’une mauvaise résolution du nom de machine. Vous pouvez modifier le fichier /etc/shinken/modules/ui-pnp.cfg et changer l’URL en remplaçant le nom de machine par l’IP.

Un commentaire

Répondre

Votre adresse email ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

shared on wplocker.com