Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Greta De Bretagne Occidentale
Tutoriel d’activité 2 Supervision Shinken
Julien Benoist 03/06/2016
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 1/42
Table des matières Installation de shinken ............................................................................................................................ 2
Installation plugin shinken .................................................................................................................. 3
Installation GLPi ..................................................................................................................................... 12
Installation glpi_monitoring .............................................................................................................. 17
Installation webservices .................................................................................................................... 17
Installation de FusionInventory pour GLPi ........................................................................................ 22
Installation agent FusionInventory sur Windows .......................................................................... 24
Installation de l’agent sur LINUX ................................................................................................... 25
Automatiser l’inventaire du parc informatique ............................................................................ 26
Déploiement agent fusioninventory sur windows ........................................................................ 29
Création dossier partagé ........................................................................................................... 29
Création du script vbs de déploiement ..................................................................................... 30
Creation de la GPO sur le contrôleur de domaine .................................................................... 31
Mise en place de la supervision ............................................................................................................ 35
But de ce projet ................................................................................................................................. 35
Pourquoi est-ce révolutionnaire? ...................................................................................................... 36
Comment cette solution fonctionne ................................................................................................. 36
Configuration du plugin monitoring .................................................................................................. 37
Configuration des commandes...................................................................................................... 37
Configuration des composants ...................................................................................................... 39
Configuration des catalogues de composants .............................................................................. 40
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 2/42
Installation de shinken
Nous allons installer Shinken sur une machine Ubuntu 14.04.4 LTS à jour
Je me connecte en root à la machine
apt-get update apt-get upgrade Ensuite on installe les dépendances de shinken apt-get install python-pip python-pycurl python-cherrypy3 python-crypto python-setuptools python-dev On ajoute ensuite l’utilsateur shinken adduser shinken Dans notre installation de shinken on va utilité les sources du dépôt pour permettre de récupérer les dernières versions de shinken : On va utiliser git pour copier les sources du projet apt-get install –y git cd ~ git clone https://github.com/naparuba/shinken.git cd shinken python setup.py install
L’installation s’est faite sans soucis On va activer shinken au démarrage pour qu’il se lance automatiquement update-rc.d shinken defaults 20
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 3/42
Pour fonctionner Shinken a besoin de mongodb pour avoir les dernières fonctionnalités disponibles, donc on va suivre l’installation officielle : apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list apt-get update apt-get install -y mongodb-org Maintenant on va installer l’interface web de Shinken qui se nomme webui2 On démarre Shinken service shinken start shinken –init
Installation plugin shinken On commence par l’installation des dépendances pour webui2 pip install -r https://raw.githubusercontent.com/shinken-monitoring/mod-webui/develop/requirements.txt Puis du module shinken install webui2 Pour avoir plus de sécurité on va installer un module d’apache supplémentaire apt-get install apache2-utils Puis on va créer un mot de passe pour admin htpasswd -c /etc/shinken/htpasswd.users admin Il y a un problème sur le module de la dernière version du module webui2 donc on va récupérer les sources pour résoudre le problème et avoir la version sans bug. cd ~ git clone https://github.com/shinken-monitoring/mod-webui.git cd mod-webui/ service shinken stop rm -R /var/lib/shinken/modules/webui2/ cp -R module/ /var/lib/shinken/modules/webui2 chown -R shinken:shinken /var/lib/shinken/modules/webui2/ rm /etc/shinken/modules/webui2.cfg cp etc/modules/webui2.cfg /etc/shinken/modules/ chown shinken:shinken /etc/shinken/modules/webui2.cfg Pour que notre authentification par fichier htpasswd soit prise en compte, il faut dé-commenter la ligne contenant le paramètre htpasswd_file dans webui2.conf. cd /etc/shinken/modules/
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 4/42
nano webui2.cfg
On déclare le module webui2 dans le broker de shinken nano /etc/shinken/brokers/broker-master.cfg
On redémarre shinken service shinken start On se connecte à l’URL http://ip_shinken:7767 Avec le compte précédemment créé
Avec la nouvelle version du module webui2 on peut avoir accès aux logs de shinken, des host et services, donc on va ajouter le module mongo-logs qui permet ceci shinken install mongo-logs
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 5/42
Puis on le déclare dans le broker de shinken nano /etc/shinken/brokers/broker-master.cfg
Redémarrez maintenant Shinken :
service shinken restart
Installation des plugins de monitoring de supervision :
Il reste encore une dernière étape, vous pouvez constater l’erreur “[Errno 2] No such file or
directory” sur le check localhost. Il faut donc installer les plugins de monitoring :
cd ~ wget https://www.monitoring-plugins.org/download/monitoring-plugins-2.1.2.tar.gz tar -xvf monitoring-plugins-2.1.2.tar.gz cd monitoring-plugins-2.1.2 ./configure --with-nagios-user=shinken --with-nagios-group=shinken --enable-libtap --enable-extra-opts --enable-perl-modules --libexecdir=/usr/lib/nagios/plugins make install
Puis on redémarre shinken pour prendre en compte la configuration
service shinken restart
Pour améliorer encore shinken on va lui intégrer un outil de génération de graphe PNP4Nagios
On commence par installer les outils pour pnp4nagios
apt-get install apache2 php5 libapache2-mod-php5 rrdtool librrds-perl php5-gd
On va récupérer maintenant les sources de PNP4Nagios
cd ~ wget sourceforge.net/projects/pnp4nagios/files/PNP-0.6/pnp4nagios-0.6.25.tar.gz
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 6/42
tar -xzf pnp4nagios-0.6.25.tar.gz cd pnp4nagios-0.6.25/
On indique que l’on veut que PNP4Nagios s’authentifie avec l’utilisateur Shinken :
./configure --with-nagios-user=shinken --with-nagios-group=shinken
On va compiler le tout et on installe PNP4Nagios
make all make fullinstall
On configure l’interface web
Comme on utilise shinken il faut commenter les lignes pour l’authentification avec Nagios qui
n’utilise pas ce mode de connexion
nano /etc/httpd/conf.d/pnp4nagios.conf
... # AuthName "Nagios Access" # AuthType Basic # AuthUserFile /usr/local/nagios/etc/htpasswd.users # Require valid-user ...
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 7/42
Maintenant on va copier le fichier de configuration au bon endroit pour notre ubuntu
cp /etc/httpd/conf.d/pnp4nagios.conf /etc/apache2/sites-available/
On active le site pour apache2
a2ensite pnp4nagios
Puis le module rewrite
a2enmod rewrite service apache2 restart
On se connecte sur http://ip_shinken/pnp4nagios
Normalement on va avoir 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
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 8/42
On redémarre apache2
service apache2 restart
On actualise la page et tout doit être en vert
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 9/42
Il faut maintenant supprimer ou renommer le fichier install.php
mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.bak
Si on retourne maintenant sur l’interface de PNP4Nagios, 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 à PNP4Nagios.
Donc on commence par
shinken install npcdmod shinken install ui-pnp
On active le module npcmod dans le fichier de configuration du broker de shinken
nano /etc/shinken/brokers/broker-master.cfg
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 10/42
Puis on active le module ui-pnp dans webui2
nano /etc/shinken/modules/webui2.cfg
On redémarre les services
update-rc.d npcd defaults service npcd restart service shinken restart
On attend quelques minutes que les graphs se génèrent puis on se connecte sur
http://ip_shinken/pnp4nagios
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 11/42
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 12/42
Installation GLPi
On va maintenant installer GLPI avec la dernière version disponible
On installe les dépendances nécessaires a GLPI
apt-get install apache2 mysql-server-5.5 php5 php5-mysql php5-gd php5-curl
On choisit son mot de passe pour mysql puis on va créer les bases nécessaires pour GLPI
mysql -u root -p
CREATE DATABASE glpidb; GRANT ALL PRIVILEGES ON `glpidb` .* TO 'glpiuser'@'localhost' IDENTIFIED BY 'MotDePasse'; FLUSH PRIVILEGES; exit
Il reste plus qu’à installer GLPI
cd ~ wget https://github.com/glpi-project/glpi/releases/download/0.90.3/glpi-0.90.3.tar.gz tar -xzvf glpi-0.90.1.tar.gz -C /var/www/html/ chown -R www-data:www-data /var/www/html/glpi/
On configure le site glpi
nano /etc/apache2/sites-available/glpi.conf
<Directory "/var/www/html/glpi/config"> AllowOverride None Require all denied </Directory> <Directory "/var/www/html/glpi/files"> AllowOverride None Require all denied </Directory>
a2ensite glpi.conf service apache2 reload
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 13/42
On se connecte sur http://ip_serveur/glpi
On doit tomber sur cette page
On sélectionne la langue française
On accepte la licence d’utilisation
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 14/42
On choit le mode Installer comme on va faire une nouvelle installation
Plusieurs tests sont effectués pour vérifier la compatibilité avec GLPI
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 15/42
On renseigne les paramètres de connexion à la base MySQL
On choisit la base glpidb créée précédemment
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 16/42
Normalement GLPI va nous indiquer que la base de données a bien été initialisée
L’assistant vous indique les comptes des utilisateurs prédéfinis
On se connecte avec l’identifiant glpi et le mot de passe glpi
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 17/42
A la fin de l’installation de GLPI on supprime le script d’installation de GLPI
rm /var/www/html/glpi/install/install.php
Et on change les mots de passe des comptes prédéfinis
Donc on a un GLPI fonctionnel maintenant on va le lier à shinken avec le plugin monitoring de GLPI
Il nous faut les plugins glpi_monitoring et webservices
Installation glpi_monitoring
cd ~ git clone https://github.com/ddurieux/glpi_monitoring.git mv glpi_monitoring/ monitoring cp -R monitoring/ /var/www/html/glpi/plugins/
Installation webservices
cd ~ wget https://forge.glpi-project.org/attachments/download/2099/glpi-webservices-1.6.0.tar.gz tar xzvf glpi-webservices-1.6.0.tar.gz cp -R webservices/ /var/www/html/glpi/plugins/ chown -R www-data:www-data /var/www/html/glpi/plugins/webservices/
On vient de copier les modules dans le dossier plugin de GLPI, maintenant on doit les activer
On se connecte sur glpi puis on va dans le menu Configuration > plugins
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 18/42
On voit apparaitre nos 2 plugins
Il est possible que le module Services Web vous affiche un message :
Installation PHP incorrecte. Nécessite le module xmlrpc
Donc on va installer le module nécessaire
apt-get install php5-xmlrpc
Puis on redémarre apache2 pour prendre en compte les changements
service apache2 restart
On actualise la page des plugins et on remarque maintenant qu’il n’y a plus d’erreur don con peux
installer les modules à GLPI
Maintenant on va cliquer sur installer pour les 2 plugins puis ensuite on clique à nouveau sur activer
Il faut créer les utilisateurs shinken et glpi pour se connecter au webservices et récupérer les
configurations nécessaires.
Pour GLPI on va dans Administration > Utilisateurs
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 19/42
On ajoute l’utilisateur shinken
Ensuite on va créer l’utilisateur shinken dans MySQL
mysql -u root –p
GRANT ALL PRIVILEGES ON `glpidb` .* TO 'shinken'@'localhost' IDENTIFIED BY 'MotDePasse'; FLUSH PRIVILEGES; exit
Voilà nos deux utilisateurs shinken sont prêts.
On va configurer maintenant le webservices de GLPI, on se rend dans Configuration > Webservices
On ajoute un nouveau webservice
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 20/42
On renseigne le nom : shinken
Services actifs : oui
Activer la compression : Non
Tracer les connexions : Historique
Debug : Non
Motif SQL des services : .*
Plage d’adresse IPv4 : on met l’adresse IP de notre serveur shinken
Adresse IPv6 : ::1
Identifiant utilisateur : on laisse vide
Mot de passe : on laisse vide
Enfin cliquez sur le bouton Ajouter pour valider votre configuration.
On va passer à l’installation des modules shinken pour communiquer avec glpi
shinken install import-glpi shinken install glpidb shinken install ws-arbiter apt-get install python-mysqldb
Configuration d’import-glpi
On va éditer le fichier de configuration d’import-glpi
nano /etc/shinken/modules/import-glpi.cfg
On modifier localhost par l’adresse Ip de shinken
Et on change le mot de passe de shinken par celui configuré auparavant
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 21/42
On enregistre et on quitte
On ajoute ce module dans l’Arbiter de shinken
nano /etc/shinken/arbiters/arbiter-master.cfg
Ensuite on modifie le fichier de configuration de glpidb
nano /etc/shinken/modules/glpidb.cfg
On modifie juste le mot de passe
On enregistre et on quitte
On ajoute le module dans le broker de shinken
nano /etc/shinken/brokers/broker-master.cfg
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 22/42
On enregistre et on quitte
Enfin pour ws-arbiter il n’y a rien à changer si on n’a pas défini d’identifiant et de mot de passe dans
le webservice de Shinken
Il faut juste l’ajouter dans l’Arbiter de shinken
nano /etc/shinken/arbiters/arbiter-master.cfg
On enregistre et on quitte
Voilà on vient de finir la configuration de shinken avec GLPI
On redémarre les services
Installation de FusionInventory pour GLPi
cd ~ git clone https://github.com/fusioninventory/fusioninventory-for-glpi.git mv fusioninventory-for-glpi/ fusioninventory cp -R fusioninventory/ /var/www/html/glpi/plugins/ chown -R www-data:www-data /var/www/html/glpi/plugins/fusioninventory/
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 23/42
Ensuite on se connecte sur GLPI, on se rend dans configuration > plugins
On installer fusuioninventory et on l’active
On se rend dans le menu Plugins > FusionInventory
Ensuite on va devoir renseigner l’adresse IP du serveur pour FusionInventory
On clique sur l’alerte et on arrive sur l’entité root
On renseigne l’adresse IP du serveur : http://ip_serveur/glpi et on sauvegarde.
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 24/42
Installation agent FusionInventory sur Windows
On télécharge l’agent directement depuis le site fusioninventory
On a juste besoin de renseigner l’adresse IP du serveur
Dans notre cas on va mettre : http://172.16.150.50/glpi/plugins/fusioninventory/
Ensuite on laisse les options par défaut et on choisit le mode d’Exécution comme un service Windows
On coche les deux cases pour le serveur http
Dans option diverses on coche sur la 2eme case lancer un inventaire
Dans option avancées on change le délai avant le premier lancement de 3600 à 5 cela permettra de
faire un inventaire immédiatement après l’installation du logiciel.
Pour vérifier que l’inventaire ait marché on retourne sur GLPI
Sur l’onglet plugins > fusioninventory on va dans le menu Général puis gestion des agents et on
devrait voir apparaitre notre agent Windows
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 25/42
On attend quelques minutes puis on devrait voir notre ordinateur dans notre parc sur GLPI
Voilà on vient d’installer l’agent fusioninventory sur Windows, on va maintenant installer l’agent sur
du linux
Installation de l’agent sur LINUX
On va suivre la documentation officielle
apt-key adv --keyserver keyserver.ubuntu.com --recv 049ED9B94765572E apt-get install lsb-release echo "deb http://debian.fusioninventory.org/debian/ `lsb_release -cs` main" >> /etc/apt/sources.list apt-get update apt-get install fusioninventory-agent apt-get install fusioninventory-agent-task-network apt-get install fusioninventory-agent-task-esx apt-get install fusioninventory-agent-task-deploy
Configuration de l’agent
On va modifier le fichier de conf de l’agent
nano /etc/fusioninventory/agent.cfg
On change la ligne #server par server = http://172.16.150.50/glpi/plugins/fusioninventory/
On enregistre et on quitte
Maintenant on peut lancer l’agent
fusioninventory-agent
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 26/42
On vérifie bien que l’agent s’est exécuté en allant sur la page gestion des agents sur fusioninventory
Dans notre cas il s’agit de l’agent supervision, on attend quelques minutes et il apparaitra dans le
parc GLPI dans l’onglet ordinateur.
Automatiser l’inventaire du parc informatique
On va créer une tache dans FusionInventory
On se rend dans Taches > Gestion des taches
On ajoute une nouvelle tâche.
Puis on active la tâche et on sauvegarde
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 27/42
On se rend dans configuration des jobs puis Ajouter un job
On veut découvrir les hôtes sur le réseau donc on choisit la méthode du module : Découverte réseau
On clique sur ajouter
On vient de créer notre tâche on va maintenant la configurer
On va ajouter une cible et des acteurs à notre tâche, mais d’abord on va renseigner la plage IP de
notre réseau
On se rend dans Réseau > Plage IP
On ajoute notre plage IP suivant notre configuration
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 28/42
On retourne dans la configuration de la tâche, on clique sur cibles
On rajoute notre plage IP précédemment créée et on clique sur ajouter cible
Notre cible étant créée on va maintenant ajouter un acteur
On choisit un agent dans le réseau de notre cible, ici on choisit l’AD de notre réseau qui est sur
Windows
On clique sur Ajoutez Acteur
Une fois les deux étapes précédentes effectuées, cliquez sur Mettre à jour
Ne quittez pas la page avant d’avoir fait cela, sinon votre configuration ne sera pas sauvegardée.
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 29/42
Déploiement agent fusioninventory sur windows
Nous allons donc à partir de notre serveur déployer une GPO qui va installer l’agent sur tous les
postes de notre domaine.
Création dossier partagé
Pour l’installation de l’agent il faut avoir un dossier partagé sur le réseau pour les exécutables des
agents donc on va créer un dossier partagé caché sur CD1
On ajoute un dossier à la racine de notre serveur sur C:
Ensuite clique-droit > propriétés > partage > partage avancé
Dans notre cas on va appeler le dossier fusioninventory avec un $ à la fin pour cacher le dossier
partagé sur le réseau.
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 30/42
Ensuite Autorisations et on coche toutes les autorisations pour le groupe tout le monde
On applique et on ferme
On va pouvoir récupérer les exécutables de fusioninventory pour les copier dans le dossier
On se rend sur http://forge.fusioninventory.org/projects/fusioninventory-agent-windows-
installer/files
Et on télécharge les deux versions de fusioninventory-agent x86 et x64
fusioninventory-agent_windows-x64_2.3.17.exe
fusioninventory-agent_windows-x86_2.3.17.exe
Création du script vbs de déploiement
Pour récupérer notre script et le modifier
On se rend sur https://raw.githubusercontent.com/fusinv/fusioninventory-
agent/2.3.x/contrib/windows/fusioninventory-agent-deployment.vbs
On copie tout le contenu puis on crée un nouveau document avec bloc-notes et on colle dedans.
On modifie la location, la version, et les options d’installation
SetupLocation = "\\CD1\fusioninventory$\"
SetupVersion = "2.3.17"
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 31/42
SetupOptions = "/acceptlicense /installtasks=Full /no-start-menu /httpd-trust='127.0.0.1/32' /add-
firewall-exception /runnow /execmode=Service
/server='http://172.16.150.50/glpi/plugins/fusioninventory/' /S"
Creation de la GPO sur le contrôleur de domaine
On clique sur démarrer et outils d’administration.
Dans la nouvelle fenêtre on clique sur Gestion des stratégies de groupe
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 32/42
On clique sur la petite flèche a côté de la forêt : lannion.lan dans notre cas
Puis sur la flèche a côté de domaines
Donc on se rend sur lannion.lan
On clique-droit dessus pour sélectionner Créer un objet GPO dans ce domaine, et le lier ici…
Dans la nouvelle fenêtre on renseigne son nom : déploiement fusioninventory-agent
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 33/42
Puis dérouler l’arborescence de lannion.lan pour voir que notre GPO vient d’être créée
Puis clique-droit sur notre GPO et modifier
On arrive sur l’éditeur de gestion des stratégies de groupe
On va mettre notre script dans la configuration ordinateur donc on se rend dans
Configuration ordinateur > Stratégies > Paramètres Windows > Scripts (démarrage /arrêt)
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 34/42
Puis dans la fenêtre de droite on clique sur démarrage pour ajouter notre script au démarrage des
postes.
On clique sur afficher les fichiers pour connaitre l’emplacement d’enregistrement de notre script.
On copie notre script crée qui se trouve dans le dossier partagé fusionventory dans ce dossier
Ensuite on clique sur Ajouter
On clique sur parcourir et on ouvre le script fusioninventory.vbs
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 35/42
Donc on vient d’ajouter notre script au démarrage des machines sur notre domaine pour le
déploiement de fusioninventory
On lance un cmd avec la commande gpupdate /force pour actualiser les changements de la GPO
Lors de la prochaine connexion d’un utilisateur l’agent fusioninventory va s’installer et cela va créer un
inventaire automatique du poste et va ensuite faire le lien avec glpi_monitoring qui va envoyer l’hôte
dans shinken pour permettre le check des services prédéfinis et ainsi monitorer le poste
automatiquement.
Mise en place de la supervision
On va utiliser le plugin GLPI monitoring pour superviser l’ensemble de notre parc informatique.
But de ce projet
Description des buts de ce projet
Le but de ce plugin est de :
• Piloter la configuration de Shinken monitoring via GLPI
• Récupérer l'état des services en temps réel dans GLPI
• On a l'historique des contrôles via les graphiques en SVG en temps réel
• Créer des tickets d'assistance dans le helpdesk de GLPI lors d'un évènement (planifié)
• Utilise les fonctionnalités de Shinken tels que les Business Rules, les Royaumes (Realms)...
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 36/42
Pourquoi est-ce révolutionnaire?
Le plugin Monitoring introduit de nouveaux concepts dans les systèmes de monitoring :
• Fini le temps où on ajoutait chaque service à un équipement (ordinateurs, serveurs, switch...)
et/ou ajoutait dans des templates... On se sert désormais de l'INVENTAIRE des équipements pour
définir automatiquement les ressources à surveiller (donc sans intervention humaine, excepté pour la
configuration au début quand on installe le plugin Monitoring). Cette fonctionnalité peut être utilisée
dans le cas d'un système d'inventaire automatique tel que FusionInventory.
Note: Par exemple, tous les ordinateurs avec un nom commençant par "SRV" et qui
ont Apache d'installé, vont avoir un check_http et check_apachestatus.
• On a défini des templates pour les graphiques au format JSON et basés sur les perfdata.
Comment cette solution fonctionne
Pour mieux appréhender l'utilisation, voici une description du fonctionnement de la solution
Légende :
• [A] = opération automatique
• [M] = opération manuelle
• [AM] = peut être fait automatiquement ou manuellement
Voici la description des processus :
• [M] Un technicien installe un nouveau serveur
• [AM] Installation de l'agent FusionInventory pour avoir un inventaire complet de ce serveur
• [A] FusionInventory envoi un inventaire à GLPI
• [A] le plugin Monitoring défini les ressources pour ce nouveau serveur en utilisant les règles
(dans le catalogue de composants)
• [AM] Redémarrer le module Arbiter de Shinken afin de charger la nouvelle configuration
• [A] Shinken s'exécute avec les nouveaux contrôles
• [A] Shinken envoi les évènements dans la base de données MySQL de GLPI
• [A] Les graphiques sont mis à jour en temps réel via les données issues de la base de données
Conclusion : Ajouter un nouvel équipement à monitorer est simple et ne requiert pas d'intervention
humaine
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 37/42
Configuration du plugin monitoring
Configuration des commandes
On va d’abord créer une commande qui servira de base pour les services à monitorer.
On se rend sur GLPI > Plugins > Monitoring
On clique sur pour afficher le menu
On clique sur Commandes
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 38/42
Donc on va pouvoir créer nos commandes avec
Les éléments à configurer pour chaque commande de contrôle sont :
• Nom : donner un nom
• Nom de commande : défini le nom de la commande, il doit être unique et sans caractères
spéciaux. C'est le nom du script que Shinken va exécuter pour vérifier ce que vous souhaitez (disque,
cpu, mémoire...)
• Actif ? : Oui
• Ligne de commande : chemin et nom de fichier à exécuter (sur le serveur où Shinken est
installé puisque c'est Shinken qui va exécuter cette commande). Il est possible d'utiliser les Macro
Shinken comme $PLUGINSDIR$, $MYSQLUSER$... et on peut utiliser les macro pour les arguments
dynamiques utilisés dans le plugin monitoring comme $ARG1$, $ARG2$, $ARG3$...
• Description des arguments : c'est visible uniquement quand on a les champs $ARG1$,
$ARG2$, $ARG3$... dans Ligne de commande et que l'on a sauvegardé. Pour chaque argument, il y a
un cadre de texte pour la description de cet argument. Par exemple, si on a dans Ligne de commande
la commande $PLUGINSDIR$/check_load -r –w $ARG1$ -c $ARG2$, on va avoir 2 cadres de texte, un
pour chacun des 2 arguments et dans ARG1 il faut définir à quoi sert cet argument.
Ces arguments sont importants car ils définissent les composants.
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 39/42
Configuration des composants
On se rend sur GLPI > Plugins > Monitoring > Composants
Les éléments à configurer pour chaque contrôle de composant sont :
• Nom: donner un nom
• Commande : défini les commandes. Ce champ est obligatoire, sauf si un contrôle à distance
est défini.
• Gabarit (pour la génération de graphiques): sélectionner un gabarit pour la génération des
graphiques (RRDTOOL).
• Définition d’un contrôle : défini le contrôle de définition pour ce composant.
• Contrôles actifs: défini ce composant comme un contrôle actif (Shinken exécute la
commande)
• Contrôles passifs: défini ce composant comme un contrôle passif (ordinateur distant exécute
la commande et envoi l'évènement à Shinken uniquement lorsqu'il change)
• Période pour le contrôle: défini la période (c'est le calendrier de GLPI) qui permet de dire
quand le contrôle va s'effectuer (24x7, pas les week end....)
• Gestionnaire d'évènement (event handler): defini un event handler (script à exécuter quand
le contrôle devient critique).
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 40/42
Configuration des catalogues de composants
Ces catalogues de composants sont utilisés pour définir pour quels hôtes le système de monitoring
va contrôler les ressources.
On se rend sur GLPI > Plugins > Monitoring > Catalogue de composants
On choisit l’intervalle entre 2 notifications pour la réception des emails et sms dans notre cas on met
sur 30 min.
Ensuite on va définir les composants qu’on veut intégrer pour les hôtes dans ce catalogue de
composants
Dans notre cas : pour le catalogue windows, on va lui attribuer le composant check_windows_disks
qui va surveiller l’état des disques sur windows.
Pour les hôtes, il y a deux méthodes différentes pour les ajouter
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 41/42
Hôtes Statiques
La première méthode pour ajouter des hôtes est de les ajouter manuellement par un utilisateur.
Cette méthode est appelée hôtes statiques et est disponible dans l'onglet du même nom.
Hôtes dynamiques
La seconde méthode pour ajouter des hôtes est de définir des règles (recherche). Cette méthode est
appelée hôtes dynamiques et disponible dans les onglets règles et hôtes dynamiques.
Dans l'onglet règles, il est possible d'ajouter seulement une règle par type de matériel. Ces règles
utilisent le moteur de recherche de GLPI. Si une règle d'ordinateur est définie par Système
d'exploitation contient vmware, tous les ordinateurs qui vérifient cette recherche vont être ajoutés
automatiquement dans l'onglet hôtes dynamiques.
Dans notre cas on va définir : caractéristique – modèle qui contient VMware va permettre ajouter
tous les hôtes qui correspondent à cette règle dans ce catalogue de composants
BENOIST Julien - BTS SIO Option SISR - GRETA de Morlaix – Session 2015-2016 42/42
Donc maintenant shinken va se redémarrer automatiquement grâce au plugin monitoring s’il n’a pas
été restart depuis au moins 10 minutes.
Et l’hôte va apparaitre sur shinken
Donc on vient de configurer le monitoring de nos hôtes dans notre parc informatiques