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 :

PNP4Nagios 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.

Compilation de Pnp4Nagios :

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

Lors de l’étape de configuration de la compilation, on indique que l’on veut que PNP s’authentifie avec l’utilisateur 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 :

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

 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 :

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 :

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 :

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 :

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

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 :

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

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 de PNP4Nagios

Interface web de PNP4Nagios

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

PNP4Nagios Shinken WebUI

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.

😀

9 réponses à “Shinken 2 Installation de PNP4Nagios”

  1. Samuel Poggioli dit :

    Vérifiez le fonctionnement d’Apache puis vérifiez l’alias pour pnp4nagios qui est configuré dans le fichier /etc/apache2/conf.d/pnp4nagios.conf. Pour moi j’ai l’alias pnp4nagios qui pointe vers /usr/local/pnp4nagios/share. @Serguei Dans mon test je suis sur une Debian, le chemin d’apache varie d’une distribution à une autre.

  2. Romain Boudot dit :

    Voila une solution pour les différents problèmes :
    Comme le dit Lionel, pour le répertoire, il faut le fichier pnp4nagios.conf dans apache et activer le site.

    Pour 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 de apache2.conf qui se trouve dans /etc/apache2/

    Avec ces 2 corrections le site devrait être fonctionnel.

    En espérant que cela vous sera utile.

  3. Samuel Poggioli dit :

    Merci pour ces précisions. Vous êtes sur quelle distribution pour avoir cette configuration par défaut ?

  4. Romain Boudot dit :

    Je suis sur une Ubuntu 14.04

  5. Thomas Boulanger dit :

    Bonjour,

    Je rencontre un problème lors de l’installation du package npcmod celui m’indique que le paquet en question ne peut être trouvé.

  6. Samuel Poggioli dit :

    L’installation du package ui-pnp fonctionne ?

  7. jeancloud dit :

    Très bonne doc, merci…je l’ai adaptée pour une Centos 7.

  8. cyril talbot dit :

    Bonjour, moi j’ai se massage est je trouve pas la solution:
    500 Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator at webmaster@localhost to inform them of the time this error occurred, and the actions you performed just before this error.
    More information about this error may be available in the server error log.
    de plus quand je veut installer ça
    shinken install npcdmod
    shinken install ui-pnp
    j’ai ce message:
    File « /usr/bin/shinken », line 541, in
    main()
    File « /usr/bin/shinken », line 537, in main
    CLI.one_loop(command_args)
    File « /usr/bin/shinken », line 317, in one_loop
    f(*cmd_args, **cmd_opts.__dict__)
    File « /var/lib/shinken/cli/shinkenio/cli.py », line 586, in do_install
    install_package(pname, raw)
    File « /var/lib/shinken/cli/shinkenio/cli.py », line 472, in install_package
    shutil.rmtree(mod_dest)
    File « /usr/lib/python2.7/shutil.py », line 252, in rmtree
    onerror(os.remove, fullname, sys.exc_info())
    File « /usr/lib/python2.7/shutil.py », line 250, in rmtree
    os.remove(fullname)
    OSError: [Errno 13] Permission denied: ‘/var/lib/shinken/modules/npcdmod/__init__.pyc’
    Je ne voie pas se que je doit modifier dans ces lignes pour corriger je suis logger avec l’utilisateur shinken et j’ai le bon mot de passe mais il en veut pas!!
    Merci de me venir en aide, je suis en VM sur VirtalBox avec ubuntu lts 14.04.3 et j’ai installé la derniere version de shinken, je fait cette exercice pour mon maitre de stage, je fini ce vendredi et j’aimerai finir, si quelqu’un peut me venir en aide cela m’aiderai….

  9. Js dit :

    Merci pour cet excellent tutoriel ! Tout fonctionne à l’heure d’aujourd’hui sur Debian 7.2 et avec Shinken 2.4.3.

    Pour un meilleur confort lors de l’utilisation de la web UI, je conseille d’installer WebUI2, qui est bien plus sympa à utiliser !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *