Tut's GNU/Linux

[Debian 8] Découverte et utilisation de PNP4Nagios pour Shinken

Shinken peut utiliser des outils complémentaires, notamment pour décupler ses performances ou même remplacer certaines de ses fonctionnalités. PNP4Nagios est un utilitaire conçu pour créer des graphiques représentatifs de la supervision de vos machines.


PNP4Nagios

Au départ, PNP4Nagios est conçu (comme son nom l’indique) pour Nagios. Shinken étant (grossièrement) un fork de Nagios, il est donc naturellement compatible avec cet addon. Les configurations pour Nagios ou Shinken sont similaires, à la différence qu’il faut adapter certaines lignes pour Shinken.
Des graphiques vont être générés via un outil fabuleux (mais moche) : RRDTool. Avec cet utilitaire couplé à PNP4Nagios, les graphiques vont être légion !

Première étape, l’installation des outils pour PNP4Nagios.

Les librairies pour RRDTool sont nécessaires, pour pouvoir générer des graphiques et interagir par-dessus. Une fois l’installation effectuée, passons à l’installation de PNP4Nagios.

Il faut récupérer les sources via le sourceforge du projet – La dernière mise à jour date de 2015, il n’y a pas eu d’annonce officielle comme quoi le projet était arrêté ou stoppé momentanément. Dans tous les cas, ça fait très bien le travail demandé.

Quand les sources sont téléchargées et extraites, il faut se diriger dans le dossier pour configurer le paquet et lancer la compilation. C’est à ce moment qu’il faut adapter PNP4Nagios pour Shinken. Par défaut, l’utilisateur qui va être choisi lors de l’installation est « nagios », or dans l’installation de Shinken, il s’agit de « shinken ».

N’oubliez pas de faire cette configuration, sans quoi PNP4Nagios ne pourra pas exploiter les données et des problèmes de lancement/récupération de données de supervision pourrait apparaître. Une fois la configuration faite, la compilation peut être lancée – selon votre machine, comptez quelques minutes de compilation.

Sur l’image ci-dessus, vous pouvez récupérez les informations essentielles de cette installation : le dossier où se trouve les données de PNP4Nagios, l’utilitaire RRDTool utilisé (et son chemin), ainsi que l’emplacement des fichiers « .rrd » qui serviront à produire les graphiques.
Il y a aussi le fichier de configuration pré-configuré pour le vhost pour Apache2, à l’emplacement « /etc/httpd/conf.d/ ». Le fichier va être utilisé plus tard.


Configuration Shinken

Shinken ne peut pas comprendre par lui-même qu’il faut utiliser un nouvel outil – logique ; deux modules sont à installer au préalable pour permettre l’utilisation des graphiques par Shinken, notamment dans son interface web. Il faut installer « npcdmod » et « ui-pnp » :

Les modules étant installés, il faut configurer deux fichiers – le broker et le module pour l’interface web.

A la ligne « modules », modifiez-là comme ceci :

Pour le fichier d’interface web, naviguez encore dans « /etc/shinken/modules » et modifier le fichier suivant :

A la ligne « modules », modifiez-là comme ceci :

Enfin, il faut lancer la configuration « automatique » de NPCDMod. C’est cet agent qui va permettre entre-autre la corrélation des données de supervision et l’intégration dans l’interface web de Shinken

Il faut redémarrer enfin le broker de Shinken (pour rappel, le broker est le « moteur ») et le daemon npcd. Si vous souhaitez que NPCDMod soit toujours lancé au démarrage de votre serveur de supervision, vous pouvez effectuer un « sudo systemctl enable npcd« .

Pour activer le module PNP4Nagios dans Shinken, il faut entre-autre modifier un fichier de configuration de Shinken :

Modifiez la ligne « URI » et remplacer « SERVERNAME » par l’adresse IP ou le nom NetBIOS de votre serveur. Enregistrez les modifications et le tour est joué.

A cet instant, PNP4Nagios et Shinken sont prêts à l’emploi ! Toutefois, il n’est pas encore possible d’utiliser / voir les graphiques, puisqu’il n’y a pas encore de serveur web pour explorer ces graphiques…


Installation d’Apache2

Le serveur web utilisé pour cette documentation est Apache2, pour quelques raisons :

  • simple d’installation et d’utilisation
  • utilisation « out of the box » réalisable
  • intégration meilleure de PNP4Nagios avec Apache2 et Shinken

L’installation d’Apache2 est simple : il suffit de jouer avec apt, sélectionner les bons paquets et le tour est joué ! Dans ce cas présent, les paquets nécessaires sont :

  • serveur web
  • php
  • librairies pour php et rrdtool

Précédemment, vous avez aperçu que le fichier de configuration pour le vhost Apache2 de PNP4Nagios était disponible (généré automatiquement par la compilation). C’est maintenant que le fichier va nous être utile. Plutôt que de le modifier ou le recopier, il faut le déplacer dans le bon dossier d’Apache2 :

Une seule modification est à effectuer dans le fichier : la suppression de l’authentification par fichier htpasswd. L’article étant une documentation pour tests et non pour un passage en production, je me permets d’enlever cette sécurité qui est basique. Pour se faire, ouvrez le fichier nécessaire :

et mettez un mot-dièse « # » devant les lignes « auth » et le « Require », comme sur la capture ci-dessous :

Enregistrez les modifications – c’est bientôt terminé pour la partie serveur web !

Quelques étapes sont encore à faire :

  • désactivation du vhost apache2 de base
  • activation du vhost pnp4nagios.conf
  • activation du module « URL Rewrite »

Le module de ré-écriture d’URL est obligatoire : quand vous afficherez vos graphiques, des données seront transmises et le graphique se modifiera automatiquement en fonction de votre besoin – les paramètres pour effectuer ces modifications seront transmis dans l’URL, via une méthode HTTP « GET ». C’est pour ça qu’il faut l’URL Rewrite.

Enfin, une dernière modification est à effectuer pour éviter un blocage HTTP par Apache2 – nous avons désactiver tout à l’heure l’authentification par fichier .htpasswd, il faut faire « plus ou moins » de même pour Apache2, dans son fichier de configuration principal :

Vers le milieu du fichier, remplacez « Require all denied » par « Require all granted » entre les lignes « <Directory /> » et « </Directory>

Redémarrez le serveur web et c’est terminé pour sa configuration.


Configuration et tests finaux

 

Accédez à « http://IP-SRV/pnp4nagios ». Une page comme ci-dessous doit s’afficher :

Si cette page s’affiche de votre côté, alors PNP4Nagios est prêt à l’emploi et peut « recevoir » ses graphiques ! Pour accéder à ces graphiques, il faut supprimer ou déplacer le fichier « install.php » du dossier PNP4Nagios :

Enfin, pnp4nagios apparaît… avec une erreur :

Aucun graph disponible puisque les pollers (agents) de Shinken n’a pas encore travaillé et les graphs ne sont pas encore créés via RRDTool. Il faut donc patienter plusieurs minutes avant de voir les graphiques s’afficher. Ci-dessous, après quelques minutes d’utilisation de PNP4Nagios post-installation :

Et dans Shinken, en allant sur un service (Load Average) de la machine Localhost et dans la partie « Graphs » :

Source

En voir plus

Laisser un commentaire

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

Close