Pédron, Le Bourhis, Berthomier, Bonhomme
Documentation NAGVIS
Nagvis est un plugin pour Nagios 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 Linux 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 php-mbstring php-gd php-pdo graphviz perl-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"
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