Professional Documents
Culture Documents
Septembre 2015
Cette mise en uvre fournit une solution complte qui offre surveillance, mtrologie, reporting et
cartographie et montre en mme temps la faisabilit de la supervision et ses limites.
Avant-Propos
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
08.07. 2015 3/106
Sommaire
1. Avant-Propos .......................................................................................................................................... 6
4. Scnario ................................................................................................................................................ 28
5.1. Prrequis..........................................................................................................................................36
Avant-Propos
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
08.07. 2015 4/106
5.2. Activer ou dsactiver SELinux ..........................................................................................................37
Avant-Propos
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
08.07. 2015 5/106
1. Avant-Propos
1.1. REMERCIEMENTS
Je ddie ce travail de mmoire mon frre Duzgun qui ma encourag tout au long de mes tudes.
Je souhaiterais remercier sincrement Monsieur LITZISTORF pour ces prcieux conseils, qui a toujours suivi
mes travaux et ma orient dans la bonne direction.
Je remercie beaucoup M Jacques DAUDEL, directeur technique chez Qim info, pour mavoir donn lopportunit
de raliser un tel projet dans un cadre professionnel pour se montrer toujours disponible et l'coute tout au
long de la ralisation de ce travail.
Je remercie galement mes collgues de Qim info, surtout M Loc MALOT chef de projet et M William REY
consultant, pour leurs encouragements et pour les merveilleux moments passs ensemble.
Enfin je souhaite remercier spcialement ma chre pouse, Meral, qui ma aid de poursuivre mes tudes
jusqu aujourdhui.
Avant-Propos
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
08.07. 2015 6/106
1.2. RGLES TYPOGRAPHIQUES
La documentation est faite avec la police Lato Regular 10 pt en suivant les rgles typographique des modles
de documents de la Qim Info. Pour certains
Code ou paramtres : Sont faits avec des captures texte noir sur fond blanc. Les parties
importantes sont surlignes en jaune.
Chemins de fichiers : Italique /etc/shinken
Les liens de pages web : Lato, bleu et soulign
Les liens dans le document : Cahier de charges (Lato soulign)
Les lgendes des figures : * Police de taille 9pt en italique.
Mots importants : En gras.
Puce liste bleu ou verte pour les listes.
Texte cit depuis une source : Italique
Avant-Propos
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
08.07. 2015 7/106
1.3. STRUCTURE DU RAPPORT
Le rapport est compos de 5 grands chapitres plus les annexes et un avant-propos pour rendre mon
travail plus facile lire et comprendre. Le but principal de la cette structure est de donner la possibilit de
mettre en place un superviseur bas sur Shinken tout en apprenant la vision de la supervision.
Pour vous ramener au contexte, je commence avec lentreprise Qim info et je dcris la supervision pour
donner un rsum du monde de Supervision . Suite cette introduction je dfinis le cahier de charges
suivant les protocoles utiliss pour la supervision. Les fonctionnalits du systme de supervision sont
expliques brivement.
Le chapitre suivant nous donne ltat de lart sur les outils de supervision et justifie mon choix qui sest
port sur Shinken. Ce chapitre aborde galement larchitecture et le fonctionnement. Jexplique aussi
dautres outils que jai coupls avec Shinken.
Le scnario dtaille les lments superviser, leurs facteurs, les mesures et la stratgie de supervision.
Cette partie constitue le cur du projet en dfinissant la mthodologie suivre.
La partie mise en uvre comprend toute la partie dinstallation, et de configuration de Shinken, aussi les
outils coupls au systme de supervision.
Dans le bilan du projet, janalyse les rsultats obtenus et les tests de validation. Je dnombre les
problmes rencontrs pendant la mise en uvre et je donne des axes damliorations pour que le systme
devienne plus profitable au sein de lentreprise.
La partie annexe donne des dtails comme les termes techniques, les rfrences ou les procdures
techniques. Jexplique les tapes de ralisation du projet dans la partie gestion de projet .
Avant-Propos
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
08.07. 2015 8/106
2. Cahier de Charges
2.1. CONTEXTE
La Qim Info SA a t fonde en 2004 par des personnes
issues du domaine du service informatique. Ses locaux
sont situs dans la ville de Carouge. Depuis 2010, la
socit dispose galement de locaux dans la ville de
Lausanne.
ce jour, la socit compte plus de 120 collaborateurs
mais seule une vintaine dentre eux sont prsents dans
les locaux. En effet, la plupart des collaborateurs de Qim
info sont envoys pour des missions de plus ou moins
* Figure 1 Logo de Qim info longue dure chez le client. Les prestations proposes
par la socit sont diverses et varies : dveloppement
dapplications mobiles, conception de site internet en passant par lanalyse et la maintenance de solutions
existantes, etc.
Qim info possde une infrastructure informatique disperse sur 3 sites : Genve, Lausanne et OVH.
Le local de Genve comprend
9 serveurs physiques
2 onduleurs
1 imprimante rseaux
1 parc informatique compos de 19 PC, 3 mac mini, 7 laptops, tablettes ,1 tv Samsung,
1imprimante
3 switch ,2 routeurs, 2 modems
2 points de sortie vers le rseau internet avec 2 diffrents fournisseurs daccs (Swisscom et VTX)
3 machines ddies pour les units de stockage
borne wifi
une centrale tlphonique IP PABX
Le bureau de Lausanne comprend :
1 routeur
1 imprimante
2 PCs
Le site distant chez OVH :
1 serveur physique avec Hyperviseur Esxi qui hberge 3 VM (Machine Virtuelle) avec CentOS
1 Serveur physique de backup FTP
1 VM avec hbergement Windows pour une application web
1 VM avec centos comme serveur APNS
Tous les employs utilisent les ressources et les services informatiques constamment. Les produits
fabriqus (logiciels, applications) sont hbergs sur les serveurs. Ces serveurs hbergent aussi les
applications et les services ncessaires pour faire tourner les activits. A lintrieur des locaux, le rseau
LAN regroupe linfrastructure et 2 points de sorties garantissent laccs au rseau internet (providers
Swisscom et VTX). Comme une importante infrastructure est hberge chez OVH, laccs celui-ci doit
toujours tre oprationnel.
Le business dpend fortement de la fiabilit du systme informatique. Nous devons tre en mesure de
dtecter toutes les pannes survenues sur ce systme, surtout celles qui peuvent empcher les activits
normales (Business as Usual). Ces pannes peuvent avoir un cot important sil ny pas dintervention. Mais
la dtection dune panne lors de son apparition ne suffit pas car seul un systme prdictif peut empcher
une panne.
Cahier de Charges
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
08.07. 2015 9/106
2.1.1. Problmatique
Actuellement la surveillance est assure par lintervention de M Hostettler (Ingnieur systme) qui est
contrl par M Daudel (Directeur Technique) et M Malot (Chef de projet) dune faon non automatise.
Cette manire ne suffit plus aux besoins de lentreprise.
La ncessit dun systme de surveillance automatis est vitale. Ce systme doit dtecter certaines
anomalies en avance et ne doit pas nuire aux performances du systme. Mais il doit tre aussi adaptable
pour une infrastructure distribue et htrogne.
2.2. SUPERVISION
La figure ci-dessous ma permis de rflchir sur la mthodologie et la technique utiliser pour la
supervision. Elle rsume les parties tudier :
Qui?
Que Comment?
superviser? Supervision
O et
quand?
Une supervision consiste mesurer divers mtriques permettant de renseigner les responsables sur la qualit
dun service. Un systme de supervision est compos de fonctions qui consistent mettre en place des
indicateurs dtat sur une infrastructure informatique.
Linfrastructure informatique comprend de nombreux systmes qui peuvent mal fonctionner. Si un problme
nest pas dtect au bon moment, il peut engendrer des srieux dgts lentreprise vu que le business dpend
fortement du systme informatique. Avec un superviseur nous avons la possibilit danticiper une panne et la
rsoudre plus rapidement. Cela permet aussi de surveiller la sant du systme.
Prvenir en cas de problme et rduire les dlais et cot des interventions sont les enjeux principaux. Une bonne
supervision aide aux responsables informatiques pour rendre des comptes, tre au courant et corriger QoS
(Quality of Service).
Ces tests quon appelle sonde (check) se font distinguer par deux approches : avec ou sans un agent. La diffrence
de ces deux mthodes repose sur linstallation ncessaire sur llment superviser. Les sondes sans agent
comme des sondes tcp, http, ssh se font souvent sans rien installer sur llment. Mais dans le cas dune sonde
avec ssh, si llment na pas de serveur ssh, il faut linstaller. Alors que dans le cas dune sonde via SNMP ou
encore nrpe il faut faire des installations et des configurations. Dans mon cas, vu le nombre de machines
surveilles, je nai pas beaucoup dinstallation faire mais pour un systme plus volumineux ces installations
peuvent crer des soucis. Les problmes de scurit sajoutent car chaque protocole oblige louverture de
certains ports sur les firewalls.
Pour une sonde en SSH la cl publique de shinken doit se trouver aussi dans les cls autorises de cette machine.
Lavantage de cette mthode est aussi la facilit dautomatiser le processus de dploiement de la cl SSH avec
un script ou Snake ol.
La manire de rcuprer les donnes pour les sondes (check) varie beaucoup selon les mthodes utilises. Par
exemple dans le cas dune sonde en http, loutil fait tout simplement une requte http vers une url et analyse la
rponse reue pour dterminer ltat de service.
Dans le cas dune sonde snmp, on fait une requte snmp (encapsule dans UDP) vers une machine surveille.
Cette machine doit avoir le service snmp activ pour couter les requtes snmp depuis lextrieur. Ds la
rception dune requte la base de donnes des objets (MIB) est consulte. Le service peut envoyer une
information demande avec son identifiant (OID) ou toutes les informations quil possde.
Le monde de la supervision possde des standards et la supervision est faite via des protocoles. Les principaux
protocoles sont :
Ce protocole est plus utilis dans le monde de supervision, la premire version (SNMP v1) date de 1987, mais la
tendance est dabandonner le SNMP et daller vers dautres outils qui conviennent mieux aux besoins du monde
informatique comme la supervision applicative. Ce protocole est encapsul dans UDP et la communication se
fait via les ports 161/162.
Snmp est un protocole de communication pour superviser et diagnostiquer les quipements de rseau. Il permet
principalement de :
Fournir des informations dtailles concernant les quipements et le rseau
Paramtrer les quipements du rseau
Alerter les responsables
Beaucoup doutils de supervision utilisent SNMP pour avoir ltat des quipements. (Centrerons, Net Crunch 5,
MRTG, Cati, Schinkel, Nagios, Zarbi).
Un agent install sur lquipement gr transmet les
donnes au format SNMP. Un nom de communaut est
dfini pour la communication. Une restriction est
possible au niveau des adresses IP pour communiquer
avec lextrieur. Les responsables peuvent grer et
visualiser les quipements depuis une centrale. SNMP
obtient les informations depuis une base de donnes
depuis MIB (Management Information Base) mais malgr
que MIB contienne beaucoup de donnes, one ne peut
pas obtenir les informations de haut niveau comme tat
dun service http ou autre.
L'Interface de gestion intelligente de matriel, est un ensemble de spcifications d'interfaces communes avec du
matriel informatique (principalement des serveurs) permettant de surveiller certains composants (ventilateur,
sonde de temprature, ...), mais galement de contrler l'ordinateur distance, reboot, interrupteur, console
distance.
Le standard ouvert pour dfinir comment reprsenter les lments administrs sous forme dun ensemble unifi
et cohrent.
Cest une implmentation du Web-Based Entreprise Management pour les plates-formes Windows qui tend le
modle CIM (Common Information Model). Elle est puissante au niveau de ses fonctionnalits.
2.7. FONCTIONNALIT
2.7.1. Objectifs
Mise en place dun outil de surveillance dun systme dinformation htrogne.
Ce systme doit permettre de visualiser des alertes ponctuelles et de surveiller les diffrents systmes.
Il devra surveiller lensemble des couches que lon trouve sur de telles architectures : hardware, systme bas
niveau, communication rseau, couches middleware, couches applicatives (sur tous les trois sites existants).
Les paramtres des lments de linfrastructure surveiller :
Charge CPU
Charge RAM
Quota de disque
Bande passante
Etat de lhte (Rponse au Ping etc.)
Etat des services (web, SQL etc.)
Le systme se limitera la surveillance et ne devra pas dclencher dactions correctives.
Il devra tre robuste pour assurer la surveillance en toute circonstance et peu intrusif pour ne pas dstabiliser
les systmes de production.
Un affichage en temps rel aidera les administrateurs rsoudre le problme aprs avoir reu lalerte en aide
au diagnostic.
Le systme de supervision affiche en temps rel ltat des systmes avec plusieurs vues. On peut afficher une
vue globale et des vues dtailles.
Les administrateurs veulent voir ltat gnral du systme et ils ont la possibilit de choisir les lments
visualiser. Nous pouvons par exemple vouloir afficher ltat de systme par couche. Ex: afficher juste les
serveurs web ou les quotas de disques.
Interface web personnalis pour surveiller linfrastructure en temps rel. Crer plusieurs vue ventuellement
une premire vue gnrale qui rsume ltat gnral du systme.
Les critres de choix se basent sur le cahier de charge dfinie dans la section2.7. Nayant pas dassez de temps
pour installer et essayer ces outils, je me suis bas sur les tudes et les comparaisons existantes avec les
spcifications fournies.
Comp Ractivit de
Paramtra Fonctionnalit de
tabilit Dploiement la
ge, supervision (quels Interface
sur systme communaut Performan Platform
Modularit quipements et quels web, vue
avec distribu et et quipe de ce (Win/Lin)
, ajout des facteurs sur ces custom
VMw htrogne dveloppeme
plugins quipements)
are nt
++
++
+++ (interfac +
+ ++ (rapide car
e de (Linux)
-+++ +- crit en C)
base)
+++ ++
+++
(efficace (plus
+ -+++ (idal pour ++ +++ ++
car moderne
distribuer)
optimis) )
-
(nagios+cact + +-++ ++ -+ +++ ++ ++ (os ddi
i+..) centos)
+ -++ ++ ++ +++ ++ ++
(Nagios)
+++
+ -+- ++ ++ ++ ++ ++
++
+ -+- ++ -+ + +- ++
+++ +
+ -+- ++ -- + ++
(Nagios) (Linux)
La prsentation de M
Sbastien Pasche, la
date du 11 mai 2015, qui
est ingnieur de systme
chez le shop nous a bien
confirm tout ceci.
Contributeur de Fedora,
Shinken et plusieurs
projets dopen source M
Pasche pense aussi que
Shinken volue trs
rapidement et Nagios
subit beaucoup et il ne
change plus depuis
plusieurs annes.
* Figure 6 Exemple
d'architecture Shinken pour
un systme distribu
Source : http://shinken.readthedocs.org/en/latest/07_advanced/distributed-with-realm.html
Shinken est un outil de supervision, une implmentation de Nagios en Python from scratch qui a pour
objectifs principaux de simplifier la vie des administrateurs de grands parcs et de coller au mieux lvolution de
lIT des dix dernires annes, et si possible prparer les dix prochaines...
Jean Gabs, le crateur de Shinken lors dune interview en 2011.
Le projet Shinken a commenc avec un fork de Nagios par Jean Gabs pour corriger certains bugs quil avait
dcouverts. Il rcrit en Python en obtenant des rsultats excellents surtout au niveau des performances et
avertit lquipe de Nagios mais lquipe de Nagios nacceptait pas les changements.
Alors le Shinken est n comme un petit frre de Nagios en 2009 pourtant il a trs vitre volu grce aux
nombreux contributeurs. Lide principale tait de dcouper le cur monologique de Nagios en plusieurs
parties par rapport aux diffrents rles.
Shinken rvolutionne larchitecture de Nagios mais galement apporte des solutions pour la scalabilit, la
supervision des impacts de business. Son dcoupage fonctionnel nous permet dadapter loutil sur une
infrastructure distribu. Il offre une haute disponibilit et la rpartition de charges.
Cet outil facilite aussi la dtection de la source des incidents et viter des fausses alertes.
Il a t dvelopp pour devenir une solution complte de supervision mais lheure actuelle il est considr
comme un framework de supervision. Et lquipe prfre lintgration des outils comme les outils de
mtrologie la place de tout dvelopper dans le projet Shinken.
Lutilisation de Shinken est sous licence GNU (AGPL- Licence publique gnrale Affero).
Source : http://blog.nicolargo.com/2012/11/installation-pas-a-pas-dun-serveur-de-supervision-
shinken.html/shinken-architecture
a) Arbiter
Ce dmon unique a comme rle de grer tous les autres dmons. Il lit la configuration, la dcoupe, et
lenvoie aux lments de larchitecture. Il gre aussi la haute disponibilit : si un lment meurt, il envoie la
configuration un autre dmon disponible.
b) Scheduler
Il ordonnance les tests et gre des actions en cas de soucis lors des sondes. Son rle nest pas lancer les
sondes mais de planifier lheure des sondes pour le Poller et rcuprer les rsultats de ces tests pour envoyer
au Reactionner et Broker. On peut en avoir autant quon veut, lArbiter dcoupe la configuration par rapport
au nombre de schedulers dfinis comme dans la figure 8 ci-dessus.
c) Poller
Le rle dun Poller est lancer une sonde en excutant un binaire ou un script mais aussi retourner les rsultats
au Scheduler. On peut en avoir autant quon en a besoin. Pour des systmes distribus, volumineux ou
complexe les Pollers peuvent tre positionns dans diffrents endroits pour contourner les problmes de
performances et scurit.
d) Reactionner
Le Reactionner gre lenvoie des notifications selon les directions de Scheduler. Souvent il envoie des mails
mais aussi il peut envoyer des sms via des modules.
e) Broker
Il est charg de rcuprer les donnes depuis le Scheduler et de les mettre dans dautres outils via des
modules. Par exemple il peut exporter des donnes de mtrologie vers Graphite ou PNP4Nagios via le module
Livestatus. Linterface web de Shinken rcupre les informations depuis le broker via le module Webui.
f) Receiver
Le seul dmon facultatif, utilis pour recevoir les donnes de sonde passif qui est lanc par un lment surveill
contrairement une sonde actif lanc par un Poller.
3.3.2. Plugins
Un plugin est un excutable, peu importe le langage de codage. Cela peut tre un binaire compil ou un script.
Tant que ce plugin envoie le bon code de retour, il est compatible avec Shinken. Le plugin peut envoyer des
donnes de type performance data pour tre traits avec des outils externes. Si le plugin envoie de
donnes, le code de retour doit tre spar avec |. Le plugin peut envoyer plusieurs lignes de donnes.
Cest finalement plugin qui indique au Shinken ltat de llment surveill avec quatre types de code de
retours bas sur POSIX. Le retour de lun de ces est obligatoire.
0 - OK : Tout va bien.
* Figure 10Performance data retourn par le check disk via SSH sur interface Web
3.3.3. Modules
Les modules sont ajouts pour tendre la fonctionnalit de supervision. Ils sont intgrs dans les dmons tels
que Broker ou Arbiter. Chaque module doit tre dfinie dans Shinken et li au dmon concern.
Certains modules comme Livestatus, webui ou encore les modules de log sont des indispensables pour Shinken.
Le module webui permet davoir linterface web de shinken native. Un module de log est ncessaire pour le
systme log.
Suite la dclaration du module, il faut aussi ajouter dans le dmon concern. En loccurrence pour
linterface web, cest le dmon broker qui sen occupe pour fournir les donnes.
3.3.5. Agent
Un agent est un programme qui est dploy sur un systme supervis afin de fournir les donnes
ncessaires au Poller. Exemple typique de ces agents ; nsclient qui sinstalle sur machine Windows. Le
dploiement dun agent est une grande problmatique car, pour une infrastructure assez htrogne et
grande le travail est complexe.
Lapproche actuelle est une supervision sans agent. Mais supervision sans agent ne veut pas dire quil ny
rien dinstall sur la machine. Cest plutt de superviser avec des programmes ou protocoles dj installs.
Dans la plupart de cas des services comme SSH, SNMP, WMI existent sur les machines.
Je privilgie aussi la supervision sans agent dans le but de faciliter le travail et faire moins dinstallation
possible sur linfrastructure existante.
Mais une configuration est souvent ncessaire pour pouvoir faire supervision sans agent.
a) Mtrologie
Les outils de mtrologie sont utiles pour analyser les performances dun systme informatique. Ces outils sont
complmentaires aux de lhistorique pour pouvoir comprendre tout ce qui se passe. Les outils historiques sont
limits au niveau des dtails et plutt orients vers les vnements, changements dtat ou log .Le couplage
de ces deux outils cre la supervision. Car la supervision comprend aussi lanalyse de donnes.
Graphite et pnp4nagios sont plus utiliss et conseills. Pnp4nagios a besoin du service npcd activ dans le
shinken. Jai pris Graphite car cela donne des graphiques assez comprhensibles avec des priodes mais aussi il
rcupre les donnes depuis Shinken avec le module Livestatus qui est disponible avec Shinken. Graphite a
deux points vitaux.
Sauvegarder les mtriques time-series data.
Faire des graphiques partir de ces donnes.
Graphite est compos de trois parties
carbon le dmon qui coute pour les donnes temporelle.
whisper une librairie simple pour sauvegardes les donnes.
webapp - a (Django) application web pour afficher les graphiques.
Thruk, Mk_multisite, Adagios sont des outils connus et fiables pour crer des rapports, surveiller les
disponibilits du systme informatique. Ces outils fournissent galement des interfaces web compltes pour la
supervision. On peut aussi regrouper plusieurs serveurs de supervision via ces outils.
Jai install multisite et thruk pour pouvoir comparer les possibilits et jai prfr le thruk car la gestion de
reporting est plus avance. Mais en mme temps il est complt au niveau de linterface, lentreprise peut
dsactiver linterface Shinken et rester sur thruk pour monopoliser laffichage. Le thruk permet aussi de
regrouper plusieurs moteur de surveillance comme Shinken et Nagios. Dans le cas ou on doit dployer un autre
serveur de surveillance chez OVH ou ailleurs le Thruk peut regrouper tous ces serveurs sur une seule interface.
Il permet en mme temps dafficher les cartes crer partir de Nagvis.
c) Cartographie
Il y a aussi des outils pour afficher le systme surveill via des cartes gographique, des images ou des schmas
crs manuellement. Le plus connu et utilis, Nagvis, marche assez bien et je nai pas trouv dautre outils
open source
Source : http://shinken.readthedocs.org/en/branch-
1.4/89_packages/livestatus_shinken.html
Shinken a introduit la corrlation de donnes dans le monde supervision bas sur Nagios. Il est capable de
dterminer la corrlation de base avec sa configuration standard. En plus de sa fonctionnalit de dterminer la
source dun problme quil appelle root , il ajoute le terme dpendance et bp_rules. Il y a deux type de
dpendances celui entre les htes et mais aussi un deuxime entre les services. Les rgles mtiers aident
beaucoup pour faire la corrlation aussi. Avec activation problme impacts states change , Shinken ne va
pas alerter sans analyser les relations entre lments surveiller. Cela vite des alertes inutiles. Ex. : si un hte
tombe, on ne va pas alerter pour les services hbergs par cet hte.
Intranet Qim utilis pour la gestion des diffrents lments administratifs. Lintranet contient les fonctionnalits
qui permettent de grer :
L'annuaire des collaborateurs
Les comptes rendus d'activit
Les demandes de congs
Les notes de frais
La facturation
Scnario 28/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
Serveur FTP utilis pour permettre aux clients de dposer des fichiers directement sur le serveur public de Qim
info hberg par OVH.
Comme lintranet est utilis en permanence il sera important de superviser linfrastructure qui est derrire. Ce
scnario consiste superviser une infrastructure intranet qui est bas sur un hyperviseur Esxi. Les employs
utilisent intranet depuis le parc informatique de Genve. Pour ce scnario les lments intressant sont les
dpendances car lutilisation dintranet passe par une chane depuis un pc jusquaux services.
Le schma reprsente la connectivit depuis un pc de parc informatique dans le local de Genve vers lintranet
qui est hberg chez OVH. Ce schma aide comprendre la chane de dpendances et il dvoile juste la partie
concernant le scnario.
4.2. DPENDANCES
Les lments physiques et les services surveiller dpendent dautres lments de linfrastructure ou service.
Typiquement pour pourvoir accder un site internet on doit passer par le switch qgeswi002, le routeur
qgertr002, modem qgeesi002 donc laccs internet dpend de tous ces quipements du rseau. Dans le cas
dune panne de cet quipement, les lments dpendants seront touchs aussi. Cela veut dire que on ne peut
avoir accs internet sans avoir le switch qgeswi002, le routeur qgertr002 et le modem qgeesi002 qui
marchent. Si lun de ces quipements tombe en panne on ne peut pas savoir ltat des quipements qui sont
derrire de cet quipement. Le serveur de supervision doit prendre en compte toutes ces dpendances pour
grer la source des pannes correctement. Le paramtrage de dpendances est aussi indispensable pour la
corrlation de donnes. Si le routeur est en panne le serveur va pouvoir dterminer les quipements et
services dpendants et il ne va pas faire des notifications pour ces lments.
Scnario 29/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
4.3. MESURES DE SUPERVISION
Ex :Icmp H IP w 3000,100% -c
5000,100% -p 10
Scnario 30/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
Check_ftp essaie de se connecter sur le
serveur ftp avec le login dun client. Un
FTP Tester le port 21 et le login ftp
autre check tcp consiste surveiller /proc
(ftp.xxx.net)
et /sys avec une connexion SSH.
* Source :http://fr.wikipedia.org/wiki/Business_activity_monitoring
Scnario 31/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
Le but d'une solution BAM est, entre autres, de permettre une raction au plus tt grce un systme
d'alarmes en cas de drive et, dans le meilleur des cas, pouvoir agir de manire proactive.
On utilisera une approche TOP-DOWN (du mtier vers la technique) pour mettre en place une solution de ce
type.
Rgles business et notion dimportance business sont des points forts de Shinken par rapport Nagios. Cela
permet aux administrateurs de se concentrer sur ce qui est important . Surveillance IT nest plus suffisant, il
faut savoir surveiller ceux qui ont un impact important sur le business de lentreprise.
Pour cela il faut un service supplmentaire dans la supervision pour agrger certains lments.
Parmi les lments surveiller deux applications mtiers (ERP) ont une importance pour le business de
lentreprise.
Intranet interne :
URI&mysql & http_serveur & VM & machine_Esxi & acces_internet & routeur & modem &switch
Intranet_externe :
URI &mysql & http_serveur & VM & machine_Esxi & ping_externe
intranet_Dashboard:
URI &mysql & http_serveur & VM & machine_Esxi & acces_internet & routeur & modem &switch
& : Et exemple ; site_web=mysql& http_serveur on doit avoir mysql et serveur http oprationnel pour que le
business site_web tourne.
| : Ou ; site_web1=(mysql1 | mysql2) & (http_serveur) le business site_web1 a besoin lun des serveurs mysql1
ou mysql2 et le serveur http en mme temps
Scnario 32/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
* Figure 20 Schma Rgler mtier (Business Rule) utilisation intranet depuis local de Genve
Une rgle mtier explique ce quil faut pour faire tourner le business avec certaines expressions rgulires
comme la figure-21 ci-dessous.
Scnario 33/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
* Figure 21 Composition dun Rgles mtier (Business rule)
Scnario 34/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
4.6. STRATGIE DE DPLOIEMENT
Loutil de supervision sinstalle sur un serveur dans le local de Genve.
Le logigramme ci-dessous montre les tapes de ralisations pour la supervision mais elle donne en mme temps
une vision globale du projet et aide la dcomposition du projet.
Scnario 35/10
08.07. 2015
Huseyin Bilgin Supervision base sur shinken sous la direction de Prof. Litzistorf
6
5. Mise en uvre
La partie de mi sen en uvre comprend la ralisation des tches dfinies dans le cahier de charges (section
2.7)
nmap
tcpdump
nping
netcat
wireshark
Avec ces outils on peut :
Dtecter les ports ouverts
Dtecter les quipements rseaux
Dtecter si un nud de rseau est atteignable
Installation namp et Wireshark :
[hbi@qgemnt001]#sudo yum install nmap
[hbi@qgemnt001]# sudo yum install wireshark
5.1. PRREQUIS
Il faut installer les dpendances comme pip, pycurl et cherrypy3. Le Shinken a besoin au moins le Python 2.6
mais 2.7 est conseill. Python 3.0 nest pas encore tout a fait compatible avec Shinken.
La plupart des OS vient avec Python install. La version 7.1 de Centos inclut la version 2.7 de Python.
[hbi@qgemnt001]# sudo install python-pip python-pycurl python-cherrypy3
[hbi@qgemnt001]# sudo useradd --user-group shinken
SELinux est le systme disponible sous des distributions rcentes de Linux permettant de dfinir une politique
de scurit d'accs trs fine par rapport au systme d'exploitation. Il se positionne en plus des classiques
Firewall (permettant seulement un filtrage au niveau rseau). Dans notre cas SELinux peut perturber la
supervision car certains modules ne marchent pas avec SELinux activ.
Pour le dsactiver, deux solutions: La premire est d'diter le fichier /etc/selinux/config et de remplacer la ligne
SELINUX=enforcing par SELINUX=disabled puis de rebooter le systme.
La seconde, plus rapide et bien utile pour faire des tests est de taper en ligne de commande (root):
[hbi@qgemnt001]# sudo /usr/sbin/setenforce 0 -> ici, pas de reboot ncessaire.
Aprs le redmarrage de Shinken la premire erreur arrive car la page Wall de linterface web ne saffiche
pas.
Message derreur : Error 404: Not Found
Sorry, the requested URL 'http://localhost:7767/wall' caused an error:
Ce problme est connu est la solution est :
[root@qgemnt001#] vi /var/lib/shinken/modules/webui/plugins/wall/wall.py
Remplacer la ligne 31 import.helper par import shinken.misc.sorter et recompiler le fichier.
Les processus de Shinken sont excuts avec lutilisateur shinken en tant que des processus Python avec des
fichiers de configurations prciss. Le nombre de processus subit des changements par rapport la
configuration. La figure 24, ci-dessous, montre le nombre des processus aprs tous les ajouts de services et les
machines qui ont augment par rapport au nombre de processus de dbut.
Cette configuration nous permet dajouter des services, hosts mais pour faire des check il faut aussi installer
des plugins (excutables). Shinken et dautre outils de supervision comme Icinga, Nagios, Semsu ont des check
communs regroup dans un package nomm monitoring plugins sous le site :
https://www.monitoring-plugins.org/ .
Tlcharger les plugins.
On peut installer aussi les plugins faits pour Nagios car il y a enormoments de plugins pou Nagios.
[hbi@qgemnt001]# sudo install nagios-plugins
Le site https://exchange.nagios.org/directory/Plugins nous aide trouver des plugins presque pour tout et
lutilisation est aussi explique sur le site.
Aprs installations de ces plugins il faut tester chaque plugin en commande ligne avant dutilisation. Pour les
plugins tlchargs depuis le monitoring-plugin.org une page de manuel existe pour leurs utilisations.
Page de manuel pour le monitoring plugins : https://www.monitoring-plugins.org/doc/man/index.html
Tous les plugins donnent aussi son utilisation avec loption h ou help.
Les plugins de Shinken se trouvent dans /var/lib/shinken/libexec et les plugins de Nagios se trouvent
/usr/lib/Nagios/Plugins mais par rapport la version tlcharg les plugins de Nagios peuvent se trouver aussi
dans /usr/local/Nagios/libexec. Le rpertoire dinstallation na pas de grande importance car dans les
configurations de Shinken on dfinit les rpertoires des plugins dans le fichier
/etc/shinken/ressource.d/paths.cfg et dans chaque commande on donner le chemin absolu dun plugin avec
ces macros.
Le rpertoire /etc/shinken/hosts est prvu pour les htes. Pour faciliter le paramtrage chaque host dclar est
dans un fichier part avec le nommage nom_mahcine.cfg. Les noms de fichiers ou hosts sont dfinies avec la
convention de nommage de la Qim info. Pour la dclaration certaines champs sont obligatoires comme :
host_name : nom de la machine
address : IP ou FQDN de la machine
max_check_attempts : nombre dessai de check en cas de problme
contacts : contact pour les notifications
contacts_groups : groupe de contact pour les notifications
notification_interval : lintervalle de notification en cas de problme
Il y a dautre champs utiles mais pas obligatoires comme :
parents : la relation entre les machines, cela permet au Shinken de
dterminer si un hte est down ou unreachable(inaccessible), ce champ est trs utile pour
trouver la source dans le cas plusieurs problme si cela vient dun lment perturbateur. On
peut mme annuler les notifications pour les htes unreachable avec les options de
notifications.
use : le Template utiliser
hostgroups : tiquette pour regrouper les machines
check_commande : commande excuter pour tester la machine
Au lieu de configurer toutes les paramtres on peut crer des templates ou utiliser les
templates existants comme generic-host. Dans la plupart de cas jai utilis generic-host qui
teste la disponibilit dune machine avec un Ping. Mme si on utilise un template pour une
machine on peut toujours modifier les configurations en surchargeant le mmes variables
dans le fichier de la configuration.
Le protocole ICMP est bloqu au niveau du firewall du routeur (qgertr002) donc pour contourner le problme
je vrifie laccessibilit du serveur extsrv003 via un port avec une requte TCP. Jai cr un autre template
partir du generic-host sans la commande Ping pour cela.
b) Ajouter un service
Un service est li un hte et il doit tre dclar via un fichier situ dans /etc/shinken/services. Un service fait
appel une commande qui se trouve dans /etc/shinken/commandes. part les htes tous les lments
surveills sont dclars en tant quun service. Chaque service est li un hte via host_name. Les champs ci-
dessous sont obligatoires. En utilisant des template on dclare le minimum ncessaire et les autres paramtres
sont pris en compte depuis les templates.
host_name : le nom de lhte dont le service dpend
service_description : le template du service utiliser
check_command : nom de la commande excuter
max_check_attempts : nombre dessai maximum de check en cas du rsultat non OK
check_interval : lintervalle des checks
retry_interval : lintervalle de recheck en cas du rsultat non OK
check_period : priode de lancement de check
notification_interval : dure de notification en cas de changement dtat
contacts : contacte pour les notifications
contact_groups : groupe de contact pour les notifications
c) Ajouter un contact
Les commandes se trouvent dans /etc/shinken/commandes et /etc/shinken/packs pour les commandes des
packs installs. Chaque lment surveill est contrl par une commande qui dfinit lutilisation dun plugin et
les paramtres. Dans une commande on doit dfinir le nom de la commande et la commande excuter. Cette
commande est la syntaxe de lappel du plugin. Avec linstallation de Shinken et packs nous avons toutes les
commandes disponibles. Mais on peut faire des commandes sur mesures. Dans une commande on peut
directement passer les macros, variables ou arguments dun hte ou service.
f) Ajouter Template
Shinken fournit par dfaut des templates gnriques pour la dfinition dun host, service, timeperiode
et contact. Dans ce templates certains paramtres comme les intervalles de check et notifications sont dfinis.
Lutilisation de ces templates se fait par le champ use dans une dfinition dun service, hte, contact ou autre.
Linstallation des packs fournit galement des templates. Un template peut inclure uniquement une seule
dfinition comme un service, un hte ou plusieurs en mme temps. Les templates des packs comprennent
souvent une dfinition dhte et des services lis. Jai utilis souvent les templates gnrique de base fournit
par Shinken. On peut aussi gnrer des template pour faciliter les ajouts des lments surveills.
g) Ajouter timeperiode
Les priodes sont utiliss pour dterminer quand les sondes et les notifications auront lieu. On peut ne pas
sonder et notifier certaines services ou htes pour certaines priodes. On peut dfinir des heures du travail,
des vacances ou des jours spciaux. Je surveille un PC dans le parc informatique et ce PC est teints en dehors
des heures du travail. En loccurrence il ne faut pas sonder ni notifier en dehors des heures du travail. Le
template qui dfinit les heures du travail du lundi au vendredi pour rgle ce problme.
La dfinition des dpendances est assez vitale pour un systme de supervision car la corrlation des donnes
dpend fortement de dpendances.
La dfinition de dpendances permet denlever des check et notifications inutiles qui compliquent les tches
des administrateurs. Ces dfinitions sont ajoutes suite ltablissement de dpendances dans le chapitre
dpendances 4.2 . Dans le cas du serveur chez OVH la vrification de celui-l dpend des autres lments qui se
situent avant le serveur comme lquipement du rseau. Le systme dtermine lancement dun check ou dune
notification avec la dfinition dune dpendance. Pour chaque dfinition on dtermine des critres pour les
check et notifications. Les critres sont :
o = chec de ltat UP
d = chec de ltat DOWN
u = chec de ltat UNREACHABLE
p = chec de ltat pending (le check nas pas encore eu lieu)
n (none) : dpendance est toujours vrifi donc pas de critres
Avant chaque check ou notification il va dabord regarder si les critres de notification et check sont bons par
rapport la dfinition. Si les critres ne sont pas appliqus le check et/ou la notification sont annuls. Jai
utilis les critres d, u, p, cela veut dire que si lun des htes est dans un tat down, unreachable ou pending les
htes dpendants ne vont pas tre contrl. Si le routeur qgertr002 est inaccessible le Shinken ne contrle pas
le serveur (extsrv003).
La dfinition de dpendance de service est faite de la mme manire que la dpendance dhte. On doit dfinir
les critres pour les notifications et check.
o = chec de ltat OK
w = chec de ltat WARNING
u = chec de ltat UNKNOWN
c = chec de ltat CRITICAL
p = chec de ltat pending (le check nas pas encore eu lieu)
n (none) : dpendance est toujours vrifi donc pas de critres
Une rgle mtier est dclare comme un service dans /etc/shinken/services avec une commande spciale.
Un check en SSH a besoin une connexion SSH via une cl sans mot de passe. Le service sshd est install par
dfaut sur des machines linux mais pour certaines machines il faut activer ce service comme lhyperviseur Esxi.
Pour la machine linux distante:
[shinken @qgemnt001] # service sshd start
Pour lhyperviseur Esxi :Selon procdure dactivation ssh en annexe D.
La librairie python-paramiko doit tre installe pour la connexion ssh.
[hbi@qgemnt001] # sudo yum install python-paramiko
Pour lancer des commandes de mesure il faut une connexion ssh donc une cl ssh
[shinken @qgemnt001] #ssh-keygen
Il faut envoyer la cl vers la machine distante suite la cration de lutilisateur shinken .
[shinken @qgemnt001] #ssh-copy-id i ~/.ssh/id_rsa shinken@ipserveur
Cet utilisateur shinken doit avoir le droit(644) de lecture sur cl sur la machine surveiller. La cl se trouve
~/.ssh/authorized_keys, pour lutilisateur concern.
Tester la connexion en SSH
[shinken @qgemnt001] # ssh i /.ssh/id_rsa shinken@IP_hte
Suite la russite en connexion SSH, on peut soit utiliser le pack linux-SSH soit dclarer tous les services et
paramtres manuellement. Pour avoir un contrle total jai utilis la solution manuelle mais jai profit des
packs pour crer mes services. Les commandes de ces packs ont t utiles aussi.
Aprs le premier test jai eu un problme avec le check cpu en SSH qui donne le message derreur suivante :
can not fetch stats from cpu
Solution :
1- Vrification du paquet sysstat sur la machine surveiller- OK
2- Le plugin est fait pour des systmes en anglais alors que la machine est en franais. Jai modifi le
plugin pour rendre compatible avec franais.
[shinken @qgemnt001]# vi /var/lib/shinken/libexec/check_load_average_by_ssh.py
Ligne 81 : Remplacer (not line.startswith('Average')) par (not line.startswith('Moyenne'))
Il vaut mieux garder deux versions de ce fichier.
Dans le cas des quipements rseau on peut faire cette opration avec une connexion Telnet si une connexion
est disponible. La mthode plus facile est daller faire cela directement sur linterface web de gestion. Les
quipements professionnel comme le routeur Cisco et Switch Netgear supporte la gestion SNMP via leurs
interface web.
Test louverture du port 161 depuis le serveur shinken
[shinken@machine_distant] # nmap Ip_machine_distant p 161
a) URL
Une requte http permet de tester la disponibilit dun site internet. Le rsultat de ce check est la rponse reu
du site. Un site peut tre aussi text avec une requte https si le site comporte un certificat SSL.
b) Check FTP
Un check pour le service FTP existe dans les plugins de Nagios. Il fait une requte ftp pour vrifier la
disponibilit du serveur FTP.
c) MySQL
Le plugin va simuler une connexion MySQL avec un compte cre sur le serveur distant pour Shinken.
d) DNS
e) Serveur Apache
Dmarrage de Graphite :
[root@qgemnt001 ] # systemctl restart httpd
[root@qgemnt001 ] # /opt/graphite/bin/carbon-cache.py start
[root@qgemnt001 ] # /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite/
Si on met slash la fin de lURL les liens ne fonctionneraient pas.On rdemarre tout en tant que root.
[root@qgemnt001 ] # systemctl start httpd
[root@qgemnt001 ] # /opt/graphite/bin/carbon-cache.py start
Pour commencer on peut lancer le Graphite en mode dveloppement pour voir ce qui se passe.
[root@qgemnt001 ] # /opt/graphite/bin/run-graphite-devel-server.py /opt/graphite/
On relance Shinken pour prendre en compte tout cela.
[shinken @qgemnt001 ] # /etc/init.d/shinken restart
Envoyer une donne de test :
[root@qgemnt001 ] # echo "carbon.installation.test $RANDOM `date +%s`" | nc -w 1 localhost 2003
Les donnes envoyes doivent
tre disponible dans linterface
web de Graphite.
Donc dans notre cas le Thruk sera utilis plutt pour faire le reporting pour :
Availability :montre disponibilit des machines et services
Trends : permet de grapher des donnes mesurables en fonction du temps
Alerts: permet d'avoir un historique des alertes et des notifications
Reporting : gnre des rapports de SLA automatiques et manuels.
Historiques des pannes peuvent tre visualis dans ces diffrentes vues, on peut aussi
gnrer un rapport avec la vue reporting.
Il peut tre utile pour voir toute la configuration aussi. Car sous shinken pour voir les
commandes ou les configurations dun lment surveill, il faut consulter les fichiers de
Shinken. Alors que thruk nous affiche tout sur linterface.
Gnration dun rapport se fait via le menu reporting et create new report.
Thruk nous permet de gnrer des rapports assez facilement et sur
mesures. On peut programmer la gnration dun rapport avec une
priode et envoie par mail. Un rapport peut tre fait pour
Un service ou groupe de service
Une machine ou un groupe de machines
Toutes les pannes survenues
Un Rapport contient une
graphique de disponibilit
et les dernires
interruptions.
Pour crer des cartes nous devons envoyer des images sur Nagvis. Jai utilis les schmas et des photos de la
salle de serveur pour crer des cartes.
Aprs la cration des cartes, on peut ajouter les lments surveills dans ces cartes.
Nagvis permet dajouter une machine, un service, une rgles mtier et un lment peut tre symbolis avec un
icne ou une ligne.
On doit configurer les urls dans Nagvis pour quon puisse aller sur linterface Shinken pour un lment cliqu
dans Nagvis. Dans le menu option -> configuration gnrale et modifier les templates des urls pour Shinken.
Il est possible davoir des erreurs en cas de mauvaise configuration, manque de librairies ou problmes avec les
plugins. Si lerreur viens du shinken il faut savoir que toutes les infos par rapport ces erreurs sont enregistres
dans les fichiers log sous le rpertoire /var/log/shinken/. Il faut regarder dans broker.log, scheduler.log et
arbiter.log.
Quand vous voyez ceci, cest que la commande nest pas prsente dans le dossier /var/lib/shinken/libexec/.
Je vous conseille de vrifier votre fichier de service (/etc/shinken/services/<fichier>.cfg) en vrifiant la ligne
check_command.
Cette erreur vous dis que Shinken na pas les permissions adquates pour lancer les commandes dans le
dossier /var/lib/shinken/libexec/.
Voici comment rsoudre ceci de manire scurise (STOP AU CHMOD 777)
Tout dabord, on va redfinir le propritaire de la commande en erreur (pour savoir lequel :
ls -ail /var/lib/shinken/libexec) :
[root@qgemnt001]# chown shinken:shinken /var/lib/shinken/libexec/<fichier>
Puis nous allons redfinir les droits daccs de ce fichier en 755. Ce qui quivaut :
Propritaire : Lire, crire, Excuter
Groupe : Lire, Excuter
Publics : Lire, Excuter
Linterface web est accessible via http://IP_du_serveur:7767/ mais le port tait bloqu pour laccs externe
depuis le rseau. Jai dabord ajout une rgle dans le firewall de lhyperviseur (qgeesx005) malgr cela laccs
tait toujours bloqu car cest le firewall du serveur de la supervision qui bloquait laccs. Jai ajout une rgle
pour le port 7767 avec le protocole TCP.
[root@qgemnt001]# firewall-cmd --new-zone=special
[root@qgemnt001]# firewall-cmd --zone=special --add-source=192.168.10.0/24
[root@qgemnt001]# firewall-cmd --zone=special --add-port=7767/tcp
Les quipements rseaux et les serveurs ont des IP fixes mais les postes de travail surveills ont des IP
dynamique donc en cas de supervision avec une adresse IP le changement dIP est un grand problme. Pour
contourner celui-l jajoute les postes avec leur nom de lannuaire de lActive Directory.
Comme il ny pas mal de plugins en Perl, on a souvent affaire au problme de Cant locate *.pm . Souvent
lerreur vient le manque dune librairie ou incompatibilit avec version Perl. Dans le cas de la mande dune
librairie on peut linstaller via CPAN.
[hbi@qgemnt001]# sudo cpan nom_libraire
Les plugins en Perl ou python incluent le chemin du Perl ou Python au dbut du script, des fois les chemins sont
mal renseigns et le plugin ne sexcute pas. Il faut corriger les chemins. Vue la diversit des outils ou des plugins
installs, il peut y avoir un problme de comptabilit des libraires. Comme cela a t le cas avec Thruk. On peut
installer les diffrentes versions du Perl dans des rpertoires spars et renseigns les chemins de celles-ci dans
les programmes qui les utilisent. Suite nombre problmes que jai eu, jai dcid dinstaller le Thruk avec un
package pour rsoudre ces problmes. Car une installation par package automatise linstallation des
dpendances.
6. Bilan du projet
6.1. CONCLUSION TECHNIQUE
Les objectifs dfinis dans le cahier de charges (chapitre 2) ont t atteints. Shinken permet de
superviser tous les lments dfinis dans le scnario sauf lhyperviseur nsXX.ovh.net car cause dun
problme technique, il nest pas accessible.
Le choix du Centos comme systme dexploitation na pas facilit la mise en uvre. Ce choix est un choix
historique pour lentreprise mais la distribution Debian gre les dpendances dune manire plus
automatise que Centos. Et jai trouv plus de package pour Debian concernant les outils de la supervision.
La difficult technique est lie aux dpendances des librairies et aux installations des outils.
Le choix de loutil a t correct car le moteur de Shinken est assez performant et modulaire, jai pu
constater tous ces spcifications dfinis dans ltude loutil (Chapitre 3). Le surplus de Shinken par rapport
Nagios est remarquable surtout pour la supervision du business. Et les vues de linterface web de Shinken
sont assez comprhensibles pour les responsables de lentreprise qui ne sont pas forcment des
Je peux dire, sans retenue, que je suis pleinement satisfait de cette aventure.
Avant de commencer ce projet je navais aucune ide sur le monitoring donc linitialisation du projet a
t un peu difficile car ce travail moblige tre beaucoup plus rigoureux par rapport un projet de
dveloppement. Au dbut jai eu des difficults au niveau de linfrastructure de lentreprise car le schma
existant montre le fonctionnement mais il nest pas dtaill techniquement.
La difficult majeure ne reposait pas sur Shinken car jai pu rgler facilement les problmes que jai eus avec
Shinken mais elle reposait sur les checks et les outils coupls avec Shinken.
Le plus grand problme technique tait au niveau des dpendances des libraires. Jai test et utilis beaucoup
de plugins avec des langages diffrents et des fois il y avait des incompatibilits entre les versions des librairies.
Certains plugins ne marchaient pas avec les nouvelles versions des librairies comme le check_http de Shinken
qui ne marchait pas avec openssl 1.0.1. A la place de celui-l jai utilis le plugin de check_http de Nagios.
Linstallation de la Graphite a t difficile aussi. Au dbut jai utilis le script dinstallation fourni par lquipe du
shop.ch mais cela nas pas march et jai utilis les procdures dinstallations que jai trouv dans des blogs
OVH - Panne chez OVH sur serveur UAT(extsrv003) 0 KO 0 non tests 0 KO 0 non 0 KO 0 non tests
Affichage de la panne sur WebUI et
Serveur FTPD Arrter le serveur ftpd envoie d'alerte pour l'lment
mais aussi pour 4 rgles mtiers . ok ok ok
Affichage de la panne sur WebUI et
envoie d'alerte pour l'lment
aussi pour 4 rgles mtiers .
Serveur Apache Arrter serveur apache
L'intranet UAT tombe en panne
aussi mais on devrait pas checker ni
envoyer alerte pour intranet avec ok ok ok
Arrter serveur MySQL Affichage de la panne sur WebUI et
envoie d'alerte pour l'lment et
pour 4 rgles mtiers aussi.
Serveur MySQL pour BD
L'intranet UAT tombe en panne
aussi mais on devrait pas checker ni
envoyer alerte pour intranet avec ok ok ok
Arrter application Affichage de la panne sur WebUI et
Intranet UAT Interne envoie d'alerte pour l'lment
mais aussi pour 1 rgle mtiers . ok ok ok
Faire chouer le check en
Affichage de la panne sur WebUI et
changeant le port de
Intranet UAT externe envoie d'alerte pour l'lment
l'application de check. Le
mais aussi pour 1 rgle mtiers .
check se fait via un serveur ok ok ok
Faire chouer le check en
Affichage de la panne sur WebUI et
changeant le port de
Jira UAT externe envoie d'alerte pour l'lment
l'application de check. Le
mais aussi pour 1 rgle mtiers .
check se fait via un serveur ok ok ok
Arrter application Affichage de la panne sur WebUI et
Jira UAT interne envoie d'alerte pour l'lment
mais aussi pour 1 rgle mtiers . ok ok ok
Arrter SSH Affichage de la panne sur WebUI et
Connexion SSH
envoie d'alerte pour l'lment. ok ok ok
Augmenter la consommation Affichage de la panne sur WebUI et
CPU sur serveur envoie d'alerte pour l'lment
aussi pour 4 rgles mtiers . ok ok ok
Crer des gros fichiers pour Affichage de la panne sur WebUI et
Disque remplir le disque. envoie d'alerte pour l'lment
aussi pour 4 rgles mtiers . ok ok ok
Augmenter la consommation Affichage de la panne sur WebUI et
RAM sur serveur en lanant des envoie d'alerte pour l'lment
processus. mais aussi pour 4 rgles mtiers . ok ok ok
VTX - Coupure d'accs internet- FAI VTX 0 KO 0 non tests 0 KO 0 non 0 KO 0 non tests
Affichage de la panne sur WebUI et
envoie d'alerte pour l'lment
Enlever cble vdsl sur la prise murale. aprs cela devient OK. Pas d'alerte
pour les lments qui dpendent
l'accs internet. Pas d'alerte pour ok ok ok
SWI -Panne sur switch net gear (qgeswi002) 0 KO 0 non tests 0 KO 0 non 0 KO 0 non tests
Enlever le cble. Affichage de la panne sur WebUI et
Port 4
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
envoie d'alerte pour l'lment
aprs tout devient OK. La machine
Port 5
qgeesx0005 (hberge monitoring)
est li ce port. Pas d'alerte pour
les lments qui dpendent ce ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 6
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 8
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
envoie d'alerte pour l'lment. Ce
Port 9 port relie le switch au routeur. Pas
d'alerte pour les lments qui
dpendent ce port. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 11
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 12
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 14
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 17
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 21
envoie d'alerte pour l'lment. ok ok ok
Enlever le cble. Affichage de la panne sur WebUI et
Port 23
envoie d'alerte pour l'lment. ok ok ok
Eteindre ou enlever le cble Affichage de la panne sur WebUI et
de la machine qgeesx005. envoie d'alerte pour l'lment.
Switch DOWN Tous les lment derrier
(extsrv,qgeswii002,qgeisp002 en
panne mais pas d'alerte grce aux ok ok ok
RTR- Panne sur routeur Cisco ASA (qgertr002) 0 KO 0 non tests 0 KO 0 non 0 KO 0 non tests
Enlever le cble. Affichage de la panne sur WebUI,
alerte aprs avoir tout devient OK.
Interface eth0/0
Pas d'alerte pour les lments plus
loin que routeur dclars comme ok ok ok
Enlever le cble. Affichage de la panne sur WebUI,
alerte aprs avoir tout devient OK.
Interface eth0/1
Pas d'alerte pour les lments plus
loin que routeur dclars comme ok ok ok
Envoyer beaucoup de paquets. Affichage de la panne sur WebUI et
CPU w:85 c:95
envoie d'alerte pour l'lment. ok ok ok
MNTR - Panne sur VM de serveur de monitoring (qgemnt001) 0 KO 0 non tests 0 KO 0 non 0 KO 0 non tests
Charge la RAM avec des gros webui Retard 1-
processus. devient 2 min
Affichage de la panne sur WebUI et
inaccessi pour
CPU w:90 c:95 envoie d'alerte pour l'lment.
ble en envoie
Possible retard et blocage.
cas de comme
100% ok attendu. ok ok
Remplir le disque avec des Affichage de la panne sur WebUI et
Disque w:85 c:95 gros fichiers. envoie d'alerte pour l'lment.
Possible retard et blocage. ok ok ok
Charge la RAM avec des gros webui
processus. Script en C qui fait devient Retard
Affichage de la panne sur WebUI et
des alloc. inaccessi pour
RAM/swap w:90 c:90 envoie d'alerte pour l'lment.
ble en envoie
Possible retard et blocage.
cas de comme
100% ok attendu. ok ok
Faire chouer le ping en Retard
coupants bloquant la webui pour
Pas d'accs sur webui, alerte aprs
Host DOWN. communications sur devient envoie
avoir tout devient OK.
qgemnt001. Dsactive icmp et inaccessi comme
enlver cble rseau. ble ok attendu. ok ok
PC 19- Panne sur le poste 19 dans le local de Genve (Pc19) 0 KO 0 non tests 0 KO 0 non 0 KO 0 non tests
Charge la RAM avec des gros Affichage de la panne sur WebUI et
CPU w:90 c:95
processus. envoie d'alerte pour l'lment. ok ok ok
Remplir le disque avec des Affichage de la panne sur WebUI et
Disque w:90 c:95
gros fichiers. envoie d'alerte pour l'lment. ok ok ok
Charge la RAM avec des gros Affichage de la panne sur WebUI et
RAM w:90 c:95
processus. envoie d'alerte pour l'lment. ok ok ok
Enlever cble rseau. Affichage de la panne sur WebUI et
Host DOWN.
envoie d'alerte pour l'lment. ok ok ok
i. Macro Planning
Je dtermine les grandes tapes du projet avec une macro planning et les tches sont dfinies dans le planning
avec des estimations de dure.
Dates importantes : Dbut 20 avril
Remise du rapport hepia 8 juillet
Prsentation le 2 septembre
Etude : Etudier les outils, technologies, linfrastructure etc.
Rdaction : Ecrire les documents.
Mise en uvre : Installation, configuration, paramtrage et test.
Mises jour : Appliquer le changement et correction aprs la dmo.
Livrables sont les documents et le serveur de supervision livrer lentreprise.
b. Backlog du produit
A partir du cahier de charge (chapitre 2.7) jai identifi les tches raliser. Comme lentreprise voulait
avoir une premire preuve pour la faisabilit du systme jai divis le projet en 2 lots. Le premire consiste
dterminer un scnario de supervision cela veut dire slectionner des lments importants pour lentreprise et
mettre en place le serveur de supervision pour la partie concerne. Et le deuxime lot consiste valider la
supervision et ajouter dautre outil afin damliorer la supervision.
Cette manire de planification me donne la possibilit de changer loutil et les mthodes de supervision si je
rencontre un problme srieux lors du lot 1.
Chaque fonctionnalit comporte une description pour expliquer la tche et une dure de ralisation pour la
planification.
Ce backlog de produit a t valid par le directeur technique aprs la premire semaine.
Inst aller les services ncessaires pour faire marcher int erface web.
'P1-007 Act iver, configurer int erface web. Inst aller le module d'int erface web et coupler avec le superviseur 1.00 0.50 0.50
Configurer l'accs depuis int erne et ext erne.
Inst aller les plugins et les configurer pour ajout er les lment s surveiller.
'P1-008 Inst allat ion des plugins. Act iver ces fonct ionnement dans le superviseur. Inst allat ion sur les 1.00 2.00 2.00
quipement s monit or si ncessaire.
Ajout er une machine physique dans la configurat ion de l'out il. Paramt rer
'P1-009 Ajout er un host . les fact eurs surveiller. Dfinir les seuils, les frquences de check et les 1.00 1.00 1.00
alert es.
Ajout er l'quipement dans le superviseur. Paramt rer les fact eurs
'P1-010 Ajout er un swit ch. 1.00 0.50 0.50
surveiller. Dfinir les seuils, les frquences de check et les alert es.
Ajout er l'quipement dans le superviseur. Paramt rer les fact eurs
'P1-011 Ajout er rout eur. 1.00 1.00 1.00
surveiller. Dfinir les seuils, les frquences de check et les alert es.
Dfinir les dpendances des quipement s ajout s et de les ajout er dans la
'P1-012 Ajout er dpendances. 1.00 0.50 0.50
configurat ions du superviseur.
Ajout er configurat ion pour t est er accs int ernet depuis le point de sort ie du
'P1-013 Ajout er FAI. 1.00 1.00 1.00
rout eur.
Crer compt e vSphere superviseur. Ajout er configurat ion vSphere dans le
superviseur. Ajout er l'hyperviseur dans la configurat ion de l'out il.
'P1-014 Ajout er Hyperviseur Esxi OVH. 1.00 1.00 1.00
Dploiement sur serveur Esxi. Paramt rer les fact eurs surveiller. Dfinir
les seuils, les frquences de check et les alert es. Test er la surveillance.
Ajout er VM dans la configurat ion de l'out il. Paramt rer les fact eurs
'P1-015 Ajout er VM. surveiller. Dfinir les seuils, les frquences de check et les alert es. Test er la 1.00 1.00 1.00
surveillance.
Ajout er les dpendances ncessaires pour la VM et hyperviseur. Test er les
'P1-016 Ajout er dpendances et t est er. 1.00 1.00 1.00
dpendances.
Crer compt e MySQL pour superviseur. Configurer le plugin et ajout er
'P1-017 Ajout er Serveur MySQL. 1.00 1.00 1.00
serveur MySQL dan le superviseur.
Ajout er un serveur HTTP dans la configurat ion de l'out il. Paramt rer les
'P1-018 Ajout er Serveur HTTP. fact eurs surveiller. Dfinir les seuils, les frquences de check et les 1.00 1.00 1.00
alert es.
Ajout er un serveur FTP dans la configurat ion de l'out il. Paramt rer les
'P1-019 Ajout er serveur FTP fact eurs surveiller. Dfinir les seuils, les frquences de check et les 1.00 1.00 1.00
alert es.
'P1-020 Ajout er modem. 1.00 1.00 1.00
Rdact ions des manuels d'inst allat ions et configurat ions concernant le
'P1-021 Manuel d'inst allat ion et configurat ion. 1.00 1.00 1.00
serveur de supervision, l'out ils et les plugins ut iliss.
Simuler cert ains scnarios de panne. Faire t omber les quipement ou les
applicat ions de t est . Ce t est comprend un mal fonct ionnement d'un service
'P1-022 Test er scnario de panne. hberg sur VM, panne d'une VM, problme dans Hyperviseur, problme 1.00 1.00 1.00
du rseau, anomalie dans rseau et post e int erne. Visualiser ces t at s dans
int erface. Surveiller les not ificat ions envoys. Observer les acquit t ions.
c. Rentabilit
Faible cot. Tous les outils installs sont open source et gratuits. Mais linstallation de ces outils prend
beaucoup de temps.
d. Cot
Heures de travail pour mise en uvre
Serveur de supervision
e. Gains
On peut estimer quelques gains mais les vrais gains, on verra une fois que le systme est tendu sur
linfrastructure.
Heures de travail de ladmin est optimis et il sera proactif.
Rapidit de la rsolution des problmes.
Moins dinterventions urgentes et coteuses.
Identification des faiblesses et supervision sur la base de mtriques.
f. Contraintes
i. Dlais
Le projet dbute le 20 avril et prend la fin le 8 juillet ce qui fait 11 semaines. Mais une semaine est
prvue pour les mises jour aprs cette date.
ii. Technique
Etre facile dutilisation
Etre facile paramtrer
Envoyer des mails en cas dalerte
g. Livrables
h. Critres dacceptations
La solution fournie doit remplir certaines conditions pour tre une solution acceptable.
Supporter infrastructure distribu et htrogne
Doit donner la possibilit de la dployer. (Ex. : ajouter un parc, un serveur )
Le systme doit dtecter la panne en prenant en compte les dpendances. (Ex. : switch en panne et il ne doit
pas dire tous ce qui lis ce switch sont en panne)
Alerter au bon moment et dans certaines limites de temps et degr dimportance
i. EQUIPE
Le projet sera ralis par Huseyin et surveill par le directeur technique de Qim info M. DAUDEL et M.
Hostettler qui est ingnieur de systme en tant que collaborateur externe. Le chef de projet M. Loc est l pour
le bon droulement du projet.
j. Recettage
La solution de supervision installe doit tre teste afin de vrifier les spcifications indiques dans le chapitre
10.4.1 et dans le cahier de charges 4.2 .
Un tableau de test prpar montre les tests effectuer avant la sortie dune version Bta de la solution.
k. Risques
Jai commenc dterminer les risques partir de ce que je devais raliser et je devais toucher. Les retours des
autres ralisations mont aid pour identifier les risques aussi. Avec les projets qui touchent linfrastructure,
nous avons toujours certaines risques comme ; dtre bloqu par les quipements ou applications, provoquer
certaines pannes ou charger le rseau. Comme il y a un systme denvoie mail avec la source de panne, cela
risque des envois excises et avec des fausses alertes. Le choix doutil peut aussi tre un risque car en cas de
dun mauvais choix jai un risque. Un pour un projet informatique peut facilement comporter le risque de
dpassement comptences sil est men par un dbutant dans les domaines.
A partir de tous ces risques jai tabli ma carte de risque en identifiant aussi son impact, son type, ses
consquences mais aussi les actions prventives mener. Jai dtermin des dates pour fermer les risques par
rapport aux tapes des ralisations.
Tous les risques doivent tre ferms au plus tard aprs les tests. Cette gestion de risque est suivie par le
consultant William Ray et les fermetures de risques sont confirmes par lui.
Crer un compte sur le site Wmware.com pour pouvoir tlcharger limage et avoir une licence gratuite. On peut
choisir la version dEsxi grce au comparateur mise en disposition. Il faut choisir la version par rapport au
matriel, lOS de la VM installer. Le matriel disposition support Esxi 5.5 mais pas 6.0.
Pour installer et utiliser Esxi 5.5, vos ressources matrielles et systme doivent rpondre aux exigences suivantes
:
Esxi 5.5 n'installera et n'excutera que les serveurs dots de CPU x86 64 bits.
Esxi 5.5 ncessite une machine hte disposant d'au moins deux curs.
Esxi 5.5 ne prend en charge que les instructions de CPU LAHF et SAHF.
Esxi 5.5 ncessite d'activer le bit NX/XD pour le processeur dans le BIOS.
Les cartes rseaux de Realtek R8168/8169 ne sont pas prises en charges mais la modification de limage Esxi est
possible. Pour modifier une image tlcharger le logiciel Esxi customizer et les pilotes pour les cartes rseaux sur
le mme site.
Site de tlchargement :
http://unetbootin.sourceforge.net/
c. Installation Esxi
Dmarrer lordinateur sur la cl USB et slectionner linstallation Esxi dans le menu qui est affich.
Il faut dmarrer le PC et configurer la carte rseau avec une IP fixe. Appuyer sur F2 et entrer le mot de passe du
root.
La machine se configure via le DHCP au dmarrage et il faut modifier pour un avoir une IP fixe.
Choisir configuration manuel, entrer lIP du serveur DNS, choisir un nom et une IP disponible.
Il faut aussi activer le SSH sur machine Esxi pour la gestion via VSphere.
Le hyperviseur Esxi 5.5 comporte une vulnrabilit li OpenSSL et Heartbleed, il faut appliquer les corrections
KB2076121 et KB2076589. La procdure est explique sur le site de WMWare.
http://kb.vmware.com/selfservice/search.do?cmd=displayKC&docType=kc&docTypeID=DT_KB_1_1&externalId
=2076692
La dernire tape consiste entrer la cl de la licence obtenue sur le site WMWare.com. Elle est gratuite et
affich dans longlet de tlchargement de votre compte WMWare. Sinon un avertissement (Votre licence
expire dans 60 jours et vos machines virtuelles seront dsactives)
Il faut slectionner la machine dans VSphere et aller dans :
Configuration -> Fonctions autorises -> Modifier -> Affecter une cl -> Entrer cl et entrer la cl que vous
avec pris.
Annexe F. Procdure de
cration VM via client
vSphere
Dans menu fichier -> nouveau et machine virtuelle.
Slectionner limage depuis local et mettre vers la machine dans longlet droit.
* Figure 95 Slectionner le lecteur et connecter avec image de banque et choisir lemplacement de limage transfr
Maintenant on peut dmarrer la VM et elle dmarre sur limage et on peut lancer linstallation.
Mais dans la vue IT problems le Shinken affiche juste llments perturbateur car il peut faire la corrlation
de donnes grce aux dpendances.
La vue Currently (Vue globale) affiche un rsum du systme. Les impacts sont les rgles mtier touches
par le problmes. IT problme affiche un seul problme car il ne peut pas dterminer ltat de
linfrstructure OVH qui dpend de laccs internet. Laccs internet est dclar comme hte donc le
systme considre un hte DOWN. (8 htes total- chaque hte represente 12,50 % des htes)
La vue Wall affiche les impacts de business et les IT problems dans une seule vue.
Shinken gnere une seule notification pour laccs internet et il ne vas notifier tous les lments dpendants
comme le serveur extsrv003 chez OVH.
b. Charge CPU du PC 19
Vue dtaille de la charge CPU du PC19.
* Figure 109 Etat charge CPU du pc19 sur interface web Shinken
Dans la vue All on voit tous les problmes li ou pas au serveur Apache.
Par contre dans la vue IT problems Shinken dtecte un seul problme car les autres problmes sont lis au
Sous la vue Impacts on peut les dpendances du business et les problme lis.
Les mails recus. On recoit des notifications pour les rgles mtier aussi.
b. Sonde FTP
c. Sonde SNMP
La conversation entre le superviseur et routeur pour une sonde avec le SNMP .
Annexe J. Figures
* Figure 1 Logo de Qim info ................................................................................. 9
* Figure 2 Mind map pour la supervision ............................................................ 10
* Figure 3 Chane de la supervision .................................................................... 11
* Figure 4 Couches des lments pour la supervision ..................................... 11
* Figure 5 Schma du fonctionnement SNMP .................................................... 13
* Figure 6 Exemple d'architecture Shinken pour un systme distribu ............... 17
* Figure 7 Logo Shinken ..................................................................................... 18
* Figure 8 Architecture Shinken .......................................................................... 18
* Figure 9 Exemple du rsultat des plugins dans Shell ....................................... 20
* Figure 10Performance data retourn par le check disk via SSH sur int. Web .. 20
* Figure 11 dclaration d'un module dan /etc/shinken/modules .......................... 22
* Figure 12 Ajout du module webui dans le dmon broker ................................. 22
* Figure 13 Fonctionnement d'un check en SSH ................................................ 23
* Figure 15 Vues de l'interface web sur un smartphone ..................................... 24
* Figure 14 Interface Web Shinken - Vue Dashboard ........................................ 24
* Figure 16 Interface Web avec Graphite ........................................................... 26
* Figure 17 Schma de communications entre shinken et dautres outils .......... 26
* Figure 18 Schma du scnario ........................................................................ 28
* Figure 19 Schma de dpendances ................................................................ 29
* Figure 20 Schma Rgler mtier (Business Rule) utilisation intranet depuis local
de Genve ................................................................................................................ 33
* Figure 21 Composition dun Rgles mtier (Business rule)............................. 34
* Figure 22 Logigramme de dploiement .......................................................... 35
* Figure 23 Message derreur si le module de sauvegarde nest pas activ. . 38
* Figure 24 Listes de processus de Shinken aprs le dmarrage....................... 39
* Figure 25 Aide pour lutilisation dun plugin ...................................................... 41
* Figure 26 Figure Configuration de chemins de plugins. ................................... 41
* Figure 27 Message derreur aprs une vrification de la configuration. .......... 42
* Figure 28 Dfinition dun routeur via SNMP ..................................................... 43
* Figure 29 Dfinition d'un serveur et configuration SSH ................................... 44
* Figure 30 Dfinition d'un service pour connexion SSH .................................... 45
* Figure 31 Ajout d'un contact ............................................................................. 45