Pédron, Le Bourhis, Berthomier, Bonhomme

Documentation NAGVIS

Nagvis est un plugin pour permettant d’apporter des fonctions de visualisations graphiques pour Nagios, l’outil de supervision open-source. Nagvis est un outil relié à Shinken qui permet d'afficher sur un schéma réseau l'état courant des objets à superviser. Le schéma suivant représente le réseau logique MDL représenté sous Nagvis :

Installation de Nagvis sous Centos 7

Les schémas réseaux sont stockés dans /var/lib/shinken/share/images/sets

● Vérifier que SELINUX est désactivé

#nano /etc/sysconfig/selinux selinux=disabled Forcer la désactivation immédiate : #setenforce 0

● Télécharger la version 1.8.5 sur le site www.nagvis.org ​

➔ Se placer dans le répertoire de téléchargement et dézipper NagVis : #cd /home/btssio/Téléchargements #tar xvzf nagvis-1.8.5.tar.gz #cd nagvis-1.8.5

1/10 Pédron, Le Bourhis, Berthomier, Bonhomme

● Créer le dossier /usr/local/nagios #mkdir /usr/local/nagios

● Ajouter les packages nécessaires pour l'installation de nagvis #yum install mod_php -mbstring php-gd php-pdo graphviz -Time-HiRes

● Installer livestatus (avec le compte shinken) $shinken install livestatus

● Installer logstore-sqlite (avec le compte shinken) $shinken install logstore-sqlite

● Redémarrer shinken #service shinken restart

● Exécuter l'installeur #./install.sh

Laisser toutes les valeurs par défaut sauf pour le socket → tcp:localhost:50000 ​

● Vérifier et corriger si besoin le fichier /etc/shinken/brokers/broker-mater.cfg (le module livestatus doit être activé) : $nano /etc/shinken/brokers/broker-master.cfg modules webui2,livestatus ​

● Modifier le fichier de configuration de nagvis

➔ Modifier les droits du fichier /etc/httpd/conf.d/nagvis.conf pour y accéder : ​ #chmod 777 /etc/httpd/conf.d/nagvis.conf

➔ Ajouter la ligne : Require all granted #nano /etc/httpd/conf.d/nagvis.conf

Alias /nagvis "/usr/local/nagvis/share"

Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Order allow,deny Allow from all Require all granted ​

2/10 Pédron, Le Bourhis, Berthomier, Bonhomme

● A la fin de l'installation il faut redémarrer : ➔ Le service shinken : #service shinken restart

➔ Le service apache et faire en sorte qu'il se lance au démarrage : #systemctl restart httpd #systemctl enable httpd

Configuration de Nagvis

● Accès à Nagvis via un navigateur :

URL : http://localhost/nagvis ​ Compte : login/mdp = admin/admin ​ ​ ​ Menu → Choisir une langue → français ​ ​ ​ ​

● Construire son schéma réseau (avec tous les éléments : switch, routeur, serveur shinken, serveur AD-DNS, serveur GLPI, point d’accès wifi, etc...), avec un logiciel de schéma réseau comme https://cacoo.com, et le sauvegarder en SchemaMDL.png ​ ​ ​

Ce schéma sera donc la map de notre réseau dans Nagvis.

● Recopier ce schéma dans /usr/local/nagvis/share/userfiles/images/maps/ ​

● Modifier les paramètres de Nagvis pour permettre une redirection vers Shinken juste en double-cliquant sur l’hôte de son choix apparaissant sur le schéma réseau.

● Dans le menu Options/Configuration générale/Object Defaults mettre ​ ​ http://localhost:7767/host/[host_name] dans le paramètre hosturl : ​

● Dans Nagvis, créer une nouvelle map (menu Option/Gérer les cartes) :

3/10 Pédron, Le Bourhis, Berthomier, Bonhomme

● Affecter le schéma à cette map (menu Editer la carte /option de la carte) :

● Ajouter les icônes de nos objets Shinken en les plaçant sur les différentes parties du schéma :

➔ Menu Editer la carte/ajouter une icône/machine ➔ Cliquer sur le dessin de l'objet (ex: routeur) pour placer l'icône ➔ Sélectionner ensuite l'objet shinken dans la liste déroulante host-name ​

● Attention, si les équipements à superviser n'apparaissent pas dans la liste déroulante, vérifier :

Dans Option/Gestion des Backend

Sinon effacer le dossier /usr/local/nagvis et recommencer l'installation.

Utilisation de Nagvis

Avec Nagvis, on peut :

→ Positionner la souris sur une icône pour avoir un aperçu rapide de l’état d’un hôte. → Cliquer sur une icône pour voir le détail avec "shinken". → Déplacer une icône sur le schéma en passant par le menu Editer la carte "Tout bloquer/débloquer".

4/10 Pédron, Le Bourhis, Berthomier, Bonhomme

Métrologie avec PNP4NAGIOS

La métrologie permet d’évaluer les performances d’une application. En effet, il s’agit de valider ou d’optimiser le système global sur lequel repose une application logicielle. Ainsi la métrologie a pour objectifs l’amélioration du temps de réponse utilisateur, du débit, de la disponibilité, de la fiabilité et la limite de la consommation de ressource.

En conséquence, il faut intégrer à l’environnement de supervision, un outil de monitoring appelé PNP4Nagios. Cet add-on permet de grapher les données de performance renvoyées par le ​ plugins Nagvis et de les injecter dans des bases rrdtool pour créer des graphiques via une ​ interface en PHP.

● Installation des packages nécessaires : #yum install rrdtool php-gd rrdtool-perl perl-Module-Build perl-Time-HiRes

● Installation des outils de compilation : #yum install gcc

● Installation de Pnp4Nagios

➔ Se placer dans le homedirectory de root : #cd /root #wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.25.tar.gz ​ ​

➔ Dézipper l'archive : #tar -xzf pnp4nagios-0.6.25.tar.gz

➔ Se placer dans le répertoire créé : #cd pnp4nagios-0.6.24

➔ Paramétrage de l'installation : on dit que l'authentification se fait avec le compte shinken : # ./configure --with-nagios-user=shinken --with-nagios-group=shinken

➔ Compilation : #make all

➔ Installation dans les répertoires : #make fullinstall

● Paramétrage de PNP4NAGIOS dans Apache : # vi /etc/httpd/conf.d/pnp4nagios.conf

➔ Ajouter la ligne « Require all granted » : AllowOverride None Order allow,deny

5/10 Pédron, Le Bourhis, Berthomier, Bonhomme

Allow from all Require all granted

➔ Mettre en commentaire les lignes prévues pour Nagios : #AuthName "Nagios Access" #AuthType Basic #AuthUserFile /usr/local/nagios/etc/htpasswd.users #Require valid-user

● Redémarrer le service Apache #service httpd restart

● Test : http://localhost/pnp4nagios/

Cette page doit s’afficher :

6/10 Pédron, Le Bourhis, Berthomier, Bonhomme

● On renomme le fichier d'installation #mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.old

● On installe les modules Shinken « npcdmod » et « ui-pnp » avec le compte shinken ​ $ shinken install npcdmod $ shinken install ui-pnp

● On active le module npcmod dans le fichier de configuration du broker : $ vi /etc/shinken/brokers/broker-master.cfg modules webui,livestatus,npcdmod

7/10 Pédron, Le Bourhis, Berthomier, Bonhomme

● On ajoute la prise en charge du module ui-pnp dans le fichier de configuration de l’interface de Shinken : $ vi /etc/shinken/modules/webui2.cfg Rechercher la ligne modules et la compléter comme suit : ​ ​ ​ modules auth-cfg-password,SQLitedb,ui-pnp

● On modifie l'url de pnp4nagios dans le fichier de configuration de ui-pnp : $vi /etc/shinken/modules/ui-pnp.cfg uri http://localhost/pnp4nagios ​

● On revient en root et on redémarre les services npcd et shinken : #service npcd restart #service shinken restart

● Vérification : http://localhost/pnp4nagios ​

● Ensuite vérifier dans l'interface web de Shinken : voici par exemple les graphes de performance respectivement du switchMDL et du serveur AD : 8/10 Pédron, Le Bourhis, Berthomier, Bonhomme

9/10 Pédron, Le Bourhis, Berthomier, Bonhomme

Quelques métriques classiques : rta : round trip average → temps moyen pour l'aller-retour pl : percent loss → pourcentage de perte de paquets

(Il se peut que les graphes n'apparaissent pas dès le départ car le service récupère les valeurs de performances dans le temps.)

10/10