158
C CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE RÉGIONAL ASSOCIÉ DE BELFORT ___________________ Mémoire présenté en vue d'obtenir LE DIPLÔME D'INGÉNIEUR CNAM Spécialité : INFORMATIQUE OPTION : systèmes d'information par Timothée Foucart ___________________ aspects fonctionnels et techniques de la supervision d'un système d'information études et mise en œuvre de procédés de supervision _________________ JURY PRÉSIDENT : Monsieur Kamel Barkaoui MEMBRES : Monsieur A.-J. Fougères Monsieur P. Descamps Monsieur A. Schili TUTEURS : Monsieur Y. Daouze Monsieur R. Baudiquey

CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

CCONSERVATOIRE NATIONAL DES ARTS ET MEacuteTIERS

CENTRE REacuteGIONAL ASSOCIEacute DE BELFORT

___________________

Meacutemoire

preacutesenteacute en vue dobtenir

LE DIPLOcircME DINGEacuteNIEUR CNAM

Speacutecialiteacute INFORMATIQUE

OPTION systegravemes dinformation

par

Timotheacutee Foucart

___________________

aspects fonctionnels et techniques de la supervision

dun systegraveme dinformation

eacutetudes et mise en œuvre de proceacutedeacutes de supervision

_________________

JURY

PREacuteSIDENT Monsieur Kamel Barkaoui

MEMBRES Monsieur A-J Fougegraveres

Monsieur P Descamps

Monsieur A Schili

TUTEURS Monsieur Y Daouze

Monsieur R Baudiquey

Remerciements

Je tiens agrave remercier ici toutes les personnes qui de pregraves ou de loin mont aideacute etsoutenu durant la mise en œuvre de ce projet et leacutecriture de ce meacutemoire

Ces remerciements sadressent plus particuliegraverement agrave

- mes deux collegravegues Renaud Baudiquey et Nelly Guyerdet avec qui nous formonsle pocircle systegraveme dinformation de Grand Besanccedilon Habitat Je suis speacutecialement recon-naissant envers Renaud Baudiquey qui a accepteacute de tenir le rocircle de tuteur conjointe-ment agrave Yves Daouze

- Yves Daouze directeur geacuteneacuteral de GBH qui a bien voulu assumer le rocircle de tu-teur en cours de projet suite au deacutepart de Reacutemy Heintzmann

- Catherine Berthet pour son fastidieux travail de correction ses exigences typo-graphiques qui deacutepassent de loin les miennes et sa patience

- Claire et les filles mes plus fidegraveles allieacutees qui se demandent souvent sil existe unevie apregraves le CNAM

- Armand Guy pour son indeacutefectible et preacutecieux soutien

Je tiens enfin agrave saluer Alain-Jeacuterocircme Fougegraveres pour les nombreux conseils et le tempsquil a pu me consacrer lors de la reacutedaction de ce meacutemoire

Liste des abreacuteviationsAPI application programming interface (interface de programmation)

APM application performance management

CIM common information model

DMZ demilitarized zone

DNS domain name system

EUE end user experience tests comportementaux

ERP enterprise ressource planning

ETL extract transform load

GBH Grand Besanccedilon Habitat (office public de lhabitat de Besanccedilon)

GIE groupement drsquointeacuterecirct eacuteconomique

IAB Internet Activities Board

IHM interface homme-machine

ITIL Information Technology Infrastructure Library

IPMI intelligent platform management interface

KPI key performance indicator

KVM keybord-video-mouse switch

LDAP lightweight directory access protocol

LTO linear tape open

LED light-emitting diode

NAS network attached storage

NRPE Nagios remote plug-in executor

NSCA Nagios service check acceptor

OID object identifier

OPH office public de lhabitat

SAN stockage area network

SEPA Single European Payment Area

SI systegraveme dinformation

SLA service level agrement

SNMP simple network management protocol

SMI storage management initiative

SMTP service message transport protocol

SSII socieacuteteacute de services en industrie informatique

WBEM web based enterprise management

Tableau 1 liste des abreacuteviations

Table des matiegraveresIntroduction101Contexte142Enjeux et architectures18

21ITIL et les enjeux de la supervision1822 Eacutevaluation des besoins25

221Lexemple de lERP Aravis252211Preacutesentation252212Aspects fonctionnels et applicatifs282213Vue technique plates-formes systegravemes et infrastructure30

222Synthegravese3223Choix dune solution de supervision37

231Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision382311Le cas du protocole SNMP38

Le protocole39Les MIB41Exemple43

2312Le modegravele CIM442313Impleacutementations reposant sur le modegravele CIM48

WMI Windows Management Instrumentation48SMI-S49IPMI51

2314Le point de vue utilisateur End User Experience et ApplicationPerformance Management51

232Le marcheacute des solutions de supervision543Principes de larchitecture cible60

31Shinken60311Lheacuteritage de Nagios60

3111Meacutethodes dobtention des informations603112Commandes de veacuterification (checks)613113Le laquo modegravele raquo Nagios613114Statut des objets623115Ordonnancement des veacuterifications643116Synthegravese64

312Architecture geacuteneacuterale de Shinken663121Configuration68

3122Plug-ins713123Triggers713124Regravegles meacutetier (business rules)723125Les modules73

313Preacutesentation des donneacutees et interfaces graphiques773131Linterface Shinken78

32Canopsis80321Fonctionnement geacuteneacuteral80322Connecteur et messages Canopsis85323Rendu graphique87324Lassociation Shinken - Canopsis synthegravese89

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH9141Organisation du projet91

411Moyens de mise en œuvre et mise en place du processus91412Difficulteacutes rencontreacutees93

42Techniques de collecte de donneacutees96421Sondes techniques96

4211Techniques mises en œuvre974212Exemples de sondes984213Rendu graphique avec Graphite101

422End User Experience les tests comportementaux1044221Tests EUE avec CasperJS lexemple de linterface imhoweb1054222Tests EUE avec Sikuli107

423Prise en compte des messages SNMP passifs110424Inteacutegration des messages Syslog113

43Indicateurs complexes115431Les triggers Shinken115432Construction dindicateurs dans Canopsis117

4321Selectors et SLA1174322Repreacutesentation graphique dun seacutelecteur1214323Topology122

44Eacutevolutions preacutevues1245Conclusion1276Annexes133

Table des annexes13361Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ136

64Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

7Bibliographie1488Index des illustrations154

IntroductionDans un systegraveme dinformation la question de la performance et de sa mesure est

une preacuteoccupation de fond dont les motivations se deacuteclinent souvent au niveau globalimpliquant lorganisation dans son ensemble On peut par exemple y associer des objec-tifs financiers opeacuterationnels ou strateacutegiques dont la porteacutee concerne davantage un pilo-tage directif[1] que les praticiens du systegraveme dinformation Agrave partir de lagrave deux perspec-tives peuvent ecirctre distingueacutees

celle du pilotage du SI qui valorise une approche top-down et consideacutererait lesystegraveme dinformation comme une entiteacute deacutefinie dont lactiviteacute est quantifiable

celle des praticiens mecircmes du systegraveme dinformation agrave savoir lensemble de sesutilisateurs ougrave lon pourrait consideacuterer le systegraveme dinformation comme un en-semble flou construit de pratiques autour doutils

Ces deux perspectives non quelles sopposent neacutecessairement1 teacutemoignent de lacomplexiteacute de la nature dun systegraveme dinformation2 mais eacutegalement des liens teacutenusquil entretient avec lorganisation La question de leacutevaluation du systegraveme dinformationrenvoie agrave cette dualiteacute mais tend agrave limiter sa porteacutee agrave la seule preacuteoccupation de leacutequi-pement informatique et de son fonctionnement Cette vision limitative explique que dansune organisation le systegraveme dinformation soit le fait des informaticiens

Il reste toutefois deacutelicat dobserver une seacuteparation stricte entre les pratiques collec-tives ou individuelles autour de loutil informatique et la technique informatique simple-ment parce que le systegraveme dinformation concerne par nature tous ses usagers Aussi latentation de distinguer le laquo technique raquo du laquo fonctionnel raquo comme sil sagissait de deuxdomaines indeacutependants pose la question du rocircle de loutil informatique au regard de lor-ganisation

La veacuteritable difficulteacute provient sans doute de la perception de loutil que lon seconstruit Par exemple lors de demandes dassistance des usagers au service informa-tique on constate freacutequemment que ce qui laquofonctionneraquo ou ce qui laquone marche pasraquo nestpas neacutecessairement le fait dun dysfonctionnement technique mais peut tout aussi bienecirctre leffet dune pratique inapproprieacutee lexpression dun ressenti dune croyance ou

1 Une approche critique agrave propos de la theacuteorie de la pratique pourrait ecirctre celle de P Bourdieu[2] quioppose une vision theacuteorique agrave sa praxeacuteologie En ce sens on pourrait consideacuterer le systegraveme dinforma-tion comme un ensemble construit de pratiques plutocirct que comme une entiteacute dont on preacutesuppose lacoheacuterence et que lon eacutevalue par des indicateurs globaux

2 Une deacutefinition du systegraveme dinformation laquo Un systegraveme dinformation (SI) est un ensemble organiseacutede ressources (mateacuteriels logiciels personnel donneacutees et proceacutedures) qui permet de collecter regrou-per classifier traiter et diffuser de linformation dans un environnement donneacute raquo[3]

Page 10

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 2: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

Remerciements

Je tiens agrave remercier ici toutes les personnes qui de pregraves ou de loin mont aideacute etsoutenu durant la mise en œuvre de ce projet et leacutecriture de ce meacutemoire

Ces remerciements sadressent plus particuliegraverement agrave

- mes deux collegravegues Renaud Baudiquey et Nelly Guyerdet avec qui nous formonsle pocircle systegraveme dinformation de Grand Besanccedilon Habitat Je suis speacutecialement recon-naissant envers Renaud Baudiquey qui a accepteacute de tenir le rocircle de tuteur conjointe-ment agrave Yves Daouze

- Yves Daouze directeur geacuteneacuteral de GBH qui a bien voulu assumer le rocircle de tu-teur en cours de projet suite au deacutepart de Reacutemy Heintzmann

- Catherine Berthet pour son fastidieux travail de correction ses exigences typo-graphiques qui deacutepassent de loin les miennes et sa patience

- Claire et les filles mes plus fidegraveles allieacutees qui se demandent souvent sil existe unevie apregraves le CNAM

- Armand Guy pour son indeacutefectible et preacutecieux soutien

Je tiens enfin agrave saluer Alain-Jeacuterocircme Fougegraveres pour les nombreux conseils et le tempsquil a pu me consacrer lors de la reacutedaction de ce meacutemoire

Liste des abreacuteviationsAPI application programming interface (interface de programmation)

APM application performance management

CIM common information model

DMZ demilitarized zone

DNS domain name system

EUE end user experience tests comportementaux

ERP enterprise ressource planning

ETL extract transform load

GBH Grand Besanccedilon Habitat (office public de lhabitat de Besanccedilon)

GIE groupement drsquointeacuterecirct eacuteconomique

IAB Internet Activities Board

IHM interface homme-machine

ITIL Information Technology Infrastructure Library

IPMI intelligent platform management interface

KPI key performance indicator

KVM keybord-video-mouse switch

LDAP lightweight directory access protocol

LTO linear tape open

LED light-emitting diode

NAS network attached storage

NRPE Nagios remote plug-in executor

NSCA Nagios service check acceptor

OID object identifier

OPH office public de lhabitat

SAN stockage area network

SEPA Single European Payment Area

SI systegraveme dinformation

SLA service level agrement

SNMP simple network management protocol

SMI storage management initiative

SMTP service message transport protocol

SSII socieacuteteacute de services en industrie informatique

WBEM web based enterprise management

Tableau 1 liste des abreacuteviations

Table des matiegraveresIntroduction101Contexte142Enjeux et architectures18

21ITIL et les enjeux de la supervision1822 Eacutevaluation des besoins25

221Lexemple de lERP Aravis252211Preacutesentation252212Aspects fonctionnels et applicatifs282213Vue technique plates-formes systegravemes et infrastructure30

222Synthegravese3223Choix dune solution de supervision37

231Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision382311Le cas du protocole SNMP38

Le protocole39Les MIB41Exemple43

2312Le modegravele CIM442313Impleacutementations reposant sur le modegravele CIM48

WMI Windows Management Instrumentation48SMI-S49IPMI51

2314Le point de vue utilisateur End User Experience et ApplicationPerformance Management51

232Le marcheacute des solutions de supervision543Principes de larchitecture cible60

31Shinken60311Lheacuteritage de Nagios60

3111Meacutethodes dobtention des informations603112Commandes de veacuterification (checks)613113Le laquo modegravele raquo Nagios613114Statut des objets623115Ordonnancement des veacuterifications643116Synthegravese64

312Architecture geacuteneacuterale de Shinken663121Configuration68

3122Plug-ins713123Triggers713124Regravegles meacutetier (business rules)723125Les modules73

313Preacutesentation des donneacutees et interfaces graphiques773131Linterface Shinken78

32Canopsis80321Fonctionnement geacuteneacuteral80322Connecteur et messages Canopsis85323Rendu graphique87324Lassociation Shinken - Canopsis synthegravese89

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH9141Organisation du projet91

411Moyens de mise en œuvre et mise en place du processus91412Difficulteacutes rencontreacutees93

42Techniques de collecte de donneacutees96421Sondes techniques96

4211Techniques mises en œuvre974212Exemples de sondes984213Rendu graphique avec Graphite101

422End User Experience les tests comportementaux1044221Tests EUE avec CasperJS lexemple de linterface imhoweb1054222Tests EUE avec Sikuli107

423Prise en compte des messages SNMP passifs110424Inteacutegration des messages Syslog113

43Indicateurs complexes115431Les triggers Shinken115432Construction dindicateurs dans Canopsis117

4321Selectors et SLA1174322Repreacutesentation graphique dun seacutelecteur1214323Topology122

44Eacutevolutions preacutevues1245Conclusion1276Annexes133

Table des annexes13361Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ136

64Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

7Bibliographie1488Index des illustrations154

IntroductionDans un systegraveme dinformation la question de la performance et de sa mesure est

une preacuteoccupation de fond dont les motivations se deacuteclinent souvent au niveau globalimpliquant lorganisation dans son ensemble On peut par exemple y associer des objec-tifs financiers opeacuterationnels ou strateacutegiques dont la porteacutee concerne davantage un pilo-tage directif[1] que les praticiens du systegraveme dinformation Agrave partir de lagrave deux perspec-tives peuvent ecirctre distingueacutees

celle du pilotage du SI qui valorise une approche top-down et consideacutererait lesystegraveme dinformation comme une entiteacute deacutefinie dont lactiviteacute est quantifiable

celle des praticiens mecircmes du systegraveme dinformation agrave savoir lensemble de sesutilisateurs ougrave lon pourrait consideacuterer le systegraveme dinformation comme un en-semble flou construit de pratiques autour doutils

Ces deux perspectives non quelles sopposent neacutecessairement1 teacutemoignent de lacomplexiteacute de la nature dun systegraveme dinformation2 mais eacutegalement des liens teacutenusquil entretient avec lorganisation La question de leacutevaluation du systegraveme dinformationrenvoie agrave cette dualiteacute mais tend agrave limiter sa porteacutee agrave la seule preacuteoccupation de leacutequi-pement informatique et de son fonctionnement Cette vision limitative explique que dansune organisation le systegraveme dinformation soit le fait des informaticiens

Il reste toutefois deacutelicat dobserver une seacuteparation stricte entre les pratiques collec-tives ou individuelles autour de loutil informatique et la technique informatique simple-ment parce que le systegraveme dinformation concerne par nature tous ses usagers Aussi latentation de distinguer le laquo technique raquo du laquo fonctionnel raquo comme sil sagissait de deuxdomaines indeacutependants pose la question du rocircle de loutil informatique au regard de lor-ganisation

La veacuteritable difficulteacute provient sans doute de la perception de loutil que lon seconstruit Par exemple lors de demandes dassistance des usagers au service informa-tique on constate freacutequemment que ce qui laquofonctionneraquo ou ce qui laquone marche pasraquo nestpas neacutecessairement le fait dun dysfonctionnement technique mais peut tout aussi bienecirctre leffet dune pratique inapproprieacutee lexpression dun ressenti dune croyance ou

1 Une approche critique agrave propos de la theacuteorie de la pratique pourrait ecirctre celle de P Bourdieu[2] quioppose une vision theacuteorique agrave sa praxeacuteologie En ce sens on pourrait consideacuterer le systegraveme dinforma-tion comme un ensemble construit de pratiques plutocirct que comme une entiteacute dont on preacutesuppose lacoheacuterence et que lon eacutevalue par des indicateurs globaux

2 Une deacutefinition du systegraveme dinformation laquo Un systegraveme dinformation (SI) est un ensemble organiseacutede ressources (mateacuteriels logiciels personnel donneacutees et proceacutedures) qui permet de collecter regrou-per classifier traiter et diffuser de linformation dans un environnement donneacute raquo[3]

Page 10

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 3: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

Liste des abreacuteviationsAPI application programming interface (interface de programmation)

APM application performance management

CIM common information model

DMZ demilitarized zone

DNS domain name system

EUE end user experience tests comportementaux

ERP enterprise ressource planning

ETL extract transform load

GBH Grand Besanccedilon Habitat (office public de lhabitat de Besanccedilon)

GIE groupement drsquointeacuterecirct eacuteconomique

IAB Internet Activities Board

IHM interface homme-machine

ITIL Information Technology Infrastructure Library

IPMI intelligent platform management interface

KPI key performance indicator

KVM keybord-video-mouse switch

LDAP lightweight directory access protocol

LTO linear tape open

LED light-emitting diode

NAS network attached storage

NRPE Nagios remote plug-in executor

NSCA Nagios service check acceptor

OID object identifier

OPH office public de lhabitat

SAN stockage area network

SEPA Single European Payment Area

SI systegraveme dinformation

SLA service level agrement

SNMP simple network management protocol

SMI storage management initiative

SMTP service message transport protocol

SSII socieacuteteacute de services en industrie informatique

WBEM web based enterprise management

Tableau 1 liste des abreacuteviations

Table des matiegraveresIntroduction101Contexte142Enjeux et architectures18

21ITIL et les enjeux de la supervision1822 Eacutevaluation des besoins25

221Lexemple de lERP Aravis252211Preacutesentation252212Aspects fonctionnels et applicatifs282213Vue technique plates-formes systegravemes et infrastructure30

222Synthegravese3223Choix dune solution de supervision37

231Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision382311Le cas du protocole SNMP38

Le protocole39Les MIB41Exemple43

2312Le modegravele CIM442313Impleacutementations reposant sur le modegravele CIM48

WMI Windows Management Instrumentation48SMI-S49IPMI51

2314Le point de vue utilisateur End User Experience et ApplicationPerformance Management51

232Le marcheacute des solutions de supervision543Principes de larchitecture cible60

31Shinken60311Lheacuteritage de Nagios60

3111Meacutethodes dobtention des informations603112Commandes de veacuterification (checks)613113Le laquo modegravele raquo Nagios613114Statut des objets623115Ordonnancement des veacuterifications643116Synthegravese64

312Architecture geacuteneacuterale de Shinken663121Configuration68

3122Plug-ins713123Triggers713124Regravegles meacutetier (business rules)723125Les modules73

313Preacutesentation des donneacutees et interfaces graphiques773131Linterface Shinken78

32Canopsis80321Fonctionnement geacuteneacuteral80322Connecteur et messages Canopsis85323Rendu graphique87324Lassociation Shinken - Canopsis synthegravese89

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH9141Organisation du projet91

411Moyens de mise en œuvre et mise en place du processus91412Difficulteacutes rencontreacutees93

42Techniques de collecte de donneacutees96421Sondes techniques96

4211Techniques mises en œuvre974212Exemples de sondes984213Rendu graphique avec Graphite101

422End User Experience les tests comportementaux1044221Tests EUE avec CasperJS lexemple de linterface imhoweb1054222Tests EUE avec Sikuli107

423Prise en compte des messages SNMP passifs110424Inteacutegration des messages Syslog113

43Indicateurs complexes115431Les triggers Shinken115432Construction dindicateurs dans Canopsis117

4321Selectors et SLA1174322Repreacutesentation graphique dun seacutelecteur1214323Topology122

44Eacutevolutions preacutevues1245Conclusion1276Annexes133

Table des annexes13361Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ136

64Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

7Bibliographie1488Index des illustrations154

IntroductionDans un systegraveme dinformation la question de la performance et de sa mesure est

une preacuteoccupation de fond dont les motivations se deacuteclinent souvent au niveau globalimpliquant lorganisation dans son ensemble On peut par exemple y associer des objec-tifs financiers opeacuterationnels ou strateacutegiques dont la porteacutee concerne davantage un pilo-tage directif[1] que les praticiens du systegraveme dinformation Agrave partir de lagrave deux perspec-tives peuvent ecirctre distingueacutees

celle du pilotage du SI qui valorise une approche top-down et consideacutererait lesystegraveme dinformation comme une entiteacute deacutefinie dont lactiviteacute est quantifiable

celle des praticiens mecircmes du systegraveme dinformation agrave savoir lensemble de sesutilisateurs ougrave lon pourrait consideacuterer le systegraveme dinformation comme un en-semble flou construit de pratiques autour doutils

Ces deux perspectives non quelles sopposent neacutecessairement1 teacutemoignent de lacomplexiteacute de la nature dun systegraveme dinformation2 mais eacutegalement des liens teacutenusquil entretient avec lorganisation La question de leacutevaluation du systegraveme dinformationrenvoie agrave cette dualiteacute mais tend agrave limiter sa porteacutee agrave la seule preacuteoccupation de leacutequi-pement informatique et de son fonctionnement Cette vision limitative explique que dansune organisation le systegraveme dinformation soit le fait des informaticiens

Il reste toutefois deacutelicat dobserver une seacuteparation stricte entre les pratiques collec-tives ou individuelles autour de loutil informatique et la technique informatique simple-ment parce que le systegraveme dinformation concerne par nature tous ses usagers Aussi latentation de distinguer le laquo technique raquo du laquo fonctionnel raquo comme sil sagissait de deuxdomaines indeacutependants pose la question du rocircle de loutil informatique au regard de lor-ganisation

La veacuteritable difficulteacute provient sans doute de la perception de loutil que lon seconstruit Par exemple lors de demandes dassistance des usagers au service informa-tique on constate freacutequemment que ce qui laquofonctionneraquo ou ce qui laquone marche pasraquo nestpas neacutecessairement le fait dun dysfonctionnement technique mais peut tout aussi bienecirctre leffet dune pratique inapproprieacutee lexpression dun ressenti dune croyance ou

1 Une approche critique agrave propos de la theacuteorie de la pratique pourrait ecirctre celle de P Bourdieu[2] quioppose une vision theacuteorique agrave sa praxeacuteologie En ce sens on pourrait consideacuterer le systegraveme dinforma-tion comme un ensemble construit de pratiques plutocirct que comme une entiteacute dont on preacutesuppose lacoheacuterence et que lon eacutevalue par des indicateurs globaux

2 Une deacutefinition du systegraveme dinformation laquo Un systegraveme dinformation (SI) est un ensemble organiseacutede ressources (mateacuteriels logiciels personnel donneacutees et proceacutedures) qui permet de collecter regrou-per classifier traiter et diffuser de linformation dans un environnement donneacute raquo[3]

Page 10

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 4: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

Table des matiegraveresIntroduction101Contexte142Enjeux et architectures18

21ITIL et les enjeux de la supervision1822 Eacutevaluation des besoins25

221Lexemple de lERP Aravis252211Preacutesentation252212Aspects fonctionnels et applicatifs282213Vue technique plates-formes systegravemes et infrastructure30

222Synthegravese3223Choix dune solution de supervision37

231Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision382311Le cas du protocole SNMP38

Le protocole39Les MIB41Exemple43

2312Le modegravele CIM442313Impleacutementations reposant sur le modegravele CIM48

WMI Windows Management Instrumentation48SMI-S49IPMI51

2314Le point de vue utilisateur End User Experience et ApplicationPerformance Management51

232Le marcheacute des solutions de supervision543Principes de larchitecture cible60

31Shinken60311Lheacuteritage de Nagios60

3111Meacutethodes dobtention des informations603112Commandes de veacuterification (checks)613113Le laquo modegravele raquo Nagios613114Statut des objets623115Ordonnancement des veacuterifications643116Synthegravese64

312Architecture geacuteneacuterale de Shinken663121Configuration68

3122Plug-ins713123Triggers713124Regravegles meacutetier (business rules)723125Les modules73

313Preacutesentation des donneacutees et interfaces graphiques773131Linterface Shinken78

32Canopsis80321Fonctionnement geacuteneacuteral80322Connecteur et messages Canopsis85323Rendu graphique87324Lassociation Shinken - Canopsis synthegravese89

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH9141Organisation du projet91

411Moyens de mise en œuvre et mise en place du processus91412Difficulteacutes rencontreacutees93

42Techniques de collecte de donneacutees96421Sondes techniques96

4211Techniques mises en œuvre974212Exemples de sondes984213Rendu graphique avec Graphite101

422End User Experience les tests comportementaux1044221Tests EUE avec CasperJS lexemple de linterface imhoweb1054222Tests EUE avec Sikuli107

423Prise en compte des messages SNMP passifs110424Inteacutegration des messages Syslog113

43Indicateurs complexes115431Les triggers Shinken115432Construction dindicateurs dans Canopsis117

4321Selectors et SLA1174322Repreacutesentation graphique dun seacutelecteur1214323Topology122

44Eacutevolutions preacutevues1245Conclusion1276Annexes133

Table des annexes13361Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ136

64Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

7Bibliographie1488Index des illustrations154

IntroductionDans un systegraveme dinformation la question de la performance et de sa mesure est

une preacuteoccupation de fond dont les motivations se deacuteclinent souvent au niveau globalimpliquant lorganisation dans son ensemble On peut par exemple y associer des objec-tifs financiers opeacuterationnels ou strateacutegiques dont la porteacutee concerne davantage un pilo-tage directif[1] que les praticiens du systegraveme dinformation Agrave partir de lagrave deux perspec-tives peuvent ecirctre distingueacutees

celle du pilotage du SI qui valorise une approche top-down et consideacutererait lesystegraveme dinformation comme une entiteacute deacutefinie dont lactiviteacute est quantifiable

celle des praticiens mecircmes du systegraveme dinformation agrave savoir lensemble de sesutilisateurs ougrave lon pourrait consideacuterer le systegraveme dinformation comme un en-semble flou construit de pratiques autour doutils

Ces deux perspectives non quelles sopposent neacutecessairement1 teacutemoignent de lacomplexiteacute de la nature dun systegraveme dinformation2 mais eacutegalement des liens teacutenusquil entretient avec lorganisation La question de leacutevaluation du systegraveme dinformationrenvoie agrave cette dualiteacute mais tend agrave limiter sa porteacutee agrave la seule preacuteoccupation de leacutequi-pement informatique et de son fonctionnement Cette vision limitative explique que dansune organisation le systegraveme dinformation soit le fait des informaticiens

Il reste toutefois deacutelicat dobserver une seacuteparation stricte entre les pratiques collec-tives ou individuelles autour de loutil informatique et la technique informatique simple-ment parce que le systegraveme dinformation concerne par nature tous ses usagers Aussi latentation de distinguer le laquo technique raquo du laquo fonctionnel raquo comme sil sagissait de deuxdomaines indeacutependants pose la question du rocircle de loutil informatique au regard de lor-ganisation

La veacuteritable difficulteacute provient sans doute de la perception de loutil que lon seconstruit Par exemple lors de demandes dassistance des usagers au service informa-tique on constate freacutequemment que ce qui laquofonctionneraquo ou ce qui laquone marche pasraquo nestpas neacutecessairement le fait dun dysfonctionnement technique mais peut tout aussi bienecirctre leffet dune pratique inapproprieacutee lexpression dun ressenti dune croyance ou

1 Une approche critique agrave propos de la theacuteorie de la pratique pourrait ecirctre celle de P Bourdieu[2] quioppose une vision theacuteorique agrave sa praxeacuteologie En ce sens on pourrait consideacuterer le systegraveme dinforma-tion comme un ensemble construit de pratiques plutocirct que comme une entiteacute dont on preacutesuppose lacoheacuterence et que lon eacutevalue par des indicateurs globaux

2 Une deacutefinition du systegraveme dinformation laquo Un systegraveme dinformation (SI) est un ensemble organiseacutede ressources (mateacuteriels logiciels personnel donneacutees et proceacutedures) qui permet de collecter regrou-per classifier traiter et diffuser de linformation dans un environnement donneacute raquo[3]

Page 10

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 5: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

3122Plug-ins713123Triggers713124Regravegles meacutetier (business rules)723125Les modules73

313Preacutesentation des donneacutees et interfaces graphiques773131Linterface Shinken78

32Canopsis80321Fonctionnement geacuteneacuteral80322Connecteur et messages Canopsis85323Rendu graphique87324Lassociation Shinken - Canopsis synthegravese89

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH9141Organisation du projet91

411Moyens de mise en œuvre et mise en place du processus91412Difficulteacutes rencontreacutees93

42Techniques de collecte de donneacutees96421Sondes techniques96

4211Techniques mises en œuvre974212Exemples de sondes984213Rendu graphique avec Graphite101

422End User Experience les tests comportementaux1044221Tests EUE avec CasperJS lexemple de linterface imhoweb1054222Tests EUE avec Sikuli107

423Prise en compte des messages SNMP passifs110424Inteacutegration des messages Syslog113

43Indicateurs complexes115431Les triggers Shinken115432Construction dindicateurs dans Canopsis117

4321Selectors et SLA1174322Repreacutesentation graphique dun seacutelecteur1214323Topology122

44Eacutevolutions preacutevues1245Conclusion1276Annexes133

Table des annexes13361Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ136

64Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

7Bibliographie1488Index des illustrations154

IntroductionDans un systegraveme dinformation la question de la performance et de sa mesure est

une preacuteoccupation de fond dont les motivations se deacuteclinent souvent au niveau globalimpliquant lorganisation dans son ensemble On peut par exemple y associer des objec-tifs financiers opeacuterationnels ou strateacutegiques dont la porteacutee concerne davantage un pilo-tage directif[1] que les praticiens du systegraveme dinformation Agrave partir de lagrave deux perspec-tives peuvent ecirctre distingueacutees

celle du pilotage du SI qui valorise une approche top-down et consideacutererait lesystegraveme dinformation comme une entiteacute deacutefinie dont lactiviteacute est quantifiable

celle des praticiens mecircmes du systegraveme dinformation agrave savoir lensemble de sesutilisateurs ougrave lon pourrait consideacuterer le systegraveme dinformation comme un en-semble flou construit de pratiques autour doutils

Ces deux perspectives non quelles sopposent neacutecessairement1 teacutemoignent de lacomplexiteacute de la nature dun systegraveme dinformation2 mais eacutegalement des liens teacutenusquil entretient avec lorganisation La question de leacutevaluation du systegraveme dinformationrenvoie agrave cette dualiteacute mais tend agrave limiter sa porteacutee agrave la seule preacuteoccupation de leacutequi-pement informatique et de son fonctionnement Cette vision limitative explique que dansune organisation le systegraveme dinformation soit le fait des informaticiens

Il reste toutefois deacutelicat dobserver une seacuteparation stricte entre les pratiques collec-tives ou individuelles autour de loutil informatique et la technique informatique simple-ment parce que le systegraveme dinformation concerne par nature tous ses usagers Aussi latentation de distinguer le laquo technique raquo du laquo fonctionnel raquo comme sil sagissait de deuxdomaines indeacutependants pose la question du rocircle de loutil informatique au regard de lor-ganisation

La veacuteritable difficulteacute provient sans doute de la perception de loutil que lon seconstruit Par exemple lors de demandes dassistance des usagers au service informa-tique on constate freacutequemment que ce qui laquofonctionneraquo ou ce qui laquone marche pasraquo nestpas neacutecessairement le fait dun dysfonctionnement technique mais peut tout aussi bienecirctre leffet dune pratique inapproprieacutee lexpression dun ressenti dune croyance ou

1 Une approche critique agrave propos de la theacuteorie de la pratique pourrait ecirctre celle de P Bourdieu[2] quioppose une vision theacuteorique agrave sa praxeacuteologie En ce sens on pourrait consideacuterer le systegraveme dinforma-tion comme un ensemble construit de pratiques plutocirct que comme une entiteacute dont on preacutesuppose lacoheacuterence et que lon eacutevalue par des indicateurs globaux

2 Une deacutefinition du systegraveme dinformation laquo Un systegraveme dinformation (SI) est un ensemble organiseacutede ressources (mateacuteriels logiciels personnel donneacutees et proceacutedures) qui permet de collecter regrou-per classifier traiter et diffuser de linformation dans un environnement donneacute raquo[3]

Page 10

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 6: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

64Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

7Bibliographie1488Index des illustrations154

IntroductionDans un systegraveme dinformation la question de la performance et de sa mesure est

une preacuteoccupation de fond dont les motivations se deacuteclinent souvent au niveau globalimpliquant lorganisation dans son ensemble On peut par exemple y associer des objec-tifs financiers opeacuterationnels ou strateacutegiques dont la porteacutee concerne davantage un pilo-tage directif[1] que les praticiens du systegraveme dinformation Agrave partir de lagrave deux perspec-tives peuvent ecirctre distingueacutees

celle du pilotage du SI qui valorise une approche top-down et consideacutererait lesystegraveme dinformation comme une entiteacute deacutefinie dont lactiviteacute est quantifiable

celle des praticiens mecircmes du systegraveme dinformation agrave savoir lensemble de sesutilisateurs ougrave lon pourrait consideacuterer le systegraveme dinformation comme un en-semble flou construit de pratiques autour doutils

Ces deux perspectives non quelles sopposent neacutecessairement1 teacutemoignent de lacomplexiteacute de la nature dun systegraveme dinformation2 mais eacutegalement des liens teacutenusquil entretient avec lorganisation La question de leacutevaluation du systegraveme dinformationrenvoie agrave cette dualiteacute mais tend agrave limiter sa porteacutee agrave la seule preacuteoccupation de leacutequi-pement informatique et de son fonctionnement Cette vision limitative explique que dansune organisation le systegraveme dinformation soit le fait des informaticiens

Il reste toutefois deacutelicat dobserver une seacuteparation stricte entre les pratiques collec-tives ou individuelles autour de loutil informatique et la technique informatique simple-ment parce que le systegraveme dinformation concerne par nature tous ses usagers Aussi latentation de distinguer le laquo technique raquo du laquo fonctionnel raquo comme sil sagissait de deuxdomaines indeacutependants pose la question du rocircle de loutil informatique au regard de lor-ganisation

La veacuteritable difficulteacute provient sans doute de la perception de loutil que lon seconstruit Par exemple lors de demandes dassistance des usagers au service informa-tique on constate freacutequemment que ce qui laquofonctionneraquo ou ce qui laquone marche pasraquo nestpas neacutecessairement le fait dun dysfonctionnement technique mais peut tout aussi bienecirctre leffet dune pratique inapproprieacutee lexpression dun ressenti dune croyance ou

1 Une approche critique agrave propos de la theacuteorie de la pratique pourrait ecirctre celle de P Bourdieu[2] quioppose une vision theacuteorique agrave sa praxeacuteologie En ce sens on pourrait consideacuterer le systegraveme dinforma-tion comme un ensemble construit de pratiques plutocirct que comme une entiteacute dont on preacutesuppose lacoheacuterence et que lon eacutevalue par des indicateurs globaux

2 Une deacutefinition du systegraveme dinformation laquo Un systegraveme dinformation (SI) est un ensemble organiseacutede ressources (mateacuteriels logiciels personnel donneacutees et proceacutedures) qui permet de collecter regrou-per classifier traiter et diffuser de linformation dans un environnement donneacute raquo[3]

Page 10

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 7: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

IntroductionDans un systegraveme dinformation la question de la performance et de sa mesure est

une preacuteoccupation de fond dont les motivations se deacuteclinent souvent au niveau globalimpliquant lorganisation dans son ensemble On peut par exemple y associer des objec-tifs financiers opeacuterationnels ou strateacutegiques dont la porteacutee concerne davantage un pilo-tage directif[1] que les praticiens du systegraveme dinformation Agrave partir de lagrave deux perspec-tives peuvent ecirctre distingueacutees

celle du pilotage du SI qui valorise une approche top-down et consideacutererait lesystegraveme dinformation comme une entiteacute deacutefinie dont lactiviteacute est quantifiable

celle des praticiens mecircmes du systegraveme dinformation agrave savoir lensemble de sesutilisateurs ougrave lon pourrait consideacuterer le systegraveme dinformation comme un en-semble flou construit de pratiques autour doutils

Ces deux perspectives non quelles sopposent neacutecessairement1 teacutemoignent de lacomplexiteacute de la nature dun systegraveme dinformation2 mais eacutegalement des liens teacutenusquil entretient avec lorganisation La question de leacutevaluation du systegraveme dinformationrenvoie agrave cette dualiteacute mais tend agrave limiter sa porteacutee agrave la seule preacuteoccupation de leacutequi-pement informatique et de son fonctionnement Cette vision limitative explique que dansune organisation le systegraveme dinformation soit le fait des informaticiens

Il reste toutefois deacutelicat dobserver une seacuteparation stricte entre les pratiques collec-tives ou individuelles autour de loutil informatique et la technique informatique simple-ment parce que le systegraveme dinformation concerne par nature tous ses usagers Aussi latentation de distinguer le laquo technique raquo du laquo fonctionnel raquo comme sil sagissait de deuxdomaines indeacutependants pose la question du rocircle de loutil informatique au regard de lor-ganisation

La veacuteritable difficulteacute provient sans doute de la perception de loutil que lon seconstruit Par exemple lors de demandes dassistance des usagers au service informa-tique on constate freacutequemment que ce qui laquofonctionneraquo ou ce qui laquone marche pasraquo nestpas neacutecessairement le fait dun dysfonctionnement technique mais peut tout aussi bienecirctre leffet dune pratique inapproprieacutee lexpression dun ressenti dune croyance ou

1 Une approche critique agrave propos de la theacuteorie de la pratique pourrait ecirctre celle de P Bourdieu[2] quioppose une vision theacuteorique agrave sa praxeacuteologie En ce sens on pourrait consideacuterer le systegraveme dinforma-tion comme un ensemble construit de pratiques plutocirct que comme une entiteacute dont on preacutesuppose lacoheacuterence et que lon eacutevalue par des indicateurs globaux

2 Une deacutefinition du systegraveme dinformation laquo Un systegraveme dinformation (SI) est un ensemble organiseacutede ressources (mateacuteriels logiciels personnel donneacutees et proceacutedures) qui permet de collecter regrou-per classifier traiter et diffuser de linformation dans un environnement donneacute raquo[3]

Page 10

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 8: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …

dune humeur Ce renvoi systeacutematique agrave la repreacutesentation que lon se fait de loutil et agravela perception dun dysfonctionnement plutocirct quagrave sa fonction ideacuteale et theacuteorique met enexergue les limites dune approche technocentrique[4] qui associe le SI agrave la seule infra-structure mateacuterielle Parallegravelement ceci explique la difficulteacute pour les gestionnaires du SIagrave observer cette forme de neutraliteacute que lon appose aux outils quils gegraverent Ainsi onpourrait opposer un deacuteterminisme technologique3 ougrave lon consideacutererait la techniquecomme principal facteur dinfluence de lorganisation agrave un questionnement plus systeacute-mique ougrave il sagirait deacutevaluer laquo pourquoi comment et dans quelles limites les caracteacuteris-tiques dune technologie deviennent contraignantes pour les acteurs et comment joueravec ces contraintes raquo[6] Or cest dans cette ambivalence que sinscrit lactiviteacute dun SIla liant dun cocircteacute au complexe organisationnel et aux comportement de ses acteurs et delautre agrave son domaine dintervention privileacutegieacute le mateacuteriel et son fonctionnement

Intuitivement ceci explique la difficulteacute agrave mettre en eacutevidence un lien entre la per-formance du SI et celle de lorganisation[5] Pourtant larticulation des SI avec les be-soins des meacutetiers est une exigence tregraves largement reacutepandue et affirmeacutee[8] Cette derniegraverepose eacutevidemment la question de leacutevaluation et de la mesure sans pour autant en indi-quer les conditions concregravetement une solution technique qui deacutemontre des capaciteacutes deperformance brutes (latence deacutebit nombre dopeacuterations par seconde etc) ne supposepas pour autant que lusage qui en est fait est conseacutequemment performant Agrave lopposeacute ilreste particuliegraverement complexe pour un utilisateur de mesurer leacutecart entre le dysfonc-tionnement quil perccediloit ou ressent et celui que lon peut effectivement imputer aux ca-paciteacutes techniques de loutil quil utilise

Agrave cela sajoute la complexiteacute intrinsegraveque du systegraveme dinformation Larchitecturemateacuterielle applicative et fonctionnelle possegravede en effet ses propres particulariteacutes tantpar les meacutecaniques mises en œuvre que par les moyens de les articuler en un systegravemecest-agrave-dire en un ensemble deacuteleacutements interagissant selon certains principes ou regravegles[9]Ce socle technique qui reste le plus souvent transparent pour lutilisateur est pourtantdune importance capitale puisquil assure que les outils mis en œuvre soient dispo-nibles

La question consiste donc agrave savoir comment eacutevaluer le systegraveme dinformation enprenant en compte les exigences techniques du mateacuteriel celles de lorganisation et cellesdes usagers du SI Comment eacutevaluer leacutecart entre ce qui laquo ne marche pas raquo du point devue dun utilisateur et un problegraveme technique En quoi cela impacte-t-il les objectifsglobaux de lorganisation Ce questionnement interroge non seulement le fonctionne-ment du SI quil sagisse de ses performances de ses deacutefaillances ou de sa disponibiliteacute

3 Le deacuteterminisme technologique peut se deacutefinir de la faccedilon suivante laquo On suppose que le changementtechnique est un facteur indeacutependant de la socieacuteteacute Dune part le changement technique est autonome[] Dautre part un changement technique provoque un changement social raquo Vinck p 304 voir [5]

Page 11

mais eacutegalement les limites de son champ daction

Dans cette optique la mise en œuvre dun systegraveme de supervision est apparuecomme un moyen eacutevident drsquoappreacutehender le SI dans sa globaliteacute cest-agrave-dire non seule-ment du point de vue technique mais eacutegalement comme un systegraveme eacutevolutif soumis auxexigences des utilisateurs et agrave celles de lorganisation Lideacutee de laquo superviser raquo peut sen-tendre comme une action visant agrave controcircler ou agrave veacuterifier Eacutetymologiquement on peut deacute-composer le mot en laquo super raquo au-dessus et laquo videre raquo observer prendre des mesurespour discerner sans neacutecessairement y prendre attention4 Du point de vue dun systegravemedinformation la supervision repose sur des outils qui automatisent cette logique decontrocircle en sappuyant sur des proceacutedeacutes dautomatisation et sur la meacutetrologie Au-delagravedune simple laquo surveillance raquo automatiseacutee on peut se demander comment un tel outilpeut rendre compte de lactiviteacute du SI cest-agrave-dire sans le confiner agrave ses aspects meacuteca-niques Concregravetement comment les techniques de supervision sont-elles en mesuredeacutevaluer la capaciteacute dun SI agrave satisfaire les objectifs fonctionnels dune organisation

Ce questionnement qui incorpore le systegraveme dinformation comme une composantede lorganisation agrave part entiegravere a eacuteteacute largement preacutesent dans la mise en œuvre dun pro-jet de supervision agrave Grand Besanccedilon Habitat De faccedilon tregraves pragmatique il sagit de veacute-rifier comment les techniques de supervision permettent de controcircler non seulement ladimension technique du SI mais eacutegalement den eacuteprouver la fonction mecircme en sap-puyant sur des donneacutees de meacutetrologie et des proceacutedeacutes deacutevaluation du ressenti utilisa-teur5

Le projet qui sest organiseacute en plusieurs eacutetapes consiste en la mise en place dunprocessus deacutevaluation capable deacutevoluer avec le SI Il inclus une deacutemarche exploratoiredont certains aspects expeacuterimentaux ont ducirc ecirctre eacutecarteacutes progressivement soit en raisonde leur manque de stabiliteacute soit en raison de leur manque de pertinence

Sur le fond il sagit de veacuterifier comment des outils de supervision peuvent sorgani-ser en une solution coheacuterente capable non seulement de restituer leacutetat technique du SImais eacutegalement den eacutevaluer la pertinence sur le plan strateacutegique

Cest dans cette perspective quil a sembleacute inteacuteressant dans un premier temps desappuyer sur le reacutefeacuterentiel ITIL Ce dernier promeut lalignement strateacutegique du sys-tegraveme dinformation aux besoins meacutetier et permet de deacutegager ce que peuvent ecirctre ausens large les enjeux de la supervision Si ces preacuteconisations ITIL permettent de deacutegagerun certain nombre de concepts elles doivent toutefois ecirctre confronteacutees agrave deux reacutealiteacutes dun cocircteacute celle du SI de GBH qui possegravede ses propres besoins et speacutecificiteacutes et de lautre

4 A Dauzat J Dubois et H Mitterand Nouveau dictionnaire eacutetymologique Paris France loisirs 19805 End User Experience (EUE) technique visant agrave eacutevaluer des simulations de comportement dun utilisa-

teur

Page 12

celle des diffeacuterents modegraveles de gestion et standards comme WBEM ou SNMP sur les-quels reposent les nombreuses impleacutementations doutils de supervision existant sur lemarcheacute Ce sont ces points que nous observerons dans un second temps Dune part enrestituant un exemple concret danalyse ougrave lon tente deacutevaluer les cibles effectives dunproceacutedeacute de supervision dautre part en observant les fondements theacuteoriques des normeset standards de supervision les plus courants

Cest en confrontant preacuteconisations (ITIL) normes (SNMP CIM WBEM etc) etreacutealiteacute pratique du SI de GBH que nous motiverons le choix dune solution de supervi-sion Bien quun grand nombre de ces solutions soient preacutesentes sur le marcheacute toutesnautorisent pas la mecircme souplesse dadaptation Or le SI de GBH est de fait constitueacutede composants particuliegraverement heacuteteacuterogegravenes Cest principalement pour faciliter la priseen compte des particularismes et la maicirctrise des proceacutedeacutes de supervision que le choixsest arrecircteacute sur la mise en place de deux solutions compleacutementaires

la premiegravere deacutenommeacutee Shinken est une solution de supervision sous licence librequi repose sur un modegravele heacuteriteacute de Nagios solution elle-mecircme particuliegraverementreacutepandue et populaire Cest en examinant les diffeacuterentes caracteacuteristiques de ceproduit et ses principes fondateurs que nous veacuterifierons sa capaciteacute agrave sadapteraux modegraveles examineacutes preacuteceacutedemment

la seconde Canopsis est une solution open-source dite dhypervision Elle sat-tache davantage aux questions de la collecte des donneacutees de supervision agrave la com-position dindicateurs complexes et agrave leur repreacutesentation graphique Canopsis va-lorise eacutegalement une approche alternative de type APM6 dont nous eacuteprouveronsla pertinence

Outre larchitecture et les modaliteacutes de communication entre ces deux plates-formes nous observerons comment le traitement des donneacutees de supervision peutconcourir agrave fournir des eacuteleacutements capables drsquoameacuteliorer la lisibiliteacute du SI pour ses utilisa-teurs finaux et conjointement produire des indicateurs syntheacutetiques capables deacutevaluerlalignement strateacutegique du SI

Une derniegravere partie sattachera enfin agrave relever les aspects opeacuteratoires de la mise enœuvre effective de ce projet De la configuration de lenvironnement technique agrave la pro-grammation de sondes et agrave la construction de tableaux de bord les solutions adopteacuteesdeacutemontrent une certaine efficaciteacute Leur mise en œuvre recegravele toutefois une certaine com-plexiteacute et parfois quelques fragiliteacutes ainsi que nous lobserverons au travers des reacutesultatsproduits

6 LAPM ou Application Performance Monitoring regroupe des proceacutedeacutes techniques qui visent agrave eacutevaluerles performances applicatives en sappuyant sur lusage plutocirct que linfrastructure Voir [10]

Page 13

Contexte

1ContexteLoffice public de lhabitat de Besanccedilon eacutegalement connu sous la deacutenomination

laquo Grand Besanccedilon Habitat raquo (GBH) est un bailleur social qui gegravere un parc denviron5500 logements sur la communauteacute de communes de la ville de Besanccedilon

Agrave lorigine Grand Besanccedilon Habitat eacutetait un eacutetablissement public agrave caractegravere ad-ministratif deacutenommeacute OPHLM Ces offices ont eacuteteacute transformeacutes en offices publics de lha-bitat par une ordonnance de feacutevrier 2007 Ce sont des Eacutetablissements Publics agrave caractegravereIndustriel et Commercial (EPIC) ils disposent de leurs fonds propres mais restent as-treints agrave certaines regravegles comme celles de la comptabiliteacute publique ou du code des mar-cheacutes publics

GBH dispose dun patrimoine dimmeubles destineacutes agrave la location Les particuliersqui reacutepondent agrave certaines conditions de ressources peuvent y acceacuteder GBH est nonseulement chargeacute dassumer les tacircches administratives inheacuterentes agrave un bailleur mais eacutega-lement dassurer la maintenance la reacutenovation la construction ou la destruction de sonparc

GBH est constitueacute de trois agences sur Besanccedilon mecircme et son siegravege est situeacute dansle quartier Planoise Environ 150 salarieacutes y travaillent Lactiviteacute meacutetier se reacutepartit entrediffeacuterents pocircles ou directions - ainsi que deacutetailleacute dans lAnnexe 61 la gestion locative(qui comprend les agences reacuteparties dans Besanccedilon) le pocircle finances et comptabiliteacute lepocircle deacuteveloppement - construction et maintenance les ressources humaines et linforma-tique

Le service informatique est un service transversal qui a eacuteteacute deacutetacheacute du pocircle fi-nances et comptabiliteacute en 2013 puis rattacheacute agrave la direction geacuteneacuterale Il est chargeacute das-surer au sens large la gestion de linfrastructure informatique Lactiviteacute meacutetier deGBH sappuie en effet sur des solutions informatiseacutees complexes On deacutenombre 70 ser-veurs virtualiseacutes et une quinzaine de serveurs physiques en production En outre un cer-tain nombre de services comme la teacuteleacutephonie limpression les accegraves reacuteseau la produc-tion de statistiques ou le calcul des factures et des charges neacutecessitent de disposer duneinfrastructure mateacuterielle et logicielle speacutecifique Il revient au service informatique quidispose dun budget propre dassurer le bon fonctionnement de linfrastructure logiqueet technique

Bien que ses domaines dintervention puissent sembler diffus les activiteacutes du ser-vice informatique de GBH correspondent assez exactement agrave la description quen faitITIL et dont le scheacutema est repreacutesenteacute par lIllustration 11

Page 14

Contexte

Le service informatique est superviseacute par le directeur geacuteneacuteral Yves Daouze Il estcomposeacute de trois personnes deux administrateurs systegraveme et reacuteseau et une assistantefonctionnelle qui est chargeacutee de faire le lien entre le fonctionnel - cest-agrave-dire tout ce quirelegraveve speacutecifiquement du meacutetier - et la technique informatique qui relegraveve des compeacute-tences des deux administrateurs dont je fais partie

Les activiteacutes du service se reacutepartissent globalement entre lassistance aux utilisa-teurs la gestion des projets et des transitions et les opeacuterations de maintenance et deacutevo-lution de linfrastructure Dans ce contexte tregraves peu de services sont sous-traiteacutes ou ex-ternaliseacutes ceci explique que linteacutegraliteacute de ladministration systegraveme et reacuteseau reviennedirectement au service informatique Le panel dactiviteacutes est donc extrecircmement riche etvarieacute dautant quil induit la maicirctrise de systegravemes et composants heacuteteacuterogegravenes

Linfrastructure serveur repose essentiellement sur un principe de virtualisationavec des hyperviseurs de type ESXi ou XenServer La baie serveur situeacutee au siegravege in-clut donc un IBM BladeCenter H doteacute de 7 serveurs lames deux baies SAN fibre op-tique et quelques serveurs physiques dont un IBM Power i7 tenu par un systegravemeOS400 Les liens reacuteseau entre le siegravege et les agences reposent sur un reacuteseau de fibre op-tique partageacute ou priveacute sur certains liens le Reacuteseau Lumiegravere7 Le peacuterimegravetre dinterven-

7 Voir httpwwwbesanconfrindexphpp=511ampart_id=1251 laquo Le Reacuteseau Lumiegravere est constitueacutedanneaux interconnecteacutes et dantennes doptiques Avec 84 km de cacircble transportant plus de 1700 kmde fibres optiques il dessert actuellement 110 sites appartenant agrave 9 administrations [] Du point de

Page 15

Illustration 11 les activiteacutes du SI selon ITIL

Contexte

tion du service informatique recouvre donc tous les eacuteleacutements reacuteseau actifs la baie ser-veur les copieurs multifonctions la teacuteleacutephonie IP ainsi que lensemble des postes utilisa-teurs On deacutenombre une centaine dutilisateurs reacutepartis au siegravege ou dans les agences(Illustration 12)

Octroyant une certaine autonomie agrave loffice public de lhabitat cet eacutetat de fait neacute-cessite toutefois une certaine polyvalence puisque les plates-formes systegravemes et compo-sants applicatifs se multiplient Depuis quelques anneacutees le systegraveme dinformation deGBH ne cesse deacutevoluer et de seacutetoffer au greacute des reacuteformes leacutegales des besoins et deschangements technologiques

La question de la supervision sest donc affirmeacutee dune part comme un moyendeacutevaluer la qualiteacute geacuteneacuterale du systegraveme dinformation et dautre part comme un outil degestion centraliseacute capable de fournir une aide agrave lidentification des problegravemes et agrave leurreacutesolution En dernier lieu il sagit eacutegalement de pouvoir rendre compte de lactiviteacute duSI et de la valoriser comme une composante active de lorganisation

Ce projet a eacuteteacute meneacute parmi dautres au cours des anneacutees 2013 et 2014 reacuteforme dela demande de logement8 mise en place du SEPA9 installation dun SAN fibre optiquerenouvellement des postes de travail migration des serveurs Citrix etc

De fait il reste deacutelicat de valoriser ce type de projet

en premier lieu parce que lorganisation de GBH a eacuteteacute transformeacutee cette mecircmeanneacutee

ensuite parce que le caractegravere critique de la supervision peut sembler discutableau regard dautres projets dont les finaliteacutes sont sans doute plus en lien avec lac-tiviteacute meacutetier

vue administratif ce reacuteseau indeacutependant agrave usage partageacute qui contribue par sa vocation agrave lameacutenage-ment du territoire beacuteneacuteficie dune autorisation (Groupe Fermeacute dUsagers ndash GFU) eacutemise par lARTLes partenaires sont lieacutes par une convention de coproprieacuteteacute et dentretien et dusage raquo GBH estmembre du GFU

8 La gestion de la demande de logement a reacutecemment fait lobjet dune reacuteforme dans le deacutepartement duDoubs voir [11]

9 La mise en œuvre du SEPA ou Single European Payment Area a conduit agrave dimportantes modifica-tions dans les processus de paiement [12]

Page 16

Contexte

En ce qui concerne la supervision on dispose en effet dembleacutee dune multitudedoutils disparates et limiteacutes au champ dun mateacuteriel ou dune application Si lintentiondunifier la supervision semble agrave priori pertinente elle neacutecessite toutefois decirctre deacutemon-treacutee tant elle repose sur des abstractions des concepts et des meacutecanismes techniquescomplexes Cette complexiteacute est le symptocircme de la difficulteacute de repreacutesenter le SI de fa-ccedilon exhaustive et globale agrave partir dun seul point de vue Ceci explique que le projet aitavant tout eacuteteacute le fait du service informatique dont la transversaliteacute offre un point de vueprivileacutegieacute sur lorganisation dans son ensemble La veacuteritable difficulteacute a consisteacute agrave tenterde deacutepasser le seul point de vue technique agrave le confronter agrave la reacutealiteacute des besoins deGBH et agrave mettre en place des outils et des processus qui permettent dabstraire les com-posants du SI de leurs seules caracteacuteristiques techniques

Page 17

Illustration 12 reacutepartition des utilisateurs du SI de GBH par site

Enjeux et architectures

2Enjeux et architecturesDans ce chapitre nous reprenons les eacuteleacutements qui ont motiveacute la mise en œuvre

dun systegraveme de supervision Le reacutefeacuterentiel ITIL[13] constitue agrave ce niveau une reacutefeacuterencepertinente pour justifier linteacuterecirct du projet Lexploration rapide de quelques modules dureacutefeacuterentiel permet de mettre en eacutevidence les enjeux attenants

Lapproche ITIL fournit un socle relativement pertinent quant agrave ce que pourraitecirctre la supervision du SI au regard de lorganisation Agrave partir de lagrave nous observerons agravetravers un exemple concret comment envisager lanalyse de larchitecture du SI en par-tant denjeux laquo meacutetier raquo Cette deacutemarche analytique ne peut neacuteanmoins se soustraireaux outils existants - ou plus exactement aux standards normes et modegraveles et agrave leursimpleacutementations Les outils que lon peut solliciter dans le cadre de la supervision dunSI reposent en effet sur des protocoles de gestion dont les tenants et les aboutissantssont eux aussi lieacutes agrave des repreacutesentations ou modegraveles de ce quest un systegraveme dinforma-tion

Enfin nous aborderons la question du choix dune solution de supervision en es-sayant darticuler la reacutealiteacute du systegraveme dinformation avec ses enjeux strateacutegiques effec-tifs et les moyens techniques disponibles

21 ITIL et les enjeux de la supervision ITIL est lrsquoacronyme drsquoInformation Technology Infrastructure Library ITIL

consiste en un cadre de reacutefeacuterence rassemblant dans un ensemble de guides les meilleurespratiques en matiegravere de management des services informatiques Son objectif est drsquoameacute-liorer le service rendu par les directions informatiques afin drsquoapporter une meilleurequaliteacute de service aux utilisateurs La supervision du SI participe agrave cette recherchedameacutelioration de mecircme quun reacutefeacuterentiel comme ITIL

La bibliothegraveque ITIL a eacuteteacute initialiseacutee en 1989 par le CCTA (Central Computing ampTelecommunication Agency) du gouvernement du Royaume-Uni puis piloteacutee par lrsquoOGC(Office of Government Commerce) qui remplace le CCTA Dans sa troisiegraveme versionITIL a fait intervenir les experts de plusieurs SSII Lrsquoobjectif drsquoITIL est de doter les di-rections des systegravemes informatiques (DSI) drsquooutils et de documents leur permettantdrsquoameacuteliorer la qualiteacute de leurs prestations crsquoest-agrave-dire ameacuteliorer la satisfaction de leursclients tout en reacutepondant au mieux aux objectifs strateacutegiques de lrsquoorganisation dans la-quelle elles srsquoinscrivent

Pour ce faire lrsquoapproche consiste agrave consideacuterer le service informatique comme un en-

Page 18

Enjeux et architectures

semble de processus eacutetroitement lieacutes Pragmatiquement ITIL reacutepond agrave la logique visantagrave faire en sorte que lrsquoinformatique soit au service du personnel et des clients et non lrsquoin-verse La deacutemarche ITIL nrsquoa pas comme seuls beacuteneacuteficiaires les directions informatiquespuisqursquoelle consiste agrave sensibiliser ces derniegraveres au fait que la qualiteacute et la disponibiliteacute delrsquoinfrastructure technologique ont un impact direct sur la qualiteacute globale de lrsquoentrepriseDans cette viseacutee le projet de supervision correspond agrave cette recherche globale de qualiteacutetout en valorisant une logique de service deacutecentreacutee de lobjet technologique En effetITIL deacutecrit les diffeacuterentes activiteacutes sous forme de services

un service est un moyen de deacutelivrer de la valeur aux clients en facilitant la pro-duction des reacutesultats dans leurs activiteacutes sans quils aient agrave se preacuteoccuper descoucircts et des risques speacutecifiques au service qui leur est fourni[14]

Deacutefinie de cette faccedilon la notion de service reste tregraves geacuteneacuterique Le vocabulaireITIL eacuteconomique et commercial (laquo production raquo laquo valeur raquo laquo reacutesultat raquo laquo coucirct raquo etc)peut parfois sembler confus lorsque lon cherche agrave lappliquer agrave un domaine dont les mo-tivations ne relegravevent pas directement de ces logiques Du point de vue de ladministra-tion systegravemes et reacuteseaux du SI en identifiant les utilisateurs du SI comme deslaquo clients raquo les services pourraient correspondre agrave tous les moyens informatiques mis enœuvre en vue dautomatiser au moins partiellement les tacircches lieacutees aux processus meacute-tier auxquels ils participent

Par exemple une application capable de geacuteneacuterer automatiquement la structuredun appel doffres peut ecirctre perccedilue comme un laquo service raquo ce qui inteacuteresse le laquo client raquocest effectivement le reacutesultat - dans ce cas il sagit de leacutelaboration de son appel doffreset non des proceacutedeacutes techniques qui permettent dy parvenir Les ressources mises enœuvre dans un SI ne sont donc pas neacutecessairement visibles pour lutilisateur final Typi-quement les services sont systeacutematiquement lieacutes agrave des capaciteacutes volume bande pas-sante branchements disponibles etc Dans les proceacutedeacutes de supervision ces capaciteacutessont lobjet de la meacutetrologie

les capaciteacutes correspondent aux processus et fonctions utiliseacutes pour geacuterer desservices Les capaciteacutes sont des ressources intangibles dune organisation et nepeuvent pas ecirctre vendues mais peuvent se deacutevelopper et gagner ainsi en maturiteacuteau fil du temps[15]

La gestion de la capaciteacute revient agrave sassurer que les services puissent ecirctre dispo-nibles au moment adeacutequat De faccedilon tregraves claire la maintenance quelle soit preacuteventiveou curative participe agrave la gestion des capaciteacutes Dans cette optique un outil de supervi-sion qui facilite les opeacuterations de maintenance preacuteventive est un outil de gestion des ca-paciteacutes ITIL distingue trois sous-processus dans la gestion des capaciteacutes[16]

la gestion de capaciteacute des ressources (RCM) qui concerne plus directement leacuteva-

Page 19

Enjeux et architectures

luation des composants en termes de performance

la gestion de la capaciteacute des services (SCM) qui permet de geacuterer controcircler etpreacutevoir la charge des diffeacuterents systegravemes informatiques

la gestion de la capaciteacute business (BCM) relegraveve de la gestion des plans strateacute-giques au niveau commercial Cet aspect concerne moins directement la supervi-sion de linfrastructure

Cette gestion des capaciteacutes met en avant lideacutee que lactiviteacute de lorganisationquelle que soit sa connotation repose sur des services Ces derniers sappuient sur dessystegravemes et des composants dont leacutevaluation en termes de performance est indissociablede lactiviteacute organisationnelle

Globalement ITIL met en avant lideacutee que lorganisation dune entreprise peutsameacuteliorer degraves lors que lon identifie les processus qui y sont mis en œuvre

un processus est un ensemble dactiviteacutes coordonneacutees mettant en œuvre des res-sources et des capaciteacutes en vue de produire un reacutesultat aux clients[15]

Le chapitre dITIL portant sur la conception de service[15] explique un certainnombre de regravegles et de bonnes pratiques agrave prendre en compte lors de la conception dunservice La conception dun service est une chose complexe du fait de lexistence dugrand nombre de paramegravetres agrave consideacuterer acteurs points de vue et objectifs En vue degarantir le niveau de service fourni ITIL propose de fixer des accords sur les niveaux deservice (Service Level Agrement ou SLA)

un accord sur les niveaux de service est un accord eacutecrit entre un fournis-seur de services et un ou des clients Il porte sur un ou plusieurs services daf-faires et deacutecrit les niveaux de services preacutevus avec la ou les organisations daf-faires (disponibiliteacute capaciteacute seacutecuriteacute et continuiteacute de service)[14]

Plus loin ITIL propose dassocier agrave ces SLA des indicateurs-cleacutes de performance

un indicateur-cleacute de performance (Key Performance Indicator ou KPI) estun ensemble de meacutetriques objectives et mesurables qui permettent deacutevaluer si lesdiffeacuterents niveaux de services convenus (SLA) ont eacuteteacute respecteacutes[14]

Ces indicateurs servent notamment agrave deacutefinir des peacutenaliteacutes lorsque les niveaux deservices nont pas eacuteteacute respecteacutes par les parties

Les preacuteconisations ITIL relatives agrave la conception de services mettent en avant lanotion deacutevaluation et de mesure sans pour autant preacuteconiser les moyens de mise enœuvre de cette eacutevaluation Au travers de la gestion des capaciteacutes eacutemerge la notion dedisponibiliteacute des services Plus loin leacutevaluation de cette disponibiliteacute est preacuteciseacutee avec ladeacutefinition des SLA et KPI Ces indicateurs syntheacutetiques sont un des objectifs de la su-

Page 20

Enjeux et architectures

pervision ils fournissent une modaliteacute deacutevaluation des services

Pour autant ces notions qui concernent plus directement la phase de conception deservices sont indissociables de la question de leur exploitation Cette derniegravere est traiteacuteedans le chapitre ITIL Service Operation[17]

Lexploitation des services correspond au moment ougrave les services sont en produc-tion Theacuteoriquement les accords sur les SLA sont en place mais lactiviteacute nest pas fi-geacutee il faut pouvoir anticiper les eacuteveacutenements les changements et besoins futurs La ges-tion des eacuteveacutenements oppose la reacuteactiviteacute qui consiste agrave reacuteagir une fois quun eacuteveacutenementsurvient agrave la proactiviteacute qui consiste agrave anticiper celui-ci Les eacuteveacutenements se deacutefinissentcomme suit

un eacuteveacutenement est une occurrence deacutetectable ou discernable ayant une significa-tion sur la gestion dune infrastructure ou la fourniture dun service et une eacuteva-luation de limpact indiquant quune deacuteviation pourrait apparaicirctre sur les ser-vices[14]

La notion dimpact eacutevoqueacutee dans cette deacutefinition nest pas neutre elle suppose desliens dinterdeacutependance entre les composants dun service et rappelle lideacutee que lon in-tervient dans un systegraveme Les eacuteveacutenements quant agrave eux peuvent revecirctir des formes biendiffeacuterentes ITIL les classe en trois cateacutegories

les eacuteveacutenements normaux connexion effectueacutee avec succegraves temps de reacuteponse ac-ceptable

les eacuteveacutenements inhabituels avertissement lors de lexeacutecution dun programme ac-tiviteacute plus forte que la moyenne eacuteleacutevation des temps de reacuteponse

les eacuteveacutenements signalant une exception connexion impossible perte dun disqueetc

Ces eacuteveacutenements peuvent ecirctre les symptocircmes dincidents ou de problegravemes ITIL dis-tingue nettement ces deux notions

un incident est un eacuteveacutenement qui ne fait pas partie du fonctionnement standarddun service et qui peut entraicircner une interruption ou une baisse de qualiteacute pourun service[14]

Les eacuteveacutenements ayant un impact potentiel mais non encore observeacute sont eacutegalementconsideacutereacutes comme des incidents Un incident peut donc ecirctre eacuteradiqueacute sans investigationsuppleacutementaire par exemple avec une reacuteparation immeacutediate ou un contournement[14]Le fonctionnement laquo normal raquo dun service sentend au sens dITIL comme celui deacutefinidans les contrats de SLA ITIL distingue les problegravemes des incidents

Page 21

Enjeux et architectures

un problegraveme est la cause dun ou plusieurs incidents Lors de lenregistrementdun problegraveme la cause exacte nest pas toujours connue On considegravere quun pro-blegraveme est le symptocircme dune erreur inconnue dans linfrastructure[14]

Dans le processus ITIL de gestion des incidents les outils de supervision occupentune place importante Ils doivent concourir agrave

deacutetecter et enregistrer lincident

classifier lincident

isoler examiner et diagnostiquer

Enfin dans le module Continual service improvement (lameacutelioration continue desservices)[18] ITIL rappelle trois regravegles de base celles-lagrave mecircmes qui permettent laquo dali-gner et de reacutealigner en permanence les services informatiques sur les besoins daffaires enperpeacutetuelle eacutevolution ceci en identifiant et en implantant les ameacuteliorations sur les ser-vices informatiques supportant les processus daffaire raquo

vous ne pouvez pas geacuterer ce que vous ne pouvez pas controcircler

vous ne pouvez pas controcircler ce que vous ne pouvez pas mesurer

vous ne pouvez pas mesurer ce que vous navez pas deacutefini

Ces quelques eacuteleacutements tireacutes des preacuteconisations ITIL permettent deacutetablir des re-pegraveres fondamentaux pour cerner le rocircle dun outil de supervision Si lon reprend de fa-ccedilon syntheacutetique ces quelques eacuteleacutements tireacutes de divers chapitres dITIL

les activiteacutes de lentreprise sont identifieacutees de faccedilon geacuteneacuterique comme des ser-vices

ces services sont en mesure dattendre un certain niveau de qualiteacute Cette derniegravererepose sur des processus de gestion des ressources et des capaciteacutes qui induisentdonc une eacutevaluation et des mesures cest agrave ce niveau que la meacutetrologie devientincontournable Les outils de supervision peuvent en effet participer agrave ces proces-sus surveillance des consommations de CPU de loccupation dun volume dedisque par exemple Par extension cest agrave partir de ces mesures que lon peut cal-culer des KPI et veacuterifier lajustement au SLA

les proceacutedeacutes de supervision participent eacutegalement au processus de gestion des inci-dents que ce soit comme moyen danalyse denregistrement ou de deacutetection Ilconvient en effet que les outils de supervision soient en mesure de distinguer si uneacuteveacutenement est laquo normal raquo ou non dans quel cas il doit ecirctre en mesure de deacuteclen-cher une alerte et de la prioriser Ce qui importe cest que le service puisse fonc-

Page 22

Enjeux et architectures

tionner normalement Dans cette logique il nest pas utile de donner la mecircme im-portance agrave tous les composants Cest par exemple le cas lorsquune architecturemateacuterielle possegravede ses propres meacutecanismes de reacutesilience larrecirct dun des compo-sants ne suppose pas neacutecessairement larrecirct du service auquel il participe Super-viser devrait induire une vue analytique du systegraveme dinformation

les systegravemes de supervision procurent eacutegalement un moyen dameacuteliorer la qualiteacutedes services cest au travers des donneacutees quils collectent que lon peut identifierdes points dameacutelioration et en mesurer lefficaciteacute

Si ITIL donne un certain nombre de preacuteconisations qui permettent de deacuteduire ceque pourrait ecirctre un systegraveme de supervision il ne deacutefinit pas reacuteellement les moyens agravemettre en œuvre La difficulteacute reste donc dimpleacutementer ces conseils de bonne pratiquetout en tenant compte des speacutecificiteacutes de lorganisation Par exemple la deacutefinition systeacute-matique des objectifs entre autres celle dun fonctionnement laquo normal raquo nest pas clai-rement eacutetablie agrave Grand Besanccedilon Habitat concregravetement il nexiste que tregraves peu deSLA et daccords formels Non que cela soit peacutenalisant dans les faits mais il en ressortun certain flou quant agrave leacutevaluation effective du fonctionnement du SI La deacutemarche en-tameacutee ici dans le cadre de ce meacutemoire garde donc une porteacutee expeacuterimentale dans lesens ougrave elle ne procegravede pas dune application stricte de ces bonnes pratiques mais viseplutocirct agrave en eacutevaluer les possibiliteacutes et les eacutecueils En partant de divers cas despegravece leservice informatique a donc tenteacute de reacute-assembler les divers composants du SI dans cetteperspective de laquo service raquo De fait il sagit damorcer une analyse du SI en tacircchant nonpas de valoriser uniquement ses composants techniques mais davantage de sattacher agraveleurs fonctions

Ces derniegraveres sont repreacutesenteacutees par un organigramme fonctionnel qui restitue de fa-ccedilon globale les rocircles de chacun des salarieacutes reacutepartis en services Cest ce que lon observedans lAnnexe 61

La logique du SI ne vise toutefois pas un deacutecoupage aussi strict puisque pour faci-liter le transfert dinformations certaines ressources sont neacutecessairement communes Pluspreacuteciseacutement les ressources du SI pourraient ecirctre repreacutesenteacutees comme un emboicirctement decomposants interdeacutependants ainsi que le montre lIllustration 21

Page 23

Enjeux et architectures

En pratique il est effectivement difficile dobtenir une vue exhaustive de tous lescomposants du SI permettant de les distinguer en termes dimportance ou de deacutepen-dances

Par exemple on ne peut dissocier une application du systegraveme dexploitation sur le-quel elle repose ni mecircme dissocier linfrastructure des applications et des services qui ysont associeacutes Partant dobjectifs fonctionnels lanalyse a permis de revenir au fur et agravemesure agrave ce que pourrait ecirctre un socle commun

Page 24

Illustration 21 scheacutema des composants du SI

Enjeux et architectures

22 Eacutevaluation des besoins

Lintention du projet de supervision vise agrave identifier les principales cibles en sap-puyant sur une vision fonctionnelle du SI Lidentification des processus et meacutecanismesmis en œuvre pour deacutelivrer un service emprunte agrave lurbanisation des systegravemes dinforma-tion les diffeacuterents points de vue fonctionnels applicatifs et techniques qui permettent dedissocier le SI en diffeacuterentes strates[19] Le point de vue meacutetier non quil soit demoindre importance revecirct des caracteacuteristiques plus complexes qui ne concernent passysteacutematiquement linfrastructure informatique Lexemple qui suit constitue une sortede cas pratique qui illustre le cheminement analytique preacutealable agrave la mise en place dunsystegraveme de supervision Ce sont des eacutevaluations de ce type qui ont permis de cerner lescomposants les plus sensibles en termes dactiviteacute meacutetier

221 Lexemple de lERP AravisLactiviteacute de gestion locative deacutesigne au sens large tout ce qui a trait agrave la gestion

des bacirctiments et des locataires Chez GBH cest un ERP speacutecifique Aravis qui prenden charge la quasi totaliteacute de ces aspects Cet exemple est restitueacute ici de faccedilon agrave illustrerla deacutemarche analytique qui a permis disoler les principaux eacuteleacutements agrave superviser

2211 PreacutesentationERP signifie laquo entERPrise ressource planning raquo il est lrsquoeacutequivalent en franccedilais de

PGI qui signifie laquo Progiciel de Gestion Inteacutegreacute raquo Crsquoest un progiciel qui permet de geacutererlensemble des processus opeacuterationnels dune entreprise en inteacutegrant lensemble de sesactiviteacutes (activiteacutes dites verticales telles que la production et lapprovisionnement oubien horizontales comme le marketing les forces de vente la gestion des ressources hu-maines etc) autour dun mecircme systegraveme dinformation

Le terme ERP est apparu en 1970 Il est issu drsquoune meacutethode qursquoil exploite la meacute-thode MRP utiliseacutee dans la gestion et la planification de la production industrielle Lesprogiciels de gestion inteacutegreacutes proposent geacuteneacuteralement des outils de groupware10 et deworkflow11 afin dassurer la transversaliteacute et la circulation de linformation entre les diffeacute-rents services de lentreprise

10 Ensemble drsquooutils destineacutes agrave favoriser le travail en eacutequipe Comme par exemple des logiciels permet-tant agrave un groupe dutilisateurs de travailler en collaboration sur un mecircme projet sans ecirctre neacutecessaire-ment reacuteunis

11 Un workflow est un flux dinformations au sein dune organisation comme par exemple la transmissionautomatique de documents entre des personnes

Page 25

Enjeux et architectures

Aravis est un ERP deacuteveloppeacute par un GIE deacutenommeacute ACG12 Aravis a eacuteteacute conccedilu sousforme modulaire et prend en charge la gestion financiegravere et comptable la gestion immo-biliegravere la promotion du patrimoine et lentretien (eacutetats des lieux reacuteparations prise encharge des communs etc) Aravis nest pas la seule application du parc de GBH maiselle propose un certain nombre dinterfaces pour communiquer avec dautres partenairespar exemple en favorisant linteacutegration et lexport de donneacutees ou en proposant desconnecteurs Lensemble neacutecessite quune infrastructure speacutecifique soit disponible pourassurer son fonctionnement

Initialement deacuteveloppeacutees sous OS400 les interfaces utilisateurs Aravis ont ensuiteeacuteteacute deacuteveloppeacutees en C++ de faccedilon agrave fournir une IHM pour les utilisateurs de systegravemesWindows Une partie de lapplication sexeacutecute donc sous des systegravemes Windows et uneautre sur un IBM Power i7 OS400

Aravis fournit donc diffeacuterents types dinterfaces la premiegravere est deacutedieacutee aux eacutetatsdes lieux et peut fonctionner en mode deacuteconnecteacute la seconde est une interface web por-teacutee sur la gestion de relation client (GRC) Linterface principale quant agrave elle est uneIHM disponible pour nimporte quel client connecteacute au reacuteseau doteacute des droits suffisantset de lapplication cliente

12 ACG-synergie httpwwwacg-synergiesfr

Page 26

Illustration 22 exemple de vue de lIHM Aravis

Enjeux et architectures

Aravis est lieacutee agrave des applications tierces comme

les outils bureautiques (MS Office LibreOffice ou Crystal Report) et des modulesde geacuteneacuteration de documents publipostage eacuteditions de listes statistiques de pro-duction

use it flow pour la gestion des transferts avec les partenaires externes Centredes finances publiques MSA CAF serveur de la demande unique

une seacuterie de partages SMB13 Windows qui centralisent des DLL14 neacutecessaires auprogramme lui-mecircme ou des donneacutees speacutecifiques comme des plans de logementsdes diagnostics de performance eacutenergeacutetique ou des autorisations de preacutelegravevementSEPA

une chaicircne deacutecisionnelle qui comprend un datawarehouse et des datamarts ainsique les outils affeacuterents notamment un ETL et divers outils de reporting

des liens plus diffus avec des applications comptables speacutecialiseacutees dans la gestiondu financement du patrimoine (Sage)

un moteur dimpression chargeacute dextraire les donneacutees meacutetier des base et de lesassembler selon des modegraveles preacutedeacutefinis en vue de produire diffeacuterents formats oudimprimer

Un examen rapide de la couverture applicative de GBH dont le scheacutema figure enAnnexe 62 permet de mieux appreacutehender leacutetendue fonctionnelle des diffeacuterents modulesde lapplication Aravis et son impact sur lactiviteacute meacutetier de GBH

13 SMB ou Server Message Bloc est un protocole reacuteseau de partage de fichiers14 DLL Dynamic Linked Library En raison de freacutequentes mises agrave jour ces DLL Aravis sont centraliseacutees

Aravis ne fonctionne donc quau moyen de ces partages

Page 27

Enjeux et architectures

2212 Aspects fonctionnels et applicatifsOn note que nombre des fonctionnaliteacutes de lERP Aravis reposent sur la preacutesence

de soutegravenements architecturaux serveur SMTP connectiviteacute internet services dimpres-sion centraliseacutes etc De ce fait lusage dAravis constitue non seulement un inteacuterecirct no-table du point de vue fonctionnel et meacutetier mais eacutegalement du point de vue de linfra-structure technique quil sollicite directement ou non LIllustration 23 scheacutematise cettedistinction entre les fonctions meacutetier et les modaliteacutes daccegraves agrave la couche dite laquo applica-tive raquo

La seconde vue applicative scheacutematiseacutee dans lIllustration 24 permet de deacutegagerdes logiques darriegravere-plan cest-agrave-dire celles qui ne sont pas visibles par les utilisateursParmi elles on deacutenombre notamment loutillage deacutecisionnel datawarehouse et datamartles outils dautomatisation deacutechange de donneacutees avec les partenaires externes ou encoreles instances applicatives lieacutees agrave la gestion des mails - serveurs IMAP SMTP systegravemesantivirus et firewall

Agrave ce point il apparaicirct non seulement eacutevident que la notion de systegraveme et dinterdeacute-

Page 28

Illustration 23 repreacutesentation scheacutematique des fonctions Aravis

Enjeux et architectures

pendance est pertinente mais eacutegalement que superviser une instance applicative aussidiffuse deacutenote une certaine complexiteacute En effet en eacutelongeant les liens de deacutependance ap-plicatifs jusquagrave la couche systegraveme il napparaicirct que rarement un lien unique entre unelaquo ressource raquo applicative et linstance systegraveme sur laquelle elle repose Cest par exemplele cas des bases de donneacutees dont la fonction technique peut ecirctre mise en œuvre pourplusieurs fonctions meacutetier distinctes de faccedilon simultaneacutee

Le premier problegraveme eacutevident tient agrave la complexiteacute des deacutependances entre lescouches applicatives et techniques Dun cocircteacute le SI dispose de ses propres objectifs fonc-tionnels (seacutecuriteacute gestion des donneacutees transferts etc) et de lautre ceux-ci doivent ecirctrele support des activiteacutes meacutetier Lrsquoambiguiumlteacute de ces distinctions oblige agrave se focaliser surdes fonctions globales de faccedilon agrave ne pas induire de confusions entre les fonctions du SIet celles de lorganisation Typiquement les logiques de cluster trouvent difficilementleur place dans ce type de scheacutema ou nuisent agrave sa lisibiliteacute De mecircme la notion de seacutecu-riteacute ne revecirctirait pas le mecircme sens selon quelle concerne le SI ou lactiviteacute de bailleursocial

Au-delagrave de ces distinctions seacutemantiques la repreacutesentation conceptuelle sur laquellenous nous appuyons vise agrave montrer que chaque groupe dapplications possegravede sespropres fonctions transferts externes eacuteditique reporting archivage etc Ces derniegraveres

Page 29

Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis

Enjeux et architectures

sont organiseacutees dans le but de mettre agrave disposition des fonctions exploitables par les pro-cessus meacutetier Agrave linverse cette logique applicative repose elle-mecircme sur une infrastruc-ture speacutecifique Cest agrave ce point de vue que nous nous attachons maintenant

2213 Vue technique plates-formes systegravemes et infrastructureOn deacutesigne le socle laquo technique raquo comme lensemble des composants neacutecessaires agrave

la mise en œuvre de la couche applicative Cela concerne donc les composants mateacuterielsles systegravemes dexploitation ainsi quune couche intermeacutediaire constitueacutee des logiques ap-plicatives darriegravere-plan

Cette couche est deacutesigneacutee dans lIllustration 21 de faccedilon geacuteneacuterique comme celle deslaquo plates-formes raquo On y retrouve un deacutecoupage logique qui distingue les diffeacuterents eacuteleacute-ments techniques du SI selon leur nature De faccedilon syntheacutetique on distingue

les laquo serveurs raquo il sagit des instances applicatives qui impleacutementent diffeacuterentsservices comme les serveurs web ou les bases de donneacutees Agrave la diffeacuterence du pointde vue applicatif qui valorise des instanciations speacutecifiques de serveurs on consi-degravere ici les serveurs dun pur point de vue technique Typiquement le rocircle dunserveur Microsoft IIS revient agrave reacutepondre agrave des requecirctes HTTP Du point de vueapplicatif il revient agrave mettre en œuvre un outil speacutecifique de gestion client qui estune instance IIS une impleacutementation Microsoft de serveur web Du point de vuemeacutetier lobjectif est le suivi des relations avec les locataires

les systegravemes dexploitation qui reposent de faccedilon quasi systeacutematique sur unecouche de virtualisation Dans le parc de GBH on deacutenombre trois instances VM-Ware ESXi et deux instances Xenserver15 Ces instances fonctionnent en cluster16 par exemple chaque machine virtuelle peut ecirctre deacuteplaceacutee sur lun ou lautre desmembres du cluster selon les besoins Cette capaciteacute de reacutesilience est rendue pos-sible par la couche de virtualisation mais eacutegalement par les redondances mateacute-rielles mises en œuvre sur lIBM BladeCenter H17

le reacuteseau constitue eacutegalement une structure fondamentale il assure la communi-cation entre les serveurs et les points daccegraves deacutelocaliseacutes LIllustration 25 scheacute-matise les composants en marquant les accegraves disques par fibre optique et les liensreacuteseaux qui permettent la communication entre les diffeacuterents sous-reacuteseaux Lesservices teacuteleacutephoniques constituent un composant speacutecifique qui deacutepend de lacouche reacuteseau et dun IPBX

15 Xenserver est un hyperviseur au mecircme titre que lESX VMWare voir [20] [21]16 On fait reacutefeacuterence ici au fonctionnement en grappe dun groupe de serveurs qui sollicitent les mecircmes

mateacuteriels17 LIBM BladeCenter H est un chacircssis qui peut inteacutegrer 12 serveurs lames et plusieurs modules redon-

dants (fibre optique reacuteseau alimentation eacutelectrique) [22]

Page 30

Enjeux et architectures

les logiques de stockage qui sont mutualiseacutees dans des NAS ou des SAN

Ces eacuteleacutements sont repris dans des cartographies eacutelaboreacutees par le service informa-tique de GBH et illustrent les diffeacuterents reacuteseaux Toutefois cette faccedilon de faire pose laquestion de la pertinence de la repreacutesentation Si certaines parties font lobjet dune car-tographie deacutetailleacutee (voir les annexes 62 63 64 et 65) leur entretien reste fastidieuxtant linfrastructure peut ecirctre ameneacutee agrave eacutevoluer rapidement Au final le risque de dispo-ser dune cartographie obsolegravete demeure important Cet eacutetat de fait renvoie lideacutee que leSI est en constant mouvement en changement continu Aussi le figer dans une repreacutesen-tation trop speacutecifique reviendrait agrave reacutefuter cette caracteacuteristique fondamentale Les carto-graphies ont toutefois lavantage de laisser apparaicirctre diffeacuterentes vues reacuteseau zone speacute-cifique (test DMZ production) applications machines virtuelles stockage etc Bienquelles soient moins adapteacutees aux questions de deacutetail elles peuvent mettre en eacutevidenceles aspects les plus sensibles du SI

En loccurrence le stockage mutualiseacute sur les SAN fibre optique le reacuteseau interneet la couche de virtualisation constituent des ensembles disposant de leurs propres meacuteca-

Page 31

Illustration 25 scheacutema simplifieacute de larchitecture technique

Enjeux et architectures

nismes de reacutesilience liens redondants disques RAID cluster logique dhyperviseur etcPar rapport agrave une application la question se mesure davantage en termes dimpact quentermes de liens de deacutependance par exemple la deacutefaillance de lensemble du reacuteseau in-duit la deacutefaillance de la quasi-totaliteacute des services du SI

Nous constatons en outre que le socle technique agrave linstar de lactiviteacute meacutetier dis-pose en fait de ses propres fonctions Ces fonctions sont deacutecrites par les processus ITIL capaciteacute disponibiliteacute continuiteacute niveau de service etc La coheacuterence de ce laquo socle raquotient agrave celle de ses composants reacuteseaux virtualisation systegravemes et serveurs En conseacute-quence les logiques dinteacutegration mises en œuvre comme par exemple les clusters dhy-perviseurs ESXi ou la mutualisation du stockage dans les SAN ne permettent pas de va-loriser une relation simple entre une application et les composants de la plate-formetechnique

222 SynthegraveseEn se limitant agrave une vision globale du systegraveme il apparaicirct quune application com-

plexe comme lERP Aravis tend agrave solliciter un grand nombre de composants logiques etde ressources physiques du fait de leacutetendue de sa couverture fonctionnelle Du point devue de linfrastructure informatique plusieurs meacutecaniques sont en jeu redondances deliens reacuteseau reacutepartition de la charge et deacuteplacement des machines virtuelles sur le clus-ter ESXi etc Il sagit dun point de vue tregraves large qui tend agrave englober le fonctionne-ment de lapplication comme une conseacutequence de la mise en œuvre de linfrastructure

utilisateurs Application Composants logiques systegravemes infrastructure

Siegravege tous services AravisAravis - GRC

Partages SMBIISservices mailAnnuairesTransferts UIFBDD Mysql pgsql

Windows2008R2CentOS 6debian Linux 6et 7IBM OS400

virtualisationESXvirtualisationXenservervCenterLAN agencesLAN CFPStockageSANaccegraves internetexterne

AgenceetCFP

Citrix XenAppPartages SMBIISservices mailAnnuaires

Siegravege service direction finance comptabiliteacute patrimoine

reporting etanalyse Harry

crystal Report

Chaicircnedeacutecisionnelle ETLBDD DB2MSSQL

Tableau 21 composants assurant les fonctionnaliteacutes deacuteployeacutees par lERP Aravis

Page 32

Enjeux et architectures

De faccedilon assez scheacutematique dans le Tableau 21 un premier jeu de deacutependanceseacutemerge entre les strates fonctionnelles et applicatives Au niveau de linfrastructure silon peut isoler quelques deacutependances eacutevidentes il paraicirct plus clair denvisager une ap-proche en termes dimpact tant les composants sont inteacutegreacutes

Lobjectif eacutetant de cibler les principaux enjeux nous chercherons agrave eacutevaluer et laquestion de limpact et celles des liens de deacutependance logique avec loutil de supervisionAgrave ce stade du projet les ressources techniques suivantes ont eacuteteacute inventorieacutees comme desensembles coheacuterents ayant un impact critique sur lensemble du SI

les liaisons reacuteseau qui impliquent tous les commutateurs les eacuteleacutements actifsspeacutecifiques comme le firewall Netasq U250 les diffeacuterents LAN18 et la connectiviteacuteinternet qui repose sur des modems (SDSL ADSL ou fibre deacutedieacutee) La quasi-tota-liteacute des applications des postes de travail sappuient sur une logique client-serveurn-tiers confeacuterant aux services reacuteseau un caractegravere critique

les couches de virtualisation ESXi[23] (zone de production) ou XenServer[24](DMZ19 et test) qui maintiennent une soixantaine de serveurs

la couche systegraveme qui concerne plus directement les systegravemes drsquoexploitationprincipalement des systegravemes Linux CentOS ou Debian et Windows 2008R2 UnIseries Power 7 est eacutegalement utiliseacute en production On recense mais de faccedilonplus anecdotique des systegravemes IOS (Cisco)[26] ou Netbsd[27]

la couche plate-forme qui concerne les eacuteleacutements applicatifs en arriegravere-plan serveurs web (NGiNX Apache IIS) bases de donneacutees (MSSQL MySQL Post-greSQL) serveurs mail (Postfix Cyrus) etc

la couche applicative qui concerne les applications en avant-plan le plus sou-vent des interfaces utilisateurs ou des instances applicatives speacutecifiques On ytrouve par exemple les clients de messagerie les interfaces graphiques des clientsde lERP Aravis ou les navigateurs qui permettent drsquoacceacuteder agrave diverses interfacesweb

On peut ensuite lier agrave la couche applicative un certain nombre de macro-fonction-naliteacutes qui se rapportent directement agrave lactiviteacute de lentreprise on se situe donc plusdirectement dans la vision fonctionnelle Dans notre cas les fonctions suivantes ont eacuteteacutemises en eacutevidence

18 LAN Local Area Network se reacutefegravere aux diffeacuterents sous-reacuteseaux constituant le reacuteseau interne19 DMZ zone deacutemilitariseacutee (de langlais DeMilitarized Zone) est un sous-reacuteseau seacutepareacute du reacuteseau local et

isoleacute de celui-ci et dInternet par un pare-feu Ce sous-reacuteseau contient les machines auxquelles internetest susceptible dacceacuteder[25]

Page 33

Enjeux et architectures

gestion locative repose tregraves directement sur lERP Aravis

eacutechanges internes stockage diffusion et eacutechanges de donneacutees archivage

logiques financiegraveres et comptables

logiques de transfert et deacutechange accegraves externes et eacutechanges de donneacutees avec despartenaires externes services externaliseacutes

deacutecisionnel exploitation des donneacutees et production de statistiques

gestion des moyens geacuteneacuteraux ressources humaines et activiteacutes de supports trans-verses

Ces fonctions gardent une connotation geacuteneacuterique qui permet deacutetablir un lien de fa-ccedilon scheacutematique avec la couche applicative ainsi que le montre lIllustration 26

Les items repreacutesenteacutes dans cette Illustration 26 sont une abstraction qui facilite lepassage agrave la vision meacutetier toujours dans lideacutee dassurer un alignement strateacutegique Endeccedilagrave des visions meacutetier et applicatives eacutemergent les aspects plus laquo techniques raquo du SI systegravemes mateacuteriels et plates-formes intermeacutediaires

Si la partie mateacuterielle est globalement doteacutee de certaines faculteacutes de reacutesiliencequelques composants restent fragiles soit en raison de la faible fiabiliteacute du mateacuteriel (parexemple mateacuteriel vieillissant dont le taux de pannes augmente) soit en raison dinstabili-teacutes notoires comme cest le cas pour certains logiciels dont le deacuteveloppement a eacuteteacute aban-donneacute Quoiquil en soit ces deacuteficiences sont clairement identifieacutees et restent rares

Page 34

Illustration 26 vision fonctionnelle

Enjeux et architectures

Dans le cas preacutesent en reacutefeacuterence aux deacutefinitions ITIL les difficulteacutes consistent en

veacuterifier leacutetat de fonctionnement de composants relativement heacuteteacuterogegravenes sys-tegravemes de virtualisation OS400 Windows Linux BSD

mesurer les performances des diffeacuterents composants de faccedilon homogegravene pour enfaciliter la comparaison et la constitution deacuteventuels KPI

eacutetablir des seuils dalerte cest-agrave-dire deacuteterminer les symptocircmes dun eacuteveacutenementnormal inhabituel ou dune exception

les regrouper de faccedilon coheacuterente en sappuyant sur la logique de services sem-blable agrave celle que lon retrouve dans les preacuteconisations ITIL

prioriser ces services ou groupes logiques notamment en eacutevaluant limpact deleur fonctionnement sur lactiviteacute du SI de Grand Besanccedilon Habitat

eacutevincer les deacutependances redondantes il sagit disoler artificiellement une repreacute-sentation de ce quest un composant ou un service Concregravetement un service quelqursquoil soit ne peut fonctionner sans la couche de virtualisation ou le reacuteseau

Leacutevaluation dun service peut donc reposer sur une seacuterie dassertions dont le chaicirc-nage logique repreacutesenterait ces interdeacutependances Deacutevidence ces eacutevaluations neacutecessitentune logique homogegravene Cest agrave ce niveau que lon peut sappuyer sur la typologie des

Page 35

Illustration 27 exemple danalyse de deacutependances UIF application de transferts seacutecuriseacutes

Enjeux et architectures

eacuteveacutenements ITIL (normal inhabituel ou anormal) qui fournit un niveau dabstractionsuffisamment important

LIllustration 27 montre comment les logiques dinterdeacutependances peuvent ecirctrescheacutematiseacutees pour un laquo service raquo que lon nomme laquo transfert des preacutelegravevements au CFPraquoCe service consiste agrave automatiser le transfert de donneacutees deacutecrivant les ordres de preacutelegraveve-ment des comptes bancaires des locataires au centre de finances publiques Du point devue fonctionnel on associe ce service aux logiques de transferts externes Lideacutee est depouvoir eacutevaluer agrave quelles conditions lapplication en charge deffectuer les transferts au-tomatiques de donneacutees vers le VPN du centre des finances publiques est opeacuterationnelleOn distingue les diffeacuterentes couches deacutecrites plus haut et pour chacune dentre elles lescomposants techniques solliciteacutes Dans ce cas preacutecis on suppose que leacutetat du servicepeut ecirctre eacutevalueacute par un KPI qui restitue un eacutetat global en fonction de leacutetat de diffeacuterentscomposants

Plus en deacutetail si lon sattache au composant routeur on pourrait consideacuterer que cedernier est opeacuterationnel en effectuant les opeacuterations logiques suivantes

Dans la mecircme ideacutee en utilisant le retour deacutetat sur chacun des composants onpeut le propager au service et en deacuteduire leacutetat du service laquo transfeacuterer un fichier de preacute-legravevement au CFP raquo Cette approche bien quapparemment fastidieuse laisse apparaicirctrela neacutecessiteacute de factoriser les tests de supervision Conjointement cela explique que lonisole chacun des composants dont le rocircle est identifieacute comme critique pour lactiviteacute deproduction

Le scheacutema nentre pas dans le deacutetail des informations qui permettent de deacuteduireleacutetat des composants et de le comparer agrave des seuils deacutetermineacutes - cest un point que nousdeacutetaillerons plus loin et qui reacutepond agrave diverses questions relatives agrave la gestion des capaci-teacutes On observera eacutegalement comment reacutecupeacuterer des donneacutees de performance indispen-sables aux processus de gestion des capaciteacutes ou agrave leacutevaluation de la qualiteacute du service

En fin de compte ces analyses ont permis de

identifier les ressources et composants fondamentaux le reacuteseau et la couche de

Page 36

Enjeux et architectures

virtualisation les systegravemes les plates-formes et les applications

deacutegager des groupes applicatifs coheacuterents et deacutependants dune seacuterie structureacutee decomposants techniques

deacutegager une logique de deacutecomposition des diffeacuterents eacuteleacutements du SI en notantlimportance des liens de deacutependance quils entretiennent

poser lideacutee quun service peut ecirctre eacutevalueacute par une expression logique regroupantces indicateurs

questionner la lisibiliteacute et la seacutemantique des indicateurs Le SI recegravele une certainecomplexiteacute quil sagisse de deacutependances mateacuterielles ou logiques eacutetablir un lienentre les composants de linfrastructure et la vision meacutetier induit une abstractionCest agrave ce niveau que se pose la question du sens chacun des acteurs du SI utili-sateur ou administrateur construit des repreacutesentations qui lui sont propres Ilnest donc pas envisageable de restreindre le SI agrave une seule repreacutesentation

Ces difficulteacutes qui sexpriment en termes danalyse de conceptualisation ou de re-preacutesentation posent clairement la question du choix de loutil de supervision si propo-ser des mesures objectives de performances des composants techniques semble eacutevidentleacutevaluation de lalignement strateacutegique reste plus deacutelicate notamment parce quelle sup-pose dabstraire le SI de sa reacutealiteacute technique et dinteacutegrer un processus iteacuteratif dadapta-tion[28] dans loutil mecircme En ce sens il a sembleacute approprieacute de mettre en œuvre une so-lution de supervision capable doffrir des faciliteacutes deacutevolution et dadaptation

23 Choix dune solution de supervision

Si lanalyse permet de relever un certain nombre de difficulteacutes elle met en exerguela neacutecessiteacute dappreacutehender la supervision comme un processus continu et eacutevolutif Outrecette souplesse loutillage de supervision doit pouvoir restituer une mesure comparabledeacuteleacutements heacuteteacuterogegravenes et en fournir une repreacutesentation syntheacutetique

Dans cette ideacutee il est important de pouvoir sappuyer sur des protocoles supporteacutespar lensemble des composants Sagissant ici dun reacuteseau local TCPIP on sinteacuteresseraplus speacutecifiquement aux protocoles compatibles avec ce type de reacuteseau par ailleurs fortreacutepandu Cette couche reacuteseau ainsi que nous lavons noteacute preacuteceacutedemment constitue undeacutenominateur commun pour lensemble des composants de larchitecture de Grand Be-sanccedilon Habitat Un premier examen de quelques-uns de ces protocoles comme SNMPest indispensable pour eacutevaluer la pertinence des solutions de supervision au regard des

Page 37

Enjeux et architectures

speacutecificiteacutes de larchitecture de GBH En second lieu nous observerons au regard de ceseacuteleacutements comment sest effectueacute le choix dune solution de supervision

231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision

2311 Le cas du protocole SNMPSNMP est lacronyme de Simple Network Management Protocol Cest un protocole

reacuteseau qui a eacuteteacute deacutefini par un groupe de travail de lIETF (Internet Engineering TaskForce) dans le cadre de la deacutefinition dun systegraveme de gestion pour les reacuteseaux utilisantles protocoles TCPIP Ce protocole est extrecircmement reacutepandu aujourdhui speacutecialementpour le controcircle des reacuteseaux locaux On peut de fait le consideacuterer comme un standardincontournable[29] Trois versions de SNMP se sont succeacutedeacute SNMPv1 SNMPv2 etSNMPv3

Lenvironnement SNMP est un protocole destineacute agrave surveiller la performance du reacute-seau agrave deacutetecter et agrave analyser ses fautes et agrave configurer ses eacuteleacutements

SNMP a eacuteteacute approuveacute par lIAB (Internet Activities Board) responsable des speacuteci-fications de TCPIP Ce standard est deacutefini par une seacuterie de RFC parmi lesquelles

RFC1155SMI Structure of Management Information

RFC 1156MIB Management Information Base

RFC1157 SNMP Protocol

RFC 2258 MIB II

Ce cadre deacutefinit trois composants fondamentaux

le protocole lui-mecircme situeacute au niveau application de larchitecture en couches deTCPIP qui deacutefinit la structure formelle des communications

la base dinformation ou MIB qui recense lensemble des variables relatives auxmateacuteriels et logiciels supporteacutes par le reacuteseau et qui deacutefinit les objets de gestiondans lenvironnement TCPIP

les speacutecifications de linfrastructure de gestion SMI (Structure of ManagementInformation) qui deacutefinissent les modaliteacutes de repreacutesentation des ressources dans laMIB et la faccedilon de les obtenir

Lenvironnement SNMP est constitueacute de deux eacuteleacutements principaux

une station de gestion appeleacutee NMS (Network Management Station) qui contientune base maicirctre qui repreacutesente toutes les ressources du reacuteseau et les informations

Page 38

Enjeux et architectures

de gestion associeacutees

des agents logiciels qui sont en œuvre dans chaque station geacutereacutee Ces agentspeuvent repreacutesenter un serveur un routeur des eacutequipements de transmission etcChacun de ces agents est doteacute dune MIB comprenant une base dobjets geacutereacutes etdes variables

Le protocole Dans son fonctionnement le protocole SNMP est asymeacutetrique Il est constitueacute dun

ensemble de requecirctes de reacuteponses et dun nombre limiteacute dalertes Le manager envoiedes requecirctes agrave lagent lequel retourne des reacuteponses Lorsquun eacuteveacutenement anormal sur-vient sur leacuteleacutement reacuteseau lagent envoie une alerte (trap) au manager

SNMP utilise le protocole UDP [RFC 768] Le port 161 est utiliseacute par lagent pourrecevoir les requecirctes de la station de gestion Le port 162 est reacuteserveacute agrave la station de ges-tion pour recevoir les alertes des agents

On deacutenombre trois types de requecirctes GET SET et TRAP

Les commandes de type GET REQUEST permettent aux NMS dinterroger des ob-jets et des variables geacutereacutes dans la MIB des agents Plus preacuteciseacutement on distingue lescommandes suivantes

la requecircte GetRequest permet la recherche dune variable sur un agent

la requecircte GetNextRequest permet aux stations de recevoir le contenu delinstance qui suit lobjet nommeacute Gracircce agrave cette commande la station de gestionpeut balayer les tables de MIB

la requecircte GetBulk permet la recherche dun ensemble de variables regrou-peacutees Cette requecircte a eacuteteacute introduite dans la version 2 du protocole SNMP elle apour but de limiter les flots dinformations

la commande de type GetResponse est le message retourneacute aux NMS par lesagents quils interrogent en reacuteponse aux messages de type GET REQUEST GETNEXT REQUEST et SET REQUEST

La requecircte SET (SetRequest) permet de changer la valeur dune variable sur unagent Par exemple cette commande autorise un manager agrave modifier la table de routagedun hocircte

Page 39

Enjeux et architectures

La trame SNMPv1 est complegravetement encodeacutee en ASN1 et sa longueur est variableLes requecirctes et les reacuteponses ont le mecircme format La communauteacute permet de deacutefinir desdomaines dadministration Elle est constitueacutee dune chaicircne de caractegraveres dont la valeurpar deacutefaut est laquo public raquo Dans le PDU SNMP (Protocol Data Unit) deacutecrit dans lIllus-tration 28 la zone laquo type PDU raquo correspond au type de requecircte deacutecrit plus haut Onretrouve ainsi la nomenclature de lIllustration 29 Le champ laquo Request ID raquo permet agravela station de gestion (NMS) dassocier les reacuteponses agrave ses requecirctes Les champs Error per-mettent de prendre en compte une erreur renvoyeacutee par lagent NoAccess WrongValueWrongLength etc)

LOID quant agrave lui se reacutefegravere plus directement agrave un nœud de la MIB eacutevoqueacutee plushaut

La version 2 essaye principalement de limiter le flot dinformations induit par lesrequecirctes SNMP en introduisant une requecircte GETBULK et une requecircte GET ameacutelioreacuteeCest eacutegalement la version 2 qui introduit la possibiliteacute de communiquer entre diffeacuterentsmanagers et la commande de type INFORM (trap) qui permet denvoyer des alertesquand un eacuteveacutenement non attendu se produit sur lagent Agrave son initiative celui-ci envoie

Page 40

Illustration 29 correspondance type de PDU - type de requecircte SNMP

Illustration 28 structure dune trame SNMPv1

Enjeux et architectures

une commande trap agrave la station NMS Concregravetement il sagit dinformer le NMS drsquoeacuteveacute-nements de type laquo arrecirct de lagent deacutepassement dun seuil remonteacutee dun lien reacuteseauetc raquo

En 1996 lIETF a formeacute un nouveau comiteacute en vue dexaminer les problegravemes de seacute-curiteacute dans SNMP Le standard SNMPv3 voit le jour en 1998 Cette version reprend lesameacuteliorations de SNMPv2 en incluant de nouveaux eacuteleacutements de seacutecuriteacute ces derniersconstituant de fait la principale ameacutelioration SNMPv3 est composeacute de trois modules

Message Processing and Control qui deacutefinit la creacuteation et les fonctions danalysedes messages

Local Processing qui soccupe de la question des controcircles daccegraves et de lexeacutecu-tion des donneacutees

Security qui permet lauthentification et le chiffrement des messages

En pratique tous les agents ne supportent pas neacutecessairement toutes les com-mandes ni mecircme toutes les versions de SNMP Selon les agents ou le type de mateacuterielutiliseacute il reste difficile de ne se reposer que sur la version 3 de SNMP les versions 1 et 2eacutetant encore largement utiliseacutees

Les MIBLa MIB (Management Information Base) est la base de donneacutees des informations

de gestion maintenue par lagent aupregraves de laquelle le NMS va reacutecupeacuterer des informa-tions

Un fichier MIB est un document texte eacutecrit en langage ASN1[30] [31] (AbstractSyntax Notation 1) qui deacutecrit les variables les tables et les alarmes geacutereacutees au sein duneMIB Par exemple une interface reacuteseau se deacutecrit de la faccedilon suivante dans une baseMIB

Page 41

Enjeux et architectures

La MIB est une structure arborescente dont chaque nœud est deacutefini par un nombreou OID (Object IDentifier) Elle contient une partie commune agrave tous les agents SNMPen geacuteneacuteral une partie commune agrave tous les agents SNMP dun mecircme type de mateacuteriel etune partie speacutecifique agrave chaque constructeur Chaque eacutequipement agrave superviser possegravede sapropre MIB Non seulement la structure est normaliseacutee mais les appellations des di-verses rubriques le sont aussi

Ainsi que le montre lIllustration 210 chaque branche est identifieacutee de faccedilonunique et non ambigueuml Par exemple SysObjectId est identifieacute par lOID numeacuterique13612112 ou par sa forme litteacuterale ISOOrgDODInternetManagementMIB-IISys-temSysObjectId

La MIB-II correspond agrave des informations dont disposent tous les eacutequipements com-patibles SNMP Conjointement les constructeurs de mateacuteriel deacutefinissent des branchesspeacutecifiques avec des informations speacutecifiques agrave leurs eacutequipements Lextrait du Texte 21ci-apregraves illustre une MIB fournie par le fabricant QNAP Les appellations litteacuterales nesont preacutesentes que dans un souci de lisibiliteacute En reacutealiteacute chaque niveau de la hieacuterarchieest repeacutereacute par un index numeacuterique et SNMP nutilise que celui-ci pour y acceacuteder

Page 42

Illustration 210 management information tree repreacutesentation des structures de MIB

Enjeux et architectures

ExempleLes requecirctes SNMP sont relativement simples agrave mettre en œuvre pour peu que

lon dispose dune MIB suffisamment explicite Par exemple sous les systegravemes Linux onpeut disposer de la commande snmpwalk[32] ainsi que lillustre le Texte 22

Un des inteacuterecircts de SNMP outre sa simpliciteacute et ses performances est que lon dispose demultiples outils et API de programmation comme PySNMP[33] en langage Python ouNet-SNMP[34] en langage Perl

Page 43

Texte 21 extrait dune MIB deacutedieacutee aux SAN QNAP

Enjeux et architectures

2312 Le modegravele CIMSi SNMP est le protocole qui semble le plus reacutepandu cela sexplique aussi sans

doute par la vogue de lenvironnement TCPIP Il existe toutefois dautres modegraveles etprotocoles qui peuvent ecirctre mis en œuvre dans le cadre dune supervision

Lapproche OSI par exemple quoique plus complexe met en œuvre un modegravele degestion dont les eacuteleacutements communs sont speacutecifieacutes par le service CMIS (Common Mana-gement Information Service element) et le protocole CMIP (Common Management In-formation service Protocol) que lon retrouve dans les normes ISO9595 et ISO9596[29]Quoique plus ambitieuse et geacuteneacuteraliste que SNMP lapproche OSI nest toutefois passtabiliseacutee[35] Cela explique que SNMP soit devenu un standard pour la gestion du laquo reacute-seau raquo parallegravelement agrave la version ISO Toutefois si SNMP reste simple et performant ildoit ecirctre impleacutementeacute par les diffeacuterents constructeurs Or si en pratique peu de compo-sants ne supportent pas SNMP certains fabricants privileacutegient dautres solutions etnenrichissent que tregraves peu les MIB de leurs agents Cest le cas de Canon qui fournitdes copieurs multifonctions (modegraveles iRAdvance) compatibles SNMP sans procurer lesMIB associeacutees aux compteurs speacutecifiques En questionnant le service apregraves-vente Canonil semble acquis que Canon ne fournit jamais ces MIB mais privileacutegie des systegravemes desupervision sous licence speacutecifiques agrave ses produits Ce type dapproche qui reste raredeacutenote de la possible incompleacutetude des impleacutementations dagents SNMP Aussi le fait desappuyer uniquement sur SNMP dans le cadre dun projet de supervision pourrait ecirctreun choix fragile

Page 44

rootshinken snmpwalk -v 2c -c ghbro 17216113 IfIF-MIBifIndex1 1IF-MIBifIndex2 2IF-MIBifIndex3 3IF-MIBifDescr1 loIF-MIBifDescr2 eth1IF-MIBifDescr3 eth0IF-MIBifType1 softwareLoopbackIF-MIBifType2 ethernet-csmacdIF-MIBifType3 ethernet-csmacdIF-MIBifMtu1 16436IF-MIBifMtu2 1500IF-MIBifMtu3 1500IF-MIBifSpeed1 10000000IF-MIBifSpeed2 0IF-MIBifSpeed3 1000000000

Texte 22 extrait dune sortie de commande snmpwalk

Enjeux et architectures

Dautres outils souvent proprieacutetaires sont deacuteveloppeacutes par certaines compagniesParmi ces outils WBEM[36] [37](Web-Based Enterprise Management) a eacuteteacute deacuteveloppeacutepar le Web Based Enterprise Management Consortium qui comprend notamment BMCSoftware Cisco Compaq Intel Microsoft etc WBEM est une initiative du DMTF(Distributed Management Task Force) qui prend en charge le modegravele de donneacutees CIM(Common Information Model) deacutecrivant les objets dun environnement de gestion Lemodegravele CIM est donc un autre type de modegravele Le DMTF le deacutefinit de la faccedilon suivante[38]

CIM provides a common definition of management information for systems net-works applications and services and allows for vendor extensions CIMs common defi-nitions enable vendors to exchange semantically rich management information betweensystems throughout the network CIM is composed of a Specification and a Schema TheSchema provides the actual model descriptions while the Specification defines the detailsfor integration with other management models

La page de Wikipedia deacutedieacutee agrave CIM deacutecrit ainsi le modegravele[39]

une autre faccedilon de deacutecrire CIM est de dire quil permet agrave de nombreux intervenantsdeacutechanger des informations de management les concernant Mais CIM ne permet passeulement de repreacutesenter ces eacuteleacutements manageacutes ainsi que leurs informations intrin-segraveques il fournit aussi un moyen de les controcircler et de les manager directement En uti-lisant un modegravele de donneacutee unifieacute un logiciel de management peut ecirctre eacutecrit une seulefois et travailler ainsi avec plusieurs impleacutementations de ce modegravele unifieacute sans surcoucirctni perte dinformation

Le modegravele CIM se veut plus complexe que le modegravele SNMP avec lequel il permetneacuteanmoins une certaine compatibiliteacute Lideacutee est plutocirct de proposer un modegravele inteacutegreacutepour certains composants moins geacuteneacuteraliste que le modegravele ISO mais prenant en comptedes processus de gestion plus eacutelaboreacutes en incluant notamment des proceacutedeacutes de controcircleet des API de programmation Ce que lon peut comprendre ici cest que lintention desuperviser linteacutegraliteacute du SI avec ses diffeacuterentes strates et composants a deacutejagrave eacuteteacute formu-leacutee au travers de ce modegravele La difficulteacute avec les impleacutementations de WBEM qui sap-puient sur le modegravele CIM est quelles ne sappliquent quagrave certains mateacuteriels ou sys-tegravemes offrant finalement peu de prise avec des systegravemes dinformation tregraves heacuteteacuterogegravenesdu fait de cette volonteacute affirmeacutee dinteacutegration Dune certaine faccedilon si les impleacutementa-tions de solutions relevant du modegravele CIM restent confineacutees agrave certains constructeurs lemodegravele CIM a lavantage de fournir une classe dabstraction et un modegravele de repreacutesenta-tion unifieacute des ressources dun SI Autre point dimportance du fait de sa conceptionCIM permet deacutetablir une relation entre les composants ce que ne permet pas SNMP

Page 45

Enjeux et architectures

Outre ces deacutependances le modegravele CIM offre une deacutecomposition des eacuteleacutements dunSI en sappuyant sur une modeacutelisation UML Un meacuteta-modegravele standardiseacute par le DMTFa eacuteteacute deacutefini pour CIM Ce dernier reprend donc les notions de classe de proprieacuteteacute demeacutethode dassociation et de reacutefeacuterence On distingue notamment

les indications qui permettent de repreacutesenter la notion drsquoeacuteveacutenement

les qualifieurs qui sont des sortes de laquo mots-cleacutes raquo et qui se placent devant uneclasse une meacutethode ou une proprieacuteteacute afin de lui donner une seacutemantiqueparticuliegravere ou un type particulier

les deacuteclencheurs ou triggers qui se deacuteclenchent suite agrave une action

Page 46

Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et les ressources

Enjeux et architectures

Illustration 212 scheacutema UML du meacuteta-modegravele CIM

Agrave cocircteacute de ce meacuteta-modegravele sont deacutefinis des modegraveles communs plus geacuteneacuteriques Parexemple le Core Schema[38] distingue les systegravemes les relations entre les composantsphysiques et logiques les services etc (voir Illustration 213) La geacuteneacutericiteacute de ce modegraveletend agrave deacutemontrer lintention de CIM de sappliquer agrave tous les domaines de gestion Lesautres modegraveles CIM sont des speacutecialisations du modegravele Core

Agrave partir de ce modegravele un certain nombre dimpleacutementations ont vu le jour tou-jours dans lideacutee doffrir une interface de gestion unifieacutee capable de sappliquer agrave len-semble des eacuteleacutements dun systegraveme dinformation Cest le cas de SMI-S (Storage Mana-gement Initiative - Specification) plus speacutecifiquement deacutedieacute agrave la gestion des baies de sto-ckage et de WMI (Windows Management Instrumentation) qui lui sattache agrave la ges-tion des systegravemes Windows Linitiative WBEM citeacutee plus haut recense en fait un en-semble de standards de gestion du DMTF toujours dans lideacutee duniformiser les inter-faces de gestion denvironnement informatique comme SNMP

Page 47

Enjeux et architectures

Illustration 213 le modegravele CIM laquo systems raquo

2313 Impleacutementations reposant sur le modegravele CIM

WMI Windows Management InstrumentationLe WMI est une API Microsoft creacuteeacutee en 1998 Elle vise agrave permettre la gestion des

eacuteleacutements logiques et physiques de machines doteacutees de systegravemes dexploitation MicrosoftWindows WMI est en fait une impleacutementation de la norme WBEM Le centre de docu-mentation Microsoft deacutefinit WMI de la faccedilon suivante[40]

cette initiative vise agrave eacutetendre le modegravele CIM (Common Information Model) pourrepreacutesenter les objets de gestion dans les environnements de gestion Windows Le modegravele

Page 48

Enjeux et architectures

CIM une norme issue eacutegalement du groupe de travail DMTF est un modegravele de donneacuteesextensible permettant drsquoorganiser logiquement les objets de gestion de maniegravere coheacuterenteet unifieacutee dans un environnement geacutereacute

Illustration 214 architecture WMI

Les composants du systegraveme sont organiseacutes en classes et objets agrave linstar du modegraveleCIM Partant dune requecircte on peut donc agir sur les diffeacuterents objets dun systegravemeWindows Soit lobjet est stockeacute dans le deacutepocirct WMI (WMI repository sur lIllustration214) soit on peut y acceacuteder via un fournisseur par exemple un provider SNMP interfa-ceacute avec lagent WMI

Lexemple ci-dessous illustre une requecircte WQL[41] (Windows Query Langage) quireacutecupegravere la date du dernier deacutemarrage systegraveme

WMI est eacutevidemment speacutecifique aux systegravemes Microsoft Windows ce qui en limitela porteacutee Limpleacutementation reste toutefois particuliegraverement inteacuteressante dans le cadredu projet de supervision notamment parce qursquoelle permet dobtenir des informationstregraves preacutecises sur leacutetat des composants du systegraveme dexploitation Du point de vue pro-grammatique et en utilisant les clients adeacutequats[42] il est relativement aiseacute deacutelaborerdes sondes capables de requecircter des services WMI distants

SMI-SSMI-S (Storage Management Initiative Specifications) est un standard deacutedieacute au sto-

ckage deacuteveloppeacute et maintenu par le SNIA (Storage Networking Industry Associa-tion[43]) SMI-S est eacutegalement ratifieacute par un standard ISO (ISOIEC247752011[44])

Page 49

Enjeux et architectures

SMI-S repose sur CIM et WBEM Lobjectif de SMI-S est de permettre la gestion desystegravemes de stockage heacuteteacuterogegravenes

SMI-S deacutefinit une seacuterie de profils de gestion CIM pour les systegravemes de stockageCes profils deacutecrivent les diffeacuterents comportements speacutecifiques deacuteleacutements comme la ges-tion des disques RAID les commutateurs fibre ou reacuteseau la gestion des volumes etc Defaccedilon tregraves basique SMI-S implique deux parties

les clients qui requecirctent des fournisseurs SMI-S en utilisant WBEM

les serveurs qui sont le plus souvent les peacuteripheacuteriques de stockage eux-mecircmes (lec-teurs LTO stockage virtualiseacute SAN NAS etc) Concregravetement les clients re-quecirctent un serveur CIM qui integravegre les profils SMI-S du constructeur concerneacute

SMI-S incorpore eacutegalement des fonctions de deacutecouverte via SLP (Service LocationProtocole)

La compatibiliteacute SMI-S ne concerne toutefois que les constructeurs laquo affilieacutes raquoLaccegraves aux profils des diffeacuterents constructeurs est le plus souvent lieacute agrave des clients speacuteci-

Page 50

Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S

Enjeux et architectures

fiques comme par exemple lutilitaire smcli20 dIBM ou le client Navisphere du construc-teur EMC Cette restriction parfois incontournable participe agrave diversifier les contraintesprotocolaires agrave prendre en compte dans les proceacutedeacutes de supervision

IPMI IPMI (Intelligent Platform Management Interface) est une interface standardiseacutee

utiliseacutee pour la gestion des ordinateurs et leur supervision IPMI permet dopeacuterer sur desmachines directement sans passer par le systegraveme dexploitation Cela autorise notam-ment dopeacuterer sur des mateacuteriels dont le systegraveme dexploitation est deacutefaillant ou non deacute-marreacute Cette initiative est meneacutee par la socieacuteteacute Intel et concerne pregraves de 200 vendeurs demachines informatiques21 dont Cisco Dell ou NEC

Les machines doteacutees de composants mateacuteriels impleacutementant IPMI sont en capaciteacutede renvoyer des informations relatives aux sondes de tempeacuterature interne dun CPU oudun chacircssis agrave la vitesses de ventilateurs agrave leacutetat physique des disques ou denvoyer dessignaux via des LED Les systegravemes compatibles avec la version 20 dIPMI sont eacutegale-ment en capaciteacute de mettre en œuvre des KVM via un reacuteseau LAN ou dinterfacer lesmachines distantes avec des meacutedia virtuels

Si IPMI procure des faciliteacutes dadministration eacutevidentes - comme linstallation dunOS ou une modification du BIOS agrave distance - il sinterface eacutegalement avec le protocoleSNMP De fait on peut donc effectuer des requecirctes SNMP vers un serveur IPMI quipropose explicitement un support SNMP Il reste agrave noter que ce support nest pas neacuteces-sairement complet - certains mateacuteriels ne proposent par exemple que la possibiliteacutedeacutemettre des traps SNMP

En fin de compte lintention dIPMI ne porte pas uniquement sur la question de lasupervision mais plus exactement sur des questions de gestion mateacuterielle Il reste que ceprotocole demeure dans certains cas le moyen exclusif drsquoacceacuteder agrave des informations ma-teacuterielles en ce sens il constitue un outil de supervision non neacutegligeable

2314 Le point de vue utilisateur End User Experience et Application Performance Management

Face agrave ces protocoles et normes qui valorisent davantage la techniciteacute du SI la no-tion dexpeacuterience utilisateur (End User Experience) fait surface depuis quelques anneacuteesElle est lune des techniques qui compose lAPM (Application performanceManagement)[10] Quoique peu formaliseacutee lAPM dispose dune sorte de modegravele (Illus-tration 216) qui recense les diffeacuterentes techniques utiliseacutees pour eacutevaluer la performance

20 Smcli httppicdheibmcominfocenterdirectorpubsindexjsptopic=2Fcomibmdirectorclihelpsdoc2Ffqm0_r_cli_smclihtml

21 IPMI adopters list httpwwwintelcomcontentwwwusenserversipmiipmi-adopters-listhtml

Page 51

Enjeux et architectures

applicative en valorisant le point de vue utilisateur plutocirct quen sattachant agrave eacutevaluerles composants de linfrastructure

Dans le cas de lEUE lideacutee est deacutevaluer le ressenti dun utilisateur en simulantson comportement plutocirct que deacutevaluer lensemble des composants qui concourent agrave lelui fournir Il ne sagit donc pas deacutevaluer le ressenti subjectif des utilisateurs reacuteels maisde veacuterifier la validiteacute de sceacutenarios comportementaux Les technologies qui permettent lamise en œuvre de ce type deacutevaluation reposent sur des outils de simulation et sur dessceacutenarios fonctionnels deacutecoupeacutes en eacutetapes

Il existe diffeacuterentes familles doutils de simulation On distingue

les automates speacutecialiseacutes dans la simulation web watir-webdriver[45] Sele-nium[46] web-inject[47] ou mecircme des frameworks comme le fameux WWWMe-chanize[48] Perl qui permettent de programmer une interaction avec un naviga-teur web ou directement avec des applications en ligne

les outils plus geacuteneacuteraux qui reposent sur des techniques danalyse et de recon-naissance optique Sikuli[49] en est un exemple ce produit se distingue des preacute-ceacutedents automates parce quil nest pas limiteacute agrave la simulation dapplications webmais peut ecirctre utiliseacute dans le cadre plus geacuteneacuteral dun poste de travail Son prin-cipe de fonctionnement est le suivant by recording both input events and screenimages it is possible to extract the images of components interacted with and thevisual feedback seen by the demonstrator and generate a visual test script auto-matically[] To execute an action statement the automation engine visuallyidentifies the target GUI componentrsquos current location (x y) by searching thecurrent screen for an image region matching the target image I To find a givenpattern we apply the template matching technique with the normalized correla-tion coefficient implemented in OpenCV in our current system This techniquetreats the pattern as a template and compares the template to each region withthe same size in an input image to find the region most similar to the templateThen the click event is delivered to the center of the matched region to simulatethe desired user interaction[50]

on recense enfin diverses techniques permettant de tracer lexeacutecution de lappli-cation parfois agrave laide dun code intrusif Parmi celles-ci on peut citer JMX[51]pour les technologies Java le framework Javascript Boomerang[52] qui permetdobtenir des informations sur le chargement des pages web dans lequel on lin-segravere ou encore des techniques danalyse reposant sur le port mirroring quiconsiste agrave capturer le trafic dun commutateur reacuteseau Certaines de ces tech-niques sont utiliseacutees de faccedilon intensive dans le cadre de lautomatisation de testsde deacuteveloppement Cest par exemple le cas de Jenkins[53] un outil dinteacutegration

Page 52

Enjeux et architectures

continue capable dautomatiser des tests de non-reacutegression De faccedilon plus geacuteneacute-rale on cherche agrave eacutevaluer une application en traccedilant limpact dun sceacutenario debout en bout sur lensemble des composants solliciteacutes

LAPM est une notion encore reacutecente Son peacuterimegravetre nest pas deacutefini de faccedilonstricte certaines socieacuteteacutes comme Compuware[54] ou Capensis[55] mettent en avantcette approche[56] en valorisant un modegravele qui distingue les diffeacuterentes dimensions delAPM (voir lIllustration 216) Dans le cadre de ce projet nous nous sommes essentiel-lement inteacuteresseacutes aux tests comportementaux

Les proceacutedeacutes baseacutes sur lanalyse syntaxique des pages HTML comme WWWMe-chanize[47] ou web-inject[47] ont eacuteteacute abandonneacutes en raison des limitations de cette tech-nique les requecirctes asynchrones ou la preacutesence dAPI tierces comme Microsoft activeXou Adobe Flash eacutechappent au proceacutedeacute danalyse syntaxique Qui plus est de simplesmodifications dune page peuvent invalider le code dune sonde de ce type

Pour parer agrave cet eacutecueil le recours agrave des solutions plus reacutecentes comme Phantom-JS[57] ou Selenium[46] qui reposent sur leacutemulation complegravete dun navigateur sest reacute-veacuteleacute plus efficace Ces techniques plus adapteacutees agrave la complexiteacute des interfaces web ac-tuelles permettent de simuler avec plus dexactitude des sceacutenarios comportementaux lieacutes

Page 53

Illustration 216 APM Conceptual Model [56]

Enjeux et architectures

agrave des applications web notamment en prenant en compte les speacutecificiteacutes lieacutees agrave lutilisa-tion du type de navigateur Ainsi Selenium permet deacutemuler diffeacuterents navigateurs (Fi-refox Internet Explorer)

Les techniques dites dAPM reposent tregraves largement sur les tests comportemen-taux Ce type de test demeure le plus facile agrave mettre en œuvre quel que soit le contexte

Sans couvrir tous les diffeacuterents aspects eacutenumeacutereacutes par le modegravele de lAPM il semblepertinent de prendre en compte cette approche comme une composante agrave part entiegraveredes techniques de supervision Moins centreacutee sur linfrastructure cette approche alterna-tive permet davantage de valoriser les aspects fonctionnels de la supervision

232 Le marcheacute des solutions de supervisionLes diffeacuterents standards et protocoles examineacutes plus haut fournissent des moyens

dacquisition dinformation conseacutequents Toutefois ils souffrent chacun de limitationspropres Par exemple WMI ne concerne que les systegravemes Windows les impleacutementationsde SNMP diffeacuterent selon les composants et ne proposent pas une restitution uniformedes informations SMI ne concerne que certains mateacuteriels aussi son utilisation reste limi-teacutee agrave quelques cas particuliers comme par exemple les baies de stockage SAN En fin decompte il nest eacutevidemment pas envisageable de sappuyer sur un standard unique poursuperviser une infrastructure heacuteteacuterogegravene

Le choix dune solution de supervision repose sur des contraintes qui deacutepassent laseule question du protocole de supervision De faccedilon agrave feacutedeacuterer et agrave uniformiser les infor-mations du SI et au vu des analyses preacutealables les contraintes suivantes ont eacuteteacute identi-fieacutees pour caracteacuteriser les possibiliteacutes dune solution de supervision

support de diffeacuterents protocoles de gestion il sagit de la capaciteacute agrave sadapter agraveun environnement heacuteteacuterogegravene ougrave diffeacuterents protocoles peuvent ecirctre mis en œuvre SNMP WMI SMI etc

meacutetrologie capaciteacute agrave reacutecupeacuterer historiser et preacutesenter les informations en vuedanalyses ulteacuterieures Le systegraveme de supervision doit eacutegalement ecirctre en mesurede restituer de faccedilon lisible pour un utilisateur non-technicien les informationsquil collecte Cela suppose donc une interface de preacutesentation des donneacutees speacuteci-fique

gestion des relations de deacutependance le systegraveme de supervision doit ecirctre en capa-citeacute de reconstituer les composants en groupes logiques par exemple pour resti-tuer certaines vues applicatives ou pour repreacutesenter un service au sens ITIL

modulariteacute le SI nest pas figeacute le systegraveme de supervision doit pouvoir sy adap-

Page 54

Enjeux et architectures

ter en continu Par ailleurs la supervision est envisageacutee ici dans une progression

calcul dindicateurs complexes le systegraveme de supervision doit permettre demettre en œuvre des calculs de KPI ou de valoriser des mesures qui ne sont pasfournies directement par les standards

gestion et remonteacutee des alertes en fonction de seuils ou de KPI

coucirct dacquisition moindre

faciliteacute dadministration la solution de supervision doit preacutesenter des faciliteacutes enmatiegravere de gestion des configurations ou de faccedilon plus large de gestion et dad-ministration

Les solutions de supervision sur le marcheacute sont tregraves nombreuses[58] Globalementle marcheacute de la supervision est particuliegraverement atomiseacute dans le sens ougrave il comprend denombreux acteurs speacutecialistes ou de taille modeste On distingue geacuteneacuteralement les solu-tions speacutecialiseacutees dans un domaine speacutecifique de la supervision comme le reacuteseau les per-formances applicatives et la seacutecuriteacute mais aussi des solutions plus geacuteneacuteralistes qui visentagrave englober lensemble de ces domaines De fait les solutions de supervision proposeacuteespar les plus importants acteurs du marcheacute comme HP(Operation Manager[59]) IBM(Tivoli Monitoring[60]) ou Computer Associate (Nimsoft Monitoring[61]) sintegravegrentsouvent comme les composants de solutions de gestion dinfrastructure Hormis leur coucirctdacquisition les applications proprieacutetaires ont linconveacutenient de se preacutesenter comme desboicirctes noires et posent la question de ladaptabiliteacute aux speacutecificiteacutes dun systegraveme dinfor-mation le choix de loutil est clairement lieacute agrave une repreacutesentation du SI qui bien quen-cadreacute par un jeu de protocoles et de modegraveles reste difficile agrave deacutefinir de faccedilon normativeEn ce sens les outils proprieacutetaires laquo cleacutes en main raquo preacutesentent le risque dimposer au SIune repreacutesentation peu adapteacutee En effet la possibiliteacute de moduler loutil pour supervi-ser un composant impreacutevu pose problegraveme lorsquelle est soumise agrave des limitationscontractuelles ou techniques

Pour cette raison il nous a sembleacute important de distinguer les solutions payantessous licence des solutions libres ou open-source Cette seconde cateacutegorie a retenu notreattention ceci pour trois raisons

dune part le coucirct dacquisition des solutions proprieacutetaires peut ecirctre extrecircmementeacuteleveacute notamment lorsque les besoins de supervision sont ameneacutes agrave eacutevoluer Lescoucircts dacquisition sont souvent proportionnels au nombre dagents deacuteployeacutes ouaux fonctionnaliteacutes accessibles Cest le cas de produits comme PandoraFMS22IBM -Tivoli NetCoolOmnibus[62] ou POM[63]

dautre part les administrateurs systegraveme de GBH deacutetiennent une bonne connais-

22 httppandorafmscom

Page 55

Enjeux et architectures

sance du monde des logiciels libres Outre les faciliteacutes de mise en œuvre que celaimplique en termes de connaissance les solutions libres dont les licences auto-risent la manipulation du code preacutesentent des avantages eacutevidents en matiegraveredadaptation et de modulariteacute

enfin la transparence dun proceacutedeacute de remonteacutee dalertes est fondamentale pourun administrateur systegraveme on ne peut pas eacutevaluer la graviteacute dun problegraveme oufaciliter sa reacutesolution sans maicirctriser les modaliteacutes de cette eacutevaluation

Dans le monde open-source et libre on trouve eacutegalement un grand nombre de pro-jets ayant la supervision comme objet On distingue

des solutions laquo tout-en-un raquo qui integravegrent les meacutecanismes de supervision sondesremonteacutees dalertes meacutetrologie visualisation des donneacutees etc Cest par exemplele cas de Zabbix[64] OpenNMS[65] ou Centreon[66] Toutefois ces solutions res-tent peu modulaires et la gestion des deacutependances sauf dans le cas de Centreon yest peu deacuteveloppeacutee

des outils speacutecialiseacutes en meacutetrologie

Cacti[67] tregraves orienteacute reacuteseau et meacutetrologie et qui repose essentiellement surSNMP

Graphite[68] rrdtools[69] qui sont des outils deacutedieacutes aux graphes

Nagvis[70] une solution graphique plus speacutecifiquement orienteacutee cartogra-phie

Ganglia[71] qui est deacutedieacute agrave la meacutetrologie des environnements de type clus-ter

des solutions plus modulaires ougrave les sondes les interfaces de monitoring et les lo-giques de surveillance et de controcircle sagregravegent au greacute des besoins Il sagit pourlessentiel de Nagios et de toutes les solutions affilieacutees comme Shinken IcingaEyesOfNetwork ou Centreon

des solutions dites dhypervision sur lesquelles nous reviendrons plus tard et quivisent agrave agreacuteger et agrave consolider des informations et des eacuteveacutenements provenant desources diverses (remonteacutees de sonde Syslog meacutetriques heacuteteacuterogegravenes etc) Desproduits comme Canopsis[72] ou Opinsight[73] se situent dans cette ligneacutee Cessolutions interviennent en amont de la reacutecolte de donneacutees de supervision et preacute-sentent un inteacuterecirct eacutevident en matiegravere de preacutesentation et de visualisation des don-neacutees

Plusieurs critegraveres et exigences ont permis dorienter le choix de la solution

les performances les proceacutedeacutes de supervision ne doivent pas interfeacuterer de faccedilon

Page 56

Enjeux et architectures

significative avec les eacuteleacutements quils examinent De faccedilon tregraves claire la supervisionne doit pas creacuteer une surcharge dactiviteacute pour les autres eacuteleacutements du SI

la gestion de la configuration ne doit pas ecirctre trop complexe de faccedilon agrave pouvoireacutevoluer et ecirctre maintenue facilement

les sondes de supervision doivent proposer un code lisible et modifiable Parexemple si le modegravele SNMP autorise les eacutediteurs agrave modifier les branches de leurspropres MIB il faut en contrepartie pouvoir adapter les sondes aux speacutecificiteacutes duSI de GBH

la gestion des deacutependances il doit ecirctre possible de restituer les liens de deacutepen-dance virtuels ou physiques entre les diffeacuterents composants superviseacutes Si des mo-degraveles comme CIM proposent dembleacutee une vision des deacutependances entre compo-sants il sagit toutefois dun point de vue geacuteneacuterique La possibiliteacute deacutetablir desliens logiques entre les diffeacuterentes couches du SI - par exemple repreacutesenter un ser-vice au sens ITIL en regroupant des composants logiques et physiques heacuteteacuterogegravenes- demeure importante

la supervision doit pouvoir produire des reacutesultats lisibles non seulement pour lesadministrateurs systegraveme mais eacutegalement pour les autres utilisateurs du SI Cecritegravere renvoie agrave la question de la repreacutesentation des donneacutees

la maturiteacute et le dynamisme de la solution constitue enfin un motif dappreacuteciationimportant lorsquon eacutevalue une solution libre

Le nombre de solutions libres ou open-source est comme le marcheacute des solutionsproprieacutetaires extrecircmement fragmenteacute[74] On en trouve divers inventaires relativementexhaustifs[75] ou des comparatifs[76] qui teacutemoignent de lrsquoenthousiasme que peut nourrirla question de la supervision Agrave fonctionnaliteacutes identiques il demeure toutefois difficiledeacutetablir une veacuteritable distinction Agrave ce niveau la question de la maturiteacute du projet etsans doute aussi celle de sa populariteacute entrent en ligne de compte comme des eacuteleacutementsdappreacuteciation non neacutegligeables

En termes de maturiteacute et de populariteacute le projet Nagios[77] se deacutegage vraisembla-blement du lot Il dispose de capaciteacutes de modulariteacute suffisamment avanceacutees pour quunveacuteritable eacutecosystegraveme applicatif se soit constitueacute autour de lui Il dispose en outre dunesolide assise communautaire[78] et de capaciteacutes de configuration tregraves avanceacutees Nagiosconstitue en effet une veacuteritable reacutefeacuterence dans le monde de la supervision open-source preuve en est des diffeacuterentes solutions laquo tout-en-un raquo qui lintegravegrent (Centreon EyesOf-Network) ou de projets affilieacutes dits forks comme Icinga Centreon Engine et Naemon ouShinken - celui-ci neacutetant pas veacuteritablement un fork mais plutocirct une preuve de conceptqui heacuterite des meacutecanismes de Nagios

Page 57

Enjeux et architectures

De faccedilon concregravete Nagios nest autre quun ordonnanceur sophistiqueacute de veacuterifica-tions capable de deacuteclencher des alertes ou des actions Il sinterface avec des plug-ins etdes applications tierces qui lui permettent de compleacuteter ses fonctionnaliteacutes

Nagios a initialement eacuteteacute deacuteveloppeacute sous le nom de Netsaint par Ethan Galstad en1999 Un problegraveme de proprieacuteteacute intellectuelle motive le renommage du projet en Nagiosen 2002 En 2006 le projet NDOutils permet dinteacutegrer les donneacutees de Nagios dans unebase de donneacutees Cest en sappuyant sur NDOutils que dautres projets comme Cen-treon[66] ou OP5Monitor[79] se deacuteveloppent pointant par ailleurs la complexiteacute de Na-gios En 2007 apparaicirct la socieacuteteacute Nagios Enterprise symptocircme dune discorde entre lasocieacuteteacute Netways et lauteur de Nagios agrave propos de lutilisation du nom Le dialogue entrela communauteacute dutilisateurs et lauteur de Nagios se deacuteteacuteriore danneacutee en anneacutee stig-matisant lopposition des deux optiques celle de la socieacuteteacute Nagios Enterprise qui vise agraveproteacuteger des inteacuterecircts commerciaux et celle de la communauteacute dutilisateurs dont le dy-namisme a largement contribueacute au projet La naissance de forks comme Icinga teacutemoignedes difficulteacutes deacutevolution du projet Nagios qui bien quil en soit aujourdhui agrave sa ver-sion 4 laisse sceptique quand agrave sa peacuterenniteacute

Page 58

Illustration 217 fonctionnement de Nagios[127]

Enjeux et architectures

Le projet Nagios malgreacute ses assises communautaires souffre en effet de plusieurscritiques Dune part Nagios privileacutegie une approche laquo technique raquo (IT Monitoring) Orle point de vue purement technique reste limitatif la seule supervision dune infrastruc-ture ne permet pas deacutetablir un lien avec les perspectives strateacutegiques dune organisa-tion Dautre part la gestion de la configuration de Nagios reste complexe ce qui peutdevenir un frein eacutevident agrave sa mise en place et agrave son eacutevolution Par ailleurs on reproche agraveNagios certaines faiblesses lieacutees agrave sa conception[80] notamment en ce qui concerne sagestion interne des processus qui impactent notablement ses performances lorsque que lenombre dobjets agrave surveiller seacutelegraveve Enfin comme eacutevoqueacute plus haut la communauteacute Na-gios souffre de dissensions[81] qui laissent planer une certaine confusion quant agrave leacutevolu-tion du produit

Au vu de ces critiques et des objectifs du projet de supervision nous nous sommesdavantage inteacuteresseacutes agrave des projets affilieacutes Parmi eux le projet Shinken[82] comprend uncertain nombre dameacuteliorations et de propositions Nous observerons celles-ci dans la se-conde partie Un des inteacuterecircts eacutevidents de Shinken est quil permet de beacuteneacuteficier de lheacuteri-tage communautaire du projet Nagios ce qui se concreacutetise essentiellement par le code demilliers de plug-ins de supervision En effet Shinken beacuteneacuteficie dun certain dynamismevisible entre autres par lactiviteacute de son deacutepocirct git[83]

Au-delagrave de la meacutecanique brute de surveillance il faut eacutegalement consideacuterer la ques-tion de la collecte des donneacutees de supervision et de leur preacutesentation Si Nagios Shinkenou Icinga disposent de leurs propres interfaces graphiques il est eacutegalement possible deles interfacer agrave dautres produits speacutecialiseacutes dans le rendu visuel Nous avons deacutejagrave citeacutecertains dentre eux mais la question de fond vis-agrave-vis des repreacutesentations graphiques estfondamentalement lieacutee aux aspects strateacutegiques et meacutetier du SI La prise en compte deces derniers neacutecessite que les tests de veacuterification puissent prendre sens pour les utilisa-teurs profanes

Page 59

Principes de larchitecture cible

3Principes de larchitecture cible31 Shinken

Shinken a eacuteteacute eacutecrit par Jean Gabegraves Initialement conccedilu comme une preuve deconcept visant agrave ameacuteliorer les deacutefauts de performances de Nagios Shinken est un projetrelativement jeune et dynamique qui propose une solution de supervision sans doute aus-si modulaire que Nagios et dont nous examinerons ici larchitecture geacuteneacuterale

311 Lheacuteritage de NagiosLe projet Nagios eacutevoqueacute plus haut a de par son succegraves quasiment instaureacute une

meacutethodologie technique de supervision Aussi est-il important den reprendre certainspoints pour comprendre lheacuteritage de Shinken

3111 Meacutethodes dobtention des informationsAinsi que nous lavons noteacute la solution Nagios est fondamentalement un ordonnan-

ceur speacutecialiseacute dans lexeacutecution de sondes la reacutecupeacuteration de leurs reacutesultats et le deacuteclen-chement dalertes

Il existe deux meacutethodes de reacutecupeacuteration des informations

meacutethode active elle consiste agrave laisser linitiative de lexeacutecution de la sonde agrave lor-donnanceur

meacutethode passive elle consiste agrave eacutemettre des informations alertes ou reacutesultatsdune sonde par une instance externe agrave lordonnanceur Il sagit typiquement defaire reacutecupeacuterer des instructions SNMP de type trap par linstance Nagios

Certains programmes qualifieacutes dadd-ons facilitent lexeacutecution de commandes de veacute-rification sur des hocirctes deacutelocaliseacutes Il sagit pour lessentiel de NRPE (Nagios RemoteProgram Executer[84]) ou NSCA (Nagios Service Check Acceptance [85])

Les commandes de veacuterification sont des programmes exeacutecutables capables de reacutecu-peacuterer des informations sur une instance locale ou distante Cest agrave ce niveau que lon sol-licite diffeacuterents protocoles de gestion comme SNMP ou WMI Ces programmes sont aussideacutesigneacutes sous le terme de plug-ins

Page 60

Principes de larchitecture cible

3112 Commandes de veacuterification (checks)Les commandes de veacuterification doivent respecter une trame geacuteneacuterale dont les speacuteci-

fications sont deacutetailleacutees dans Nagios Plugin Development Guidelines23 Aucun langage oumeacutethode daccegraves nest imposeacute par Nagios Seule la sortie (output) soit le format des in-formations renvoyeacutees par la sonde doit ecirctre compreacutehensible par lordonnanceur Ceschecks repreacutesentent nimporte quelle commande capable de restituer des informationspertinentes pour la supervision

3113 Le laquo modegravele raquo NagiosNagios fait la distinction entre les hocirctes eacutegalement nommeacutes nœuds qui repreacute-

sentent le plus souvent un serveur doteacute dune adresse IP qui lui est propre et les ser -vices qui sont des groupes logiques regroupant les faculteacutes de lhocircte La notion de ser-vice ne correspond donc pas agrave celle qui deacutefinit les processus dun systegraveme Elle corres-pond agrave une deacutefinition plus large qui peut englober aussi bien des composants logiquesque physiques

Les objets Nagios suivent un scheacutema dheacuteritage speacutecifique Les liens entre les objetssont restitueacutes dans les fichiers de configuration Ci-dessus le scheacutema simplifieacute extrait delouvrage Nagios 3 Enterprise Network Monitoring Including Plug-Ins and HardwareDevices[86] reconstitue ce modegravele

23 Nagios Plugin Development Guidelines httpsnagios-pluginsorgdocguidelineshtm

Page 61

Illustration 31 les relations des objets de type service dans Nagios[86]

Principes de larchitecture cible

La principale difficulteacute de ce modegravele est sans doute sa geacuteneacutericiteacute moins preacutecis quele modegravele CIM il est conccedilu pour sadapter agrave un grand nombre de situations Ce modegravelemet eacutegalement en œuvre une notion dheacuteritage agrave travers un systegraveme de modegraveles (tem-plates) Cet heacuteritage qui est astreint agrave des regravegles de preacuteceacutedence dans les cas dheacuteritagesmultiples constitue une des difficulteacutes notables de la mise en œuvre dune configurationNagios24 Lideacutee eacutetant dadapter le modegravele geacuteneacuterique de Nagios aux speacutecificiteacutes dun SI ilfaut neacutecessairement pour des raisons de lisibiliteacute eacutevidentes mettre agrave profit des modegravelesde configuration Typiquement des systegravemes dexploitation de la mecircme famille commediffeacuterents systegravemes Linux peuvent preacutesenter des caracteacuteristiques qui sanalysent par lesmecircmes proceacutedeacutes Dans le cas de systegravemes Windows le recours agrave WMI peut par exempleecirctre systeacutematiseacute en sappuyant sur un de ces modegraveles

3114 Statut des objetsAgrave la suite du test quil effectue le plug-in doit pouvoir renvoyer un statut Nagios

sappuie sur la nomenclature Unix pour deacutefinir ces codes Pour un objet de type hocircte lacorrespondance des codes retour des programmes avec leur signification est expliciteacuteedans le Tableau 31

Code retour Statut Description

0 UP Lhocircte est actif sur le reacuteseau

1 UP Lhocircte est actif si la veacuterification a eacuteteacuteforceacutee

2 ou 3 DOWN Lhocircte nest pas joignable par le reacuteseau

Tableau 31 correspondance entre le code retour dun plu-gin et leacutetat dun hocircte

Lorsque lobjet est un laquo service raquo la signification est plus nuanceacutee Elle suit la no-menclature expliciteacutee dans le Tableau 32

24 Nagios objects inheritance httpdocmonitoring-frorg3_0htmladvancedtopics-objectinheri-tancehtml

Page 62

Principes de larchitecture cible

Code Retour Statut Description

0 OK Statut normal

1 WARNING Avertissement un problegraveme non-critiquea eacuteteacute deacutetecteacute comme par exemple ledeacutepassement dun seuil de remplissagedun disque

2 CRITICAL Statut critique situation gravedemandant une intervention immeacutediate

3 UNKNOWN La commande na renvoyeacute aucuneinformation

Tableau 32 correspondance entre le code retour dun plug-in et de leacutetat dun service

Cette premiegravere nomenclature fournit une indication geacuteneacuterale de leacutetat dun objetCe code retour peut ecirctre accompagneacute dun texte dinformation et de donneacutees de perfor-mance Le format geacuteneacuteral de la sortie dune commande de veacuterification est donc

Par exemple la sortie suivante

DISK OK - free space 3326 MB (56) |=2643MB50007000 07000

indiquerait un statut normal (OK) concernant une partition racine occupeacutee agrave 44 par un volume de 2643Mo Les donneacutees de performance indiquent par ailleurs quunwarning serait deacuteclencheacute degraves le deacutepassement de 5000 Mo doccupation et quune alertecritique serait eacutemise pour 7000 Mo

Au final le code dun plu-gin doit comprendre trois actions

1 la veacuterification (check)

2 laffichage de la sortie qui comprend eacuteventuellement les deacutetails litteacuteraux et lesdonneacutees de performance

3 le code retour du programme

Leacutecriture de plugins Nagios peut ecirctre faciliteacutee par certains outils Le module PerlNagiosPlugin25 en est un exemple mais il en existe dautres comme PySNMP26 qui per-mettent de travailler sur les objets SNMP en langage Python ou Check_wmi_plus27 quisattache agrave simplifier les requecirctes WMI et le traitement des informations retourneacutees parles hocirctes Windows

25 NagiosPlugin est un module du CPAN httpsearchcpanorgdistNagios-PluginlibNagiosPlu-ginpm

26 PySNMP httppysnmpsourceforgenet27 httpwwwedcintconzcheckwmiplus

Page 63

Principes de larchitecture cible

3115 Ordonnancement des veacuterificationsLe lancement de ces commandes par lordonnanceur est soumis agrave des regravegles de

configuration qui sont tregraves semblables dans Skinken

Agrave titre dexemple leacutetat dun laquo service raquo testeacute eacutevolue selon des intervalles de tempspreacutedeacutefinis On observe dans lIllustration 32 leffet des eacuteleacutements du parameacutetrage sui-vant

Cela signifie que lon effectue une veacuterification toutes les 5 minutes (check_interval)Si le reacutesultat du test nest pas le statut OK alors on effectue 3 essais suppleacutementairesLe statut du service testeacute passe alors de leacutetat soft agrave leacutetat hard Agrave la suite de quoi lestests reprennent en fonction du paramegravetre check_interval

3116 SynthegraveseGlobalement il faut eacutetablir les paramegravetres de configuration des hocirctes et des ser-

vices et leur associer des commandes de veacuterification Nagios planifie les tests et la reacutecoltedes informations en fonction de ces derniers La reacutecolte dinformations permet notam-ment deacutetablir des graphiques de supervision Le statut des sondes conditionne lenvoi denotifications (mail sms) ou deacuteclenche dautres actions (Event Handler) LIllustration33 repreacutesente le scheacutema fonctionnel de Nagios On y distingue les diffeacuterents eacuteleacutementseacutevoqueacutes preacuteceacutedemment

Page 64

Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes

Principes de larchitecture cible

Dans les grandes lignes on retrouve les objectifs de la supervision technique duneinfrastructure

on organise un jeu de sondes techniques en sappuyant sur diffeacuterents protocoles etoutils

Nagios prend en charge lordonnancement de ces veacuterifications

il en consigne les reacutesultats (log) ou les donneacutees de performance

agrave la suite de quoi il peut eacutemettre une alerte ou lancer une action automatique surlhocircte concerneacute

Nagios instaure donc une logique de surveillance et de controcircle qui peut contribueragrave la gestion des ressources physiques agrave leacutevaluation dindicateurs de performance ou agrave ladeacutetection dincidents Il doit toutefois sentourer dautres outils ndash ceux-lagrave mecircmes quiforment son eacutecosystegraveme - pour aller plus loin puisque son rocircle reste fondamentalementconfineacute agrave lordonnancement des tacircches

Page 65

Illustration 33 scheacutema fonctionnel de Nagios

Principes de larchitecture cible

312 Architecture geacuteneacuterale de ShinkenPour reacutesumer loutil Nagios fournit les bases dune architecture de supervision qui

repose sur lexploitation dun format de message unifieacute relativement simple Toutefoisau vu des difficulteacutes deacutevolution du projet il est apparu plus sage de porter lattentionsur un de ses descendants Shinken en fait partie et sappuie sur une seacuterie de constatsqui pointent certaines insuffisances de Nagios

dune part sa configuration est complexe mais sa structuration reste monoli-thique elle induit une difficulteacute de maintenance qui saccroicirct avec le nombredhocirctes et de services agrave superviser

dautre part Nagios fournit une analyse eacuteminemment technique du systegraveme din-formation Or nous cherchons justement agrave pouvoir valoriser le lien entre linfra-structure technique et les attentes strateacutegiques de lorganisation

Nagios peut rapidement poser des problegravemes de performances Sil existe bien despreacuteconisations preacutecises pour le reacuteglage des performances [87] un de ses principauxdeacutefauts est lieacute agrave sa conception Cest du moins ainsi que JGabegraves lauteur deShinken preacutesente la situation laquo Le problegraveme de performances est ducirc au meacuteca-nisme quutilise Nagios pour obtenir ses informations il se forke afin que son filslance lui-mecircme une sonde (un simple script shell ou un exeacutecutable) qui reacutealise laveacuterification Le processus fils lit la sortie standard de la sonde et son code retourpour obtenir leacutetat de leacuteleacutement surveilleacute Ce fils eacutecrit ces reacutesultats dans un fichierplat qui sera lu et parseacute par le deacutemon principal Une fois le fichier eacutecrit le filsmeurt Dans ces deux derniegraveres phrases reacuteside le cœur du problegraveme de perfor-mances de Nagios

- le parsage de fichiers plats est une opeacuteration extrecircmement coucircteuse

- pourquoi tuer le processus fils apregraves son travail si cest pour le relancer agrave la pro-chaine sonde Un fork est une opeacuteration coucircteuse raquo[88]

Larchitecture de Shinken se pose initialement comme une preuve de concept visantagrave revoir larchitecture monolithique de Nagios Impleacutementeacute en Python Shinken proposeune solution compatible avec Nagios mais deacutecoupeacutee en 6 processus autonomes darriegravere-plan appeleacutes daemon dans la terminologie UNIX LIllustration 34 extraite du site mo-nitoringfr28 scheacutematise cette architecture

28 Voir plus speacutecifiquement httpwikimonitoring-frorgshinkenshinken-work

Page 66

Principes de larchitecture cible

le daemon Arbiter lit la configuration la deacutecoupe et la distribue aux autres dae-mons

le daemon Scheduler est chargeacute de lrsquoordonnancement des tacircches de lanalyse desreacutesultats et du deacuteclenchement des actions Il ne fait que transmettre les informa-tions au daemon approprieacute agrave la faccedilon dun routeur

le daemon Poller lance les tacircches de veacuterification les plug-ins en fonction des re-quecirctes du ou des Schedulers

le daemon Receiver est chargeacute de traiter les donneacutees dacquisition passives et deles retourner au Scheduler responsable des traitements

le daemon Reactionner soccupe de lenvoi des notifications et des actions automa-tiques programmables

Le daemon Broker est chargeacute de rendre disponibles les donneacutees de supervisionShinken propose par ailleurs un certain nombre de modules capables dexporterles donneacutees vers dautres programmes API ou bases de donneacutees

Page 67

Illustration 34 architecture geacuteneacuterale de Shinken

Principes de larchitecture cible

On retrouve globalement les mecircmes fonctions que Nagios agrave la diffeacuterence que dansShinken chaque fonction est prise en charge par un daemon autonome Les daemonscommuniquent entre eux par lintermeacutediaire dune API speacutecifique Pyro29 qui permetaux objets Python de communiquer entre eux Une des conseacutequences de cette conceptionest de permettre lexeacutecution de daemons distants et denvisager une architecture reacutepar-tie

3121 ConfigurationLa configuration de Shinken observe un deacutecoupage qui sinspire de Nagios en beau-

coup plus segmenteacute On y distingue essentiellement les ressources et des objets Les res-sources30 concernent la deacutefinition des diffeacuterents daemons et de leurs attributs ou encoredes eacuteleacutements de deacutefinition globaux comme par exemple la communauteacute SNMP ou desidentifiants de connexion Les objets31 quant agrave eux deacutefinissent les eacuteleacutements agrave surveiller adresse deacutenomination type de test

Agrave partir de lagrave il est possible de construire des variables - ou macros - dont cer-taines sont preacutedeacutefinies32 Ces derniegraveres permettent de propager des valeurs dans la deacutefini-tion dobjets du niveau global au niveau local Plus concregravetement cela permet demettre en œuvre une notion dheacuteritage entre les objets33 en creacuteant des modegraveles dobjets(templates)

Ces deacutefinitions sorganisent dans une arborescence de petits fichiers de configura-tion Lexemple ci-dessous repreacutesente larborescence du reacutepertoire de configuration de laversion 14 de Shinken

29 httppythonhostedorgPyro430 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configmainconfiguringshinken-

configmain-resource_file31 httpwwwshinken-monitoringorgwikiofficialconfiguringshinken-configobject32 httpwwwshinken-monitoringorgwikiofficialthebasics-macrolists[]=macro33 httpwwwshinken-monitoringorgwikiofficialadvancedtopics-objectinheritance

Page 68

Principes de larchitecture cible

Chacun de ces fichiers deacutefinit un ou plusieurs objets en sappuyant sur les tem-plates Les principaux objets qui peuvent ecirctre deacutefinis sont

les services qui sont des objets que lon associe agrave un hocircte (host) Il peutsagir dattributs physiques (meacutemoire disque) ou de services logiques(HTTP DNS LDAP etc)

les service groups qui sont des regroupements de services

les hosts qui sont des entiteacutes posseacutedant un adressage propre sur le reacuteseauOn peut leur associer un ou plusieurs services Les hocirctes peuvent entretenirdes relations de parenteacute (parentchild relationship) avec dautres hosts

les host groups des regroupements dhocirctes

les contacts qui repreacutesentent les personnes qui doivent ecirctre averties par lesprocessus de notification

les contact groups qui sont des regroupements dobjets de type contacts

les commands qui deacutefinissent les commandes qui sont lanceacutees par Shinkenpour veacuterifier notifier etc

les time periods qui deacutefinissent les peacuteriodes pendant lesquelles le monitoringet les notifications sont actifs

notification escalations ces objets sont optionnels ils deacutefinissent un proces-sus de notification pour un service Diffeacuterents contacts sont notifieacutes au furet agrave mesure de lrsquoaggravation dun problegraveme

On retrouve globalement le modegravele Nagios Shinken apporte toutefois quelquesameacuteliorations par rapport agrave Nagios Il sagit principalement de deacutefinitions de critegraveres dedeacutependance host dependancy34 et services dependancy35 Par ailleurs la syntaxe desclauses autorise une meilleure maicirctrise des questions lieacutees agrave lheacuteritage multiple36 que dansNagios Enfin Shinken introduit la notion de packs en reacutealiteacute des modegraveles inteacutegreacutes quipreacutedeacutefinissent un ensemble dobjets hocirctes services et commandes

34 httpsshinkenreadthedocsorgenlatest08_configobjectshostdependencyhtml35 httpsshinkenreadthedocsorgenlatest08_configobjectsservicedependencyhtml36 httpsshinkenreadthedocsorgenlatest07_advancedobjectinheritancehtml

Page 69

Principes de larchitecture cible

Par exemple la clause suivante deacutefinit un laquo hocircte raquo qui cible un routeur de marqueCisco Ses attributs deacutefinissent un nom et une adresse IP Une reacutefeacuterence deacutesigne ungroupe de contact pour les notifications et la clause laquo use raquo deacutesigne un modegravele deacutefini enpack

Le pack cisco3760 deacutefinit un modegravele dhocircte

Modegravele auquel on associe une seacuterie de modegraveles de service

Page 70

Principes de larchitecture cible

Chaque service se reacutefegravere agrave une commande (check_command) deacutefinie par exemple dela faccedilon suivante

Cette factorisation du code de configuration quoiquapparemment laborieuse per-met de reacuteutiliser et de geacuteneacuteraliser le code des commandes ou des services

3122 Plug-ins Les plug-ins sont simplement les programmes qui effectuent des veacuterifications et re-

tournent les informations agrave Shinken Ils sont exeacutecuteacutes par le daemon Poller CommeShinken utilise les mecircmes speacutecifications que Nagios pour les plug-ins les plug-ins Nagiossont compatibles avec Shinken et inversement Ces programmes sont soit compileacutes -comme cest le cas pour beaucoup de sondes Nagios eacutecrites en C - soit interpreacuteteacutes lors-quil sagit de langages de script de type Python Perl ou Shell

De fait il est preacutefeacuterable que ces programmes aient de faibles latences de faccedilon agrave nepas encombrer lrsquoordonnanceur La question de la performance dune solution de supervi-sion comme Shinken est particuliegraverement lieacutee agrave la qualiteacute des plug-ins Ces programmessont parameacutetreacutes dans les deacutefinitions dobjets de type command

Ces commandes sont exeacutecuteacutees agrave intervalles reacuteguliers Cest le paramegravetre check_in-terval qui assure cette reacutegulation Lobjectif eacutetant dobtenir leacutetat des eacuteleacutements concerneacutesle plus exact possible lintervalle de veacuterification doit permettre darbitrer entre la preacuteci-sion des donneacutees reacutecolteacutees et la performance induite par lexeacutecution reacutepeacuteteacutee de cettecommande Ces commandes peuvent solliciter des API externes (VMware Perl SDKNavisphere Client smiclient etc) pourvu que leur sortie (output) respecte le forma-lisme Nagios

3123 TriggersLes triggers sont de petits eacuteleacutements de programmes qui peuvent ecirctre deacuteclencheacutes

apregraves le changement deacutetat dun objet Eacutecrits en Python le code des triggers permet demodifier leacutetat ou les donneacutees de lobjet intercepteacute Les triggers sont relativement peudocumenteacutes mais on peut saisir assez rapidement leur usage en consultant le codesource du fichier trigger_functionspy37 Celui-ci regroupe les meacutethodes qui peuvent ecirctreinvoqueacutees lors de linstanciation dun objet de type trigger on peut rechercher des ob-

37 httpsgithubcomnaparubashinkenblobmastershinkentrigger_functionspy

Page 71

Principes de larchitecture cible

jets hocirctes ou services (fonctions get_object get_objects) reacutecupeacuterer leurs attributs (out-put perfdata return_code) et manipuler ces derniers (fonctions set_value() set_criti-cal() etc) Concregravetement il est donc possible de recalculer des indicateurs agrave partir deleacutetat de diffeacuterents objets Cest un moyen de calculer des KPI

Agrave titre dexemple le code ci-dessous a eacuteteacute eacutecrit pour cumuler les volumes dimpres-sion des 8 copieurs multifonctions du SI On cherche agrave eacutevaluer le volume global dimpres-sion sans que la mise en veille dun des copieurs multifonctions perturbe le calculChaque copieur multifonctions est donc associeacute au mecircme trigger dont le code figure ci-dessous

On utilise le module pickle38 pour stocker la derniegravere valeur connue et on cumule lesdiffeacuterents volumes dimpression On ajoute enfin un nouvel indicateur dans les donneacuteesde performance nommeacute TotalpageCount

On peut sur la base de ce principe construire des indicateurs complexes de faccedilonprogrammatique

3124 Regravegles meacutetier (business rules)Un des apports inteacuteressants de Shinken par rapport agrave Nagios est sans doute la pos-

sibiliteacute de mettre en place des regravegles meacutetier Ces regravegles permettent dassocier nimportequel eacutetat dun objet hocircte ou service agrave un nouvel eacutetat et agrave un niveau de criticiteacute Dunecertaine faccedilon cela permet de sextraire de lassociation systeacutematique dun hocircte agrave desservices

38 httpsdocspythonorg2librarypicklehtml

Page 72

Principes de larchitecture cible

Lexemple ci-dessous permet deacutevaluer si linfrastructure reacuteseau deacutelocaliseacutee dans lesagences est dans un eacutetat de fonctionnement laquo normal raquo Chaque agence de GBH est eneffet doteacutee dun commutateur On cherche ici agrave veacuterifier leacutetat dune chaicircne de quatrecommutateurs

Le degreacute de criticiteacute est parameacutetreacute par la clause laquo business_impact raquo qui peutprendre une valeur de 1 agrave 5 Leacutevaluation de la regravegle (bp_rule) peut ecirctre assortie dopeacute-rateurs booleacuteens (etou) ou de seacutelecteurs (1of (xy)) qui permettent de prendre encompte les faculteacutes de reacutesilience de certaines architectures Ici il nexiste aucun meacuteca-nisme de ce type dans la chaicircne de routage on applique donc une association stricte tout eacuteleacutement de la chaicircne dont leacutetat nest pas normal invalide le bon fonctionnement dela chaicircne

3125 Les modulesLes modules Shinken sont des programmes qui tirent parti du bus logiciel de Shin-

ken Ils sont capables dintercepter les objets Python repreacutesentant un service ou un hocircteet de travailler sur ses proprieacuteteacutes Contrairement aux triggers ces modules sont associeacutesagrave un des daemons de Shinken selon la fonction quils mettent en œuvre Les informationstransitent via des files (queue) sous forme dobjets et sont intercepteacutes selon leur eacutetat parles processus des modules Shinken fournit un jeu de modules type39 agrave partir desquels ilest relativement aiseacute dimpleacutementer un module speacutecifique

Par exemple le module Livestatus40 est chargeacute dassurer la possibiliteacute de communi-quer les informations de supervision de Shinken via une socket TCP LAPI Livesta-tus[89] est particuliegraverement utiliseacutee pour transfeacuterer les eacutetats collecteacutes par un systegraveme desupervision vers dautres programmes comme Thruk[90] ou Splunk[91] Shinken proposesa propre impleacutementation[92] de lAPI originale eacutecrite par Mathias Kettner[89] Un mo-dule speacutecifique de type broker est associeacute agrave cette fonctionnaliteacute

Le code source du module comme tous ceux mis agrave disposition sur le sitehttpwwwshinken-monitoringio preacutesente lavantage de la disponibiliteacute du code Lemodule Livestatus sarticule suivant la logique deacutecrite dans lIllustration 35 On en re-

39 Voir les Dummy modules sur httpsgithubcomnaparubashinkentreemastermodules qui deacute-crivent le code Python type dun module

40 httpwwwshinkeniopackagelivestatus

Page 73

Principes de larchitecture cible

trouve les principaux axes dans le fichier modulepy disponible sur le deacutepocirct git du pro-jet41

Concernant ce module on distingue

la phase dinitialisation du broker Livestatus le module reacutecupegravere des eacuteleacutements deparameacutetrage dans le fichier de configuration principal et effectue des veacuterificationsavant son deacutemarrage agrave proprement parler

41 Module Livestatus httpsgithubcomshinken-monitoringmod-livestatusblobmastermodulemo-dulepy

Page 74

Illustration 35 documentation Shinken - description des actions effectueacutees dans un module de type broker

Principes de larchitecture cible

puis la preacuteparation de linstanciation on deacutefinit une file de communication avecle module broker

le module Livestatus charge ensuite ses propres deacutependances Il sagit ici dautresmodules qui correspondent au type de base de donneacutees qui a eacuteteacute indiqueacute en confi-guration les informations stockeacutees par ce module peuvent utiliser une base Sq-lite ou MongoDB

Page 75

Principes de larchitecture cible

laction principale est lanceacutee dans la fonction do_main par la boucle preacuteceacutedenteOn y distingue un thread qui travaille sur les requecirctes Livestatus (lql_thread) etun autre qui stocke les donneacutees en provenance du broker Shinken (data_thread)

la fonction laquo manage_brok_thread raquo intercepte les messages qui sont mis agrave dispo-sition dans la file et les traite ici en les renvoyant agrave un autre module de type bro-ker via la fonction laquo manage_brok raquo qui permet de stocker les informations dansune base de donneacutees

Page 76

Principes de larchitecture cible

Ce module confegravere agrave Shinken la possibiliteacute decirctre interrogeacute par une application dis-tante en utilisant la syntaxe de requecirctes LiveStatus Par exemple en Python on obtienttregraves simplement le statut des hocirctes ou services avec le code suivant

En appliquant ce principe les modules permettent dinterfacer Shinken avec denombreuses fonctionnaliteacutes ou des programmes externes On en trouve une liste exhaus-tive sur la documentation officielle de Shinken42

Limpleacutementation Shinken utilise des meacutethodes sapparentant agrave celles deacutecrites parle Data Driven Architecture[93] les processus seacutechangent les donneacutees - en fait des objetsPython qui peuvent retranscrire leacutetat dun hocircte ou dun service et le transforment augreacute du processus de supervision Cela consiste agrave ne plus coder laquo en dur raquo les opeacuterationsque lrsquoon fait sur les proprieacuteteacutes drsquoun objet mais agrave lire ces opeacuterations dans un tableau Cedernier sera un dictionnaire dont les cleacutes sont les noms des attributs sur lesquels nousallons opeacuterer et les valeurs sont les opeacuterations agrave effectuer typiquement une fonction[94]

Ces modules sont un liant indispensable agrave lenrichissement de la meacutecanique de su-pervision Un certain nombre dentre eux ont eacuteteacute exploiteacutes dans le cadre de ce projet desupervision Il sagit principalement de linterface web (webui[95]) du module WS-arbi-ter[96] qui facilite lacquisition de donneacutees passives par HTTP du module Mon-goDB[97] qui permet de stocker les informations dans une base de donneacutees eacuteponyme etdu module Canopsis[98] qui permet de transfeacuterer les donneacutees de supervision agrave un hyper-viseur Canopsis distant

313 Preacutesentation des donneacutees et interfaces graphiquesLa question de la repreacutesentation graphique des donneacutees de supervision est le fait de

nombreux produits qui ont eacuteteacute eacutevoqueacutes au paragraphe 232 Shinken propose sous formede modules linclusion dapplications comme Thruk Nagvis PNP ou Graphite Chacune

42 httpwwwshinken-monitoringorgwikiofficialshinkenaddons-addonss[]=modules

Page 77

Principes de larchitecture cible

de ces solutions a eacuteteacute testeacutee puis abandonneacutee agrave lexception de Graphite En effet ces ou-tils sont speacutecialiseacutes dans la repreacutesentation graphique de meacutetriques de performance Orces derniers offrent finalement peu de possibiliteacutes interactives de manipulation des don-neacutees de performance Graphite[99] preacutesente toutefois des capaciteacutes drsquoagreacutegation et de cal-cul interactives relativement innovantes

Labandon des outils laquo classiques raquo de repreacutesentation des donneacutees est lieacute au constatquau fur et agrave mesure de la mise en place dindicateurs de performance le fait de dispo-ser de milliers de ceux-ci ne pouvait favoriser dembleacutee la lisibiliteacute du systegraveme dinforma-tion Aussi lintention de repreacutesenter une donneacutee de performance de faccedilon systeacutematiquea sembleacute deacutepourvue de sens Au contraire les solutions qui proposent une compositiongraphique interactive permettent de seacutelectionner drsquoagreacuteger et de recalculer des donneacuteesde performance en y associant une repreacutesentation graphique dynamique

3131 Linterface Shinken

Shinken propose sa propre interface graphique qui repose sur le module webui[95]Relativement sobre elle distingue les problegravemes techniques (IT) des problegravemes meacutetier(business) On retrouve lagrave la distinction entre les veacuterifications techniques des sondes -

Page 78

Illustration 36 vue de linterface web Shinken

Principes de larchitecture cible

qui concernent davantage les techniciens de linfrastructure - et les business rules eacutevo-queacutees plus haut qui sattachent agrave restituer leacutetat des eacuteleacutements en termes strateacutegiques etmeacutetier Le deacuteveloppement de Shinken nest toutefois clairement pas orienteacute vers la repreacute-sentation des donneacutees de performance Ces questions sont deacuteleacutegueacutees agrave des applicationstierces comme Nagvis ou Thruk qui communiquent avec Shinken agrave laide du protocoleLivestatus ou encore Canopsis qui communique avec Shinken via lAPI kombu[100] et leprotocole AMQP[101]

Linterface graphique de Shinken se veut efficace et simple sans doute dans linten-tion deacuteviter de noyer lutilisateur sous un flot dinformations Dans les cas de deacutepen-dances multiples entre hocirctes et services la difficulteacute est didentifier la cause initiale duproblegraveme plutocirct que les conseacutequences La visualisation dalertes massives ne permet eneffet pas neacutecessairement de faire la distinction entre lorigine et les conseacutequences dunproblegraveme Cest agrave ce niveau que la qualiteacute de linterface graphique tient un rocircle impor-

Page 79

Illustration 37 repreacutesentation des deacutependances dans linterface webui

Principes de larchitecture cible

tant pour lopeacuterateur Mais si cette interface deacutemontre des qualiteacutes opeacuteratoires eacutevi-dentes elle reste toutefois peu lisible pour les novices Or cela ne correspond pas agrave lin-tention initiale du projet qui vise justement un travail sur la repreacutesentation du SI et sonsens pour les utilisateurs Il est donc rapidement apparu que linterface Shinken ne suffi-sait pas

Quelques essais avec Thruk[90] et Nagvis[102] ont montreacute dinteacuteressantes faculteacutesde repreacutesentation lagrave encore en favorisant tregraves largement une optique technique du SI Lasolution Canopsis - quoique plus lourde agrave mettre en œuvre - restait la seule offrantdune part la capaciteacute de communiquer avec Shinken et dautre part celle dassocier desindicateurs complexes avec des repreacutesentations graphiques syntheacutetiques

32 CanopsisCanopsis est une solution open-source deacuteveloppeacutee par la socieacuteteacute Capensis Sur le

site de celle-ci43 on trouve la deacutefinition suivante Canopsis est un environnement drsquohy-pervision Positionneacute au sein de lrsquoinfrastructure au-dessus des solutions de supervisiongeacuteneacuteriques ou speacutecialiseacutees ce puissant outil permet de correacuteler et drsquoagreacuteger un grandnombre drsquoeacuteveacutenements provenant de sources diverses La manipulation pertinente deceux-ci permet de reacuteconcilier vision technique et vision meacutetier du systegraveme drsquoinforma-tion44 On note comme dans le cas de Shinken que ce projet met en avant la dualiteacute desvisions technique et meacutetier

321 Fonctionnement geacuteneacuteralGlobalement Canopsis agit de la mecircme faccedilon quun ETL dans une chaicircne deacutecision-

nelle il collecte les donneacutees via ses connecteurs AMQP Des moteurs de traitement (en-gines) transforment les donneacutees extraites de diffeacuterentes sources (SNMP Syslog Shinken)agrave la faccedilon dun Operational Data Store45 Les donneacutees transformeacutees sont stockeacutees dansune base MongoDB qui fait office de dataware house On y accegravede via une interface webou des outils externes de preacutesentation des donneacutees LIllustration 38 syntheacutetise ces inter-actions Sy distinguent une logique de collecte qui repose sur des connecteurs une meacute-

43 Site de la socieacuteteacute Capensis httpwwwcapensisfr44 Voir plus speacutecifiquement httpwwwcapensisfrsolutionshypervision45 laquo Un ODS (ou Operational data store) est une base de donneacutees conccedilue pour centraliser les donneacutees is-

sues de sources heacuteteacuterogegravenes afin de faciliter les opeacuterations danalyse et de reporting Linteacutegration deces donneacutees implique souvent une purge des informations redondantes Un ODS est geacuteneacuteralement des-tineacute agrave contenir des donneacutees de niveau fin comme un prix ou le montant dune vente en opposition auxdonneacutees agreacutegeacutees tel que le montant total des ventes Les donneacutees agreacutegeacutees sont stockeacutees dans un en-trepocirct de donneacutees (data warehouse) raquo[103]

Page 80

Principes de larchitecture cible

canique interne de stockage qui sappuie sur le bus AMQP et une base MongoDB Enfinune logique de preacutesentation repose sur des frameworks graphiques et met eacutegalement enœuvre des faciliteacutes dexportation

Canopsis deacutenote une certaine complexiteacute tant il sollicite des couches applicatives varieacuteespour mettre en œuvre son proceacutedeacute dhypervision un serveur Redis[104] se charge de col-lecter les donneacutees les garde en meacutemoire et les eacutecrit agrave intervalles reacuteguliers dans la baseMongoDB Le laquo bus raquo AMQP est tenu par un serveur Celeryd[105] qui agit comme unordonnanceur de tacircches Ceci permet agrave Canopsis de geacuterer des tacircche synchrones - -comme la reacuteception des nouveaux messages - et des tacircches asynchrones - comme les cal-culs de SLA et larchivage des donneacutees de performance

Ces tacircches sont effectueacutees par des moteurs (engines) qui sarticulent donc en deuxcateacutegories les moteurs synchrones traitent les files drsquoeacuteveacutenements provenant des connec-

Page 81

Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work

Principes de larchitecture cible

teurs et les moteurs asynchrones opegraverent sur les donneacutees stockeacutees dans la base Redis ouMongoDB pour effectuer par exemple des opeacuterations drsquoagreacutegation

Shinken est eacutegalement capable deffectuer des opeacuterations sur les donneacutees de super-vision par exemple avec les triggers mais neffectue pas dactions asynchrones Dunecertaine faccedilon - et cest lagrave leur limite - il faut rester extrecircmement vigilant agrave limpact descalculs programmeacutes par lrsquointermeacutediaire de triggers sur la latence globale de ShinkenLobjectif eacutetant de pouvoir se rapprocher au mieux de leacutetat du systegraveme agrave un instantdonneacute le calcul dindicateurs complexes peut ecirctre un facteur de latence Lrsquointeacuterecirct de dis-socier la collecte de donneacutees en temps reacuteel et les logiques de transformation et de preacutesen-tation des donneacutees reflegravete la distinction entre linstance de collecte de donneacutees de pro-duction - faite sur linstant - et les logiques de transformation (agreacutegation compositiondindicateurs et de KPI analyses statistiques) qui seffectuent agrave posteriori Dans lIllus-tration 39 on distingue le chaicircnage des moteurs - qui traitent les eacuteveacutenements et alertesndash des actions qui les transforment en donneacutees de performance

Les messages traiteacutes par Canopsis doivent respecter une structuration simple for-maliseacutee de la faccedilon suivante46

46 httpsgithubcomcapensiscanopsiswikiEvent-specification

Page 82

Illustration 39 Canopsis Engines

Principes de larchitecture cible

En sappuyant sur la logique denregistrements de type laquo cleacute-valeur raquo caracteacuteris-tique des bases dites NoSQL Canopsis mise sur la performance du systegraveme Mon-goDB[106] Des enregistrements peuvent y ecirctre stockeacutes suivant un encodage BSON (Bi-nary JSON) tout en inteacutegrant des structures de donneacutees complexes Linteacuterecirct de cettebase NoSQL outre ses performances est quelle est deacutepourvue de scheacutema de donneacutees oude relations tout enregistrement repreacutesentant un objet Canopsis doit uniquement ecirctrepourvu dun identifiant De fait les insertions de donneacutees sont simplifieacutees par rapport agraveune base relationnelle Les diffeacuterentes donneacutees de Canopsis sorganisent en collections quistructurent les eacuteveacutenements et les donneacutees de performance

Les donneacutees de performance sont archiveacutees dans les collections perfdata_bin suivantles speacutecifications GridFS[107] Les meacuteta-donneacutees et les donneacutees de performance reacutecentessont stockeacutees sans compression dans la collection perfdata Lexemple ci-dessous illustreun requecirctage simple sur la collection perfdata

Un des autres avantages du stockage MongoDB reacuteside dans la grande varieacuteteacute dAPIqui permettent drsquoacceacuteder agrave ses donneacutees Dans le cas de Canopsis Python et Javascriptsont les principaux langages solliciteacutes Les interactions entre MongoDB et Javascript per-mettent notamment la mise en place de graphes dans linterface web

Le serveur web repose sur Gunicorn[108] un serveur HTTP deacutedieacute aux applications

Page 83

Principes de larchitecture cible

web eacutecrites en Python et qui supporte nativement le WSGI[109] Canopsis met en œuvreune API REST (Representationel State Transfert) qui est une architecture pour les meacute-dias distribueacutes deacutecrite par Roy Thomas Fielding dans sa thegravese Architectural Styles andthe Design of Network-based Software Architectures[110] Dans Canopsis le service webREST permet par exemple drsquoacceacuteder aux eacuteleacutements de base MongoDB en suivant la syn-taxe suivante

httpserveurcanopsisrestnamespacectype_id

dans laquelle

namespace repreacutesente la collection MongoDB

ctype repreacutesente le type dobjet (compte utilisateur groupe vue eacuteveacutenementetc)

Les diffeacuterents types de requecirctes HTTP (Get Put Delete Post) du service RESTpermettent de manipuler tous ces enregistrements Les requecirctes retournent le caseacutecheacuteant des objets encodeacutes au format JSON Cette faciliteacute permet par exemple dexploi-ter les meacutetriques par lintermeacutediaire de programmes JavaScript capables de manipuler leJSON

Le service web REST est tregraves geacuteneacuterique mais lAPI web expose un certain nombredautres services accessibles selon des modaliteacutes similaires Parmi eux on deacutenombre lesservices auth (authentification) event (eacuteveacutenements) file (fichiers) perfstore (meacutetriquesde performances) reporting (export de vues) right (droits daccegraves) view (vues gra-phiques) etc La syntaxe de chacun de ces services web est deacutecrite plus preacuteciseacutement dansle wiki Canopsis47

Dun point de vue tregraves geacuteneacuteral chaque eacuteveacutenement reccedilu par Canopsis est produitpar un connecteur Le type de lrsquoeacuteveacutenement est lieacute agrave sa nature une trap SNMP une in-formation en provenance dun serveur Syslog distant une alerte Shinken etc Cet eacuteveacutene-ment est lieacute agrave un composant (component) et agrave une ressource (resource) Dans le cas duneacuteveacutenement compatible avec la syntaxe Nagios le composant deacutesignerait un hocircte et lesressources ses services

Concernant les moteurs de traitement (engines) on distingue notamment

le moteur consolidation qui permet dagreacuteger diverses donneacutees de performance

le moteur de SLA permet de deacutefinir des regravegles de calculs veacuterifiant la disponibiliteacutedes infrastructures superviseacutees

le moteur selectors les seacutelecteurs permettent de calculer leacutetat geacuteneacuteral dun lotdrsquoeacuteveacutenements en appliquant des algorithmes simples Par exemple en appliquant

47 httpsgithubcomcapensiscanopsiswikiAPI-Web

Page 84

Principes de larchitecture cible

lrsquoalgorithme de type laquo worst state raquo leacutetat du seacutelecteur correspond agrave leacutetat leplus critique des composants quil englobe On peut de cette faccedilon restituer desliens de deacutependance logiques entre les composants superviseacutes

le moteur de deacuterogation permet de modifier leacutetat dun eacuteveacutenement en lui appli-quant une regravegle speacutecifique cela permet par exemple de transformer un eacuteveacutene-ment de supervision en lui affectant la transformation systeacutematique de ses eacutetatscritical en eacutetat OK

le moteur topology tregraves proche de la notion de business rules que lon trouvedans Shinken ce moteur permet de veacuterifier des regravegles simples entre les compo-sants ressources ou seacutelecteurs Il sagit en fait de creacuteer un chaicircnage logique

La typologie de Canopsis se veut tregraves large ou du moins capable dinteacutegrer ungrand nombre de laquo messages raquo en provenance de divers outils de supervision alertes detype Nagios Syslog distants ou trap SNMP Lrsquointeacuterecirct majeur des transformations propo-seacutees par Canopsis reacuteside dans leur capaciteacute agrave exploiter ces diffeacuterentes formes de messagespour constituer un KPI contrairement aux outils de rendu graphique traditionnels Ca-nopsis offre la possibiliteacute dexploiter des eacuteveacutenements et pas uniquement des meacutetriquesDe cette faccedilon le calcul dun SLA pourra repreacutesenter le taux deacutetat UP dun hocircte surune peacuteriode donneacutee

La documentation de Canopsis nest neacuteanmoins pas tregraves deacuteveloppeacutee On trouvequelques indications pertinentes sur le wiki du deacutepocirct Github mais les eacuteleacutements les plusinteacuteressants se trouvent probablement dans le code source La derniegravere version ditelaquo stable raquo est deacutenommeacutee Ficus Elle date de janvier 2013 La version de la branche gitlaquodevelop raquo est difficilement exploitable en production du fait de corrections freacutequentesElle neacutecessite neacuteanmoins une veille active sur le deacutepocirct Github du projet

322 Connecteur et messages CanopsisConcernant les messages les contraintes sont de deux ordres

1 Une contrainte fonctionnelle chaque message doit avoir un type preacutecis - snmplog ou alerte par exemple Lagrave encore les indications sont minimalistes si bien quele bon positionnement des attributs des messages reste deacutependant dexpeacuterimenta-tions preacutealables Chaque message est identifieacute par une cleacute de routage qui est com-poseacutee des diffeacuterentes caracteacuteristiques de lrsquoeacuteveacutenement Ainsi le connecteur Canop-sis pour Shinken classe les eacuteveacutenements agrave exporter selon leur nature

2 Une contrainte technique les messages doivent ecirctre envoyeacutes sur le bus AMQP du

Page 85

Principes de larchitecture cible

serveur Canopsis en fait vers une instance dun serveur Redis

Le code du connecteur se trouve dans un module qui est associeacute au broker Shin-ken

les messages Shinken suivent le formalisme deacutecrit dans les commentaires de lafonction create_message du fichier source canopsispy48

le module compose un message suivant les speacutecifications Canopsis dans la mecircmefonction create_message

48 httpsgithubcomshinken-monitoringmod-canopsisblobmastermodulemodulepy

Page 86

Principes de larchitecture cible

la fonction postmessage reconstitue une cleacute de routage qui permet dindiquer lanature du message agrave Canopsis et de distinguer les hocirctes (type component) des ser-vices (type resources)

puis il transmet la cleacute agrave Canopsis en sollicitant lAPI AMQP via le module Py-thon kombu

Shinken ne transmet toutefois que les eacuteveacutenements de type check Il est tout agrave faitenvisageable suivant le mecircme synopsis de transformer dautres types deacuteveacutenements pourles inteacutegrer agrave Canopsis Cette technique est mise en œuvre pour laquo pousser raquo les eacuteveacutene-ments autres que les checks vers Canopsis

323 Rendu graphiqueLinterface web de Canopsis permet de

creacuteer des indicateurs composeacutes en lien avec les engines eacutevoqueacutes plus haut

creacuteer des repreacutesentations graphiques des diffeacuterents indicateurs reacutecolteacutes ouconstruits agrave posteriori agrave laide de ces engines Canopsis propose dans ce but uneseacuterie de widgets capables de restituer visuellement linformation

organiser des groupes de widgets en laquo vues raquo et leur associer des droits daccegraves

Page 87

Principes de larchitecture cible

Ces widgets permettent de visualiser leacutetat dun composant ou des meacutetriques qui ysont associeacutees Ils sappuient sur des frameworks Javascript comme ExtJS[111] pour lin-teraction graphique et les boicirctes de dialogue Jquery[112] ou Flot[113] pour le traceacute desgraphes

Linterface graphique sorganise en laquo vues raquo chacune dentre elles pouvant ecirctre as-sortie de droits daccegraves speacutecifiques Chaque vue est construite par des interactions di-rectes avec les boicirctes de dialogue en mode web Une approche programmatique est envi-sageable en exploitant les API web deacutecrites plus haut mais les widgets Canopsis offrentdes possibiliteacutes de repreacutesentation et de reporting suffisamment preacutecises

Parmi les fonctionnaliteacutes inteacuteressantes on peut citer

la gestion des ACL49 qui permet de limiter les accegraves des utilisateurs agrave certainesvues

lexport programmeacute de vues qui permet denvoyer leacutetat dune vue sous forme defichier au format pdf via SMTP

Les vues sont classeacutees dans une arborescence theacutematique eacutetablie par le service in-formatique de GBH Cest ce que lon distingue dans lIllustration 311

49 Access Control List

Page 88

Illustration 310 widgets Canopsis

Principes de larchitecture cible

324 Lassociation Shinken - Canopsis synthegraveseLassociation des deux plates-formes Shinken et Canopsis permet de dissocier

la mise en œuvre des tests de veacuterification et la reacutecolte des donneacutees

la constitution de KPI

la preacutesentation graphique des reacutesultats

Les deux solutions preacutesentent certaines fonctionnaliteacutes tregraves similaires comme parexemple la constitution de KPI la capaciteacute de dissocier la partie opeacuteratoire ougrave lon reacute-colte des donneacutees brutes de la partie de preacutesentation des donneacutees Celle-ci est semblable

Page 89

Illustration 311 panneau du gestionnaire de vues Canopsis

Principes de larchitecture cible

agrave celle que lon met en œuvre dans une chaicircne deacutecisionnelle Shinken sattache aux as-pects les plus opeacuterationnels de la supervision son interface graphique sadresse auxtechniciens du SI De fait ses capaciteacutes de restitution dhistorisation et danalyse sontcontraintes par un impeacuteratif de performance les latences entre le lancement des tests etla restitution du reacutesultat doivent demeurer faibles pour permettre dalerter des dysfonc-tionnements en temps reacuteel Shinken travaille sur des donneacutees volatiles De lautre cocircteacuteCanopsis met en œuvre des meacutecanismes deacutesynchroniseacutes plus aptes agrave permettre des ana-lyses agrave posteriori agrave correacuteler diffeacuterents eacuteveacutenements agrave les historiser et a en fournir un ren-du graphique dont la lisibiliteacute nest pas limiteacutee aux seuls techniciens

Les modegraveles mis en œuvre quoique peu structureacutes - ressourcescomposants surCanopsis et hocircteservice sur Shinken - offrent en contrepartie une souplesse dadapta-tion remarquable De fait il est possible dy inteacutegrer diffeacuterents types de tests techniquesou applicatifs pour peu que lon soit en mesure de mettre en œuvre les automatismesneacutecessaires

Page 90

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4Modaliteacutes de mise en œuvre - adaptations au SI de GBH

41 Organisation du projet411 Moyens de mise en œuvre et mise en place du processus

La mise en place de ce travail sest eacutetaleacutee sur environ une anneacutee Cette peacuteriode napas eacuteteacute exclusivement consacreacutee au projet Nous avons pris en charge la mise en œuvredes plates-formes ainsi que leacutecriture des programmes notamment des sondes des trig-gers ou des diverses corrections et adaptations Notre collegravegue Renaud Baudiquey a par-ticuliegraverement contribueacute au parameacutetrage de linfrastructure GBH agrave la mise en place desvues Canopsis et agrave leacutelaboration de certains indicateurs complexes Les produits Shinkenet Canopsis avaient fait lobjet deacutevaluations preacutealables celles-lagrave mecircmes qui ont conduitagrave arrecircter un choix deacutefinitif Ces eacutevaluations avaient notamment permis de mettre enplace et de systeacutematiser le parameacutetrage SNMP des composants physiques et logiques duSI

Lobjectif geacuteneacuteral du projet neacutetait pas de fournir une solution cleacutes en main maisplutocirct de mettre en place des outils eacutevolutifs capables de nous aider agrave superviser et agraverendre compte du SI LIllustration 41 restitue les principales phases de la mise enœuvre du projet Ainsi quon le constate les cycles deacutevaluation et de collecte sont rela-tivement importants Ils sont lieacutes aux corrections de code et agrave leacutecriture de certains plug-ins

Trois machines virtuelles ont eacuteteacute mises en œuvre une pour Shinken sous un sys-tegraveme Linux Debian 7 une autre pour Canopsis sous le mecircme systegraveme dexploitation etune derniegravere deacutedieacutee agrave la mise en place des tests comportementaux neacutecessitant une inter-face graphique avec le systegraveme dexploitation Windows Seven

Page 91

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

La calibration des ressources des deux systegravemes Linux a poseacute davantage de pro-blegravemes sur le serveur Shinken Une des principales difficulteacutes a consisteacute agrave preacuteserver unelatence acceptable dans lexeacutecution des diffeacuterentes sondes Outre les questions doptimi-sation du code de ces plug-ins il a eacutegalement fallu tenir compte des eacutevolutions des diffeacute-rentes API solliciteacutees par ces derniers Par exemple lAPI Vsphere qui permet de requecirc-ter les instances VMware ESXi a eacuteteacute la cause dincidents particuliegraverement impactants une mauvaise utilisation des sessions didentification dans les commandes de veacuterificationa satureacute la base de donneacutees du VCenter empecircchant ainsi son fonctionnement Par effetde cascade linstance Shinken a vu ses temps de latence se deacutegrader au point de devenirquasiment inopeacuterante Ce cas despegravece montre bien la fragiliteacute de la solution et la neacuteces-siteacute den maicirctriser les divers tenants et aboutissants Linstallation de la solution ne posepas de veacuteritable problegraveme les documentations sont relativement preacutecises agrave ce niveau Par contre leacutetalement du projet dans le temps sexplique par plusieurs raisons

le fait que ce type de projet a traditionnellement un inteacuterecirct qui se limite agrave ladmi-nistration systegraveme et reacuteseau En tout eacutetat de cause sa valorisation aupregraves desautres services deacutepend fortement des reacutesultats quil produit et de leur lisibiliteacute

Page 92

Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lideacutee de valoriser une vision strateacutegique et meacutetier si elle participe agrave sextrairedune vision techniciste du SI reste relativement reacutecente

le fait que les phases de collecte de donneacutees doivent neacutecessairement seacutetaler surdes peacuteriodes suffisamment longues pour veacuterifier la pertinence des indicateursplus speacutecifiquement des indicateurs composeacutes - certains SLA ne prennent sensquau bout de peacuteriodes suffisamment longues

la neacutecessiteacute de stabiliser les solutions du simple fait quelles deacutependent elles-mecircmes dautres API langages impleacutementations ou solutions qui peuvent eux-mecircme ecirctre la source de dysfonctionnements

la mise agrave niveau des produits Shinken et Canopsis Le deacuteveloppement de ces pro-jets eacutetant relativement actif leur utilisation doit saccompagner dune veille effec-tive plus speacutecifiquement sur les corrections de bugs et les mises agrave disposition denouvelles versions Les monteacutees de version sur les deux produits ont eu un impactnotable particuliegraverement en ce qui concerne la reprise du parameacutetrage Shinken etles vues Canopsis

le fait que le projet ne constituait en aucune faccedilon en la mise agrave disposition dunesolution laquo cleacutes en main raquo mais plutocirct en la mise en place dun processus iteacuteratifeacuteprouveacute permettant au service informatique de continuer agrave eacutetoffer la supervisiondu SI

Au bout du compte il serait peu pertinent de penser lensemble comme une solu-tion deacutefinitive et immuable Au contraire - et cest en ce sens qua eacuteteacute engageacutee la deacute -marche - il sagissait de fixer les modaliteacutes de supervision et dy inteacutegrer les besoins sys -teacutematiques dajustements et de corrections LIllustration 61 dans lAnnexe 66 scheacutema-tise les grandes lignes de ce processus La systeacutematisation du processus de supervisionconstitue donc un des objectifs de fond du projet Sa mise en place repose essentielle-ment sur les phases de test deacutevaluation et de correction

412 Difficulteacutes rencontreacuteesLa mise en œuvre du projet sest heurteacutee agrave plusieurs eacutecueils Certains sont lieacutes agrave la

nature exploratoire de ce travail essais expeacuterimentation et codage nont pas neacutecessaire-ment toujours eacuteteacute concluants ou ont neacutecessiteacute la reacutesolution dincidents certains dentreeux ayant des conseacutequences graves sur linfrastructure Sil existe divers protocoles de su-pervision les impleacutementations proposeacutees par les constructeurs ne sont pas toujours fina-liseacutees ou neacutecessitent certaines preacutecautions Cest par exemple le cas de lattribut ifSpeedde la MIB-II Cisco Nortel ou Netasq lui attribuent des valeurs diffeacuterentes pour des ca-paciteacutes physiques identiques Ces difficulteacutes outre les adaptations quelles demandent

Page 93

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

teacutemoignent de lheacuteteacuterogeacuteneacuteiteacute des techniques et impleacutementations en matiegravere de supervi-sion Si les plates-formes mises en place permettent dhomogeacuteneacuteiser les mesures et le ren-du des reacutesultats dautres difficulteacutes sont ensuite apparues

celles qui sont lieacutees agrave lanalyse et agrave linterpreacutetation du lien entre la vision tech-nique et la vision meacutetier la restitution dindicateurs laquo simplifieacutes raquo dans Canopsiscouvre souvent des architectures logiques complexes Le fait mecircme de formaliserces KPI peut mettre agrave jour des dysfonctionnements jusqualors invisibles dans lesprocessus meacutetier ou les architectures techniques Si les questions techniquespeuvent ecirctre traiteacutees de faccedilon autonome par le service informatique lorganisationde GBH preacutesente peu de moyens pour travailler la question du lien entre le meacutetieret la technique Si un rendu graphique peut ecirctre mis agrave disposition il ne sagitpour le moment que dune preuve de concept Cest eacutegalement ce qui expliquequun tel projet ne puisse agrave ce stade emporter dautre adheacutesion que celle des tech-niciens du SI

celles qui sont lieacutees agrave la mise en place des composants techniques de la supervi-sion Dune part les projets Shinken et Canopsis demandent neacutecessairement uncertain nombre dadaptations ou de compleacutements cest dailleurs en ce sens quilsont eacuteteacute conccedilus Agrave ce titre nous examinerons briegravevement comment ont eacuteteacute inteacute-greacutees les alertes passives SNMP et les traces Syslog Dautre part les sondes tech-niques proposent souvent une approche geacuteneacuterique dont les meacutecanismes se reacutevegravelentsouvent inadapteacutes aux speacutecificiteacutes du SI de GBH Aussi leur mise en œuvre neacuteces-site-t-elle un certain nombre de corrections voire mecircme dans le cas des sondesEUE une eacutecriture complegravete Enfin linfrastructure mecircme de supervision nest passans effet sur la performance du SI Dun cocircteacute une requecircte WMI inapproprieacuteeune mauvaise utilisation de certaines sondes ou une impleacutementation SNMP in-complegravete50 peuvent nuire agrave la performance globale du SI De lautre cocircteacute linfra-structure doit parfois subir des modifications qui neacutecessitent linterruption de cer-tains services Cest notamment le cas lorsquil faut recompiler un serveur NGiNXpour y inteacutegrer un module status51 ou modifier des regravegles du firewall pour autori-ser les flux de supervision en DMZ Bien que ces interruptions soient minimeselles doivent ecirctre planifieacutees en fonction de leur impact sur lactiviteacute de produc-tion

celles qui sont lieacutees agrave la veille technologique et aux apprentissages quinduisent cessolutions de supervision Shinken et Canopsis sont des outils qui reposent sur unerepreacutesentation du SI elle-mecircme inspireacutee de modegraveles Quoiquelles autorisent une

50 Par exemple les Cisco Catalyst 3560 renvoient des indicateurs de deacutebit associeacutes au VLAN Ces indica-teurs ne sont pourtant valides que sur certains modegraveles et versions dIOS

51 httpwikinginxorgHttpStubStatusModule

Page 94

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

grande liberteacute ne serait-ce quen permettant laccegraves au code source il nest claire-ment pas envisageable dexploiter ces solutions sans porter une attention particu-liegravere agrave leur eacutevolution et agrave celle du microcosme qui les entoure - API protocolesoutils Cest dans le cadre de cette deacutemarche de veille et dexpeacuterimentation quecertaines solutions - comme Nagvis Thruk ou Pnp Nagios - ont eacuteteacute mises enœuvre pour ecirctre finalement abandonneacutees faute de pertinence Cette deacutemarchebien quindispensable et formatrice demeure extrecircmement coucircteuse en temps

Hormis la plate-forme de supervision constitueacutee de deux serveurs une derniegraveredifficulteacute tient agrave la mise en place dun environnement deacutedieacute aux sondes EUE Dans unpremier temps il avait eacuteteacute envisageacute de deacuteporter un poller Shinken deacutedieacute agrave ce type detests sous un systegraveme Microsoft Windows Pourtant un certain nombre de difficulteacutessont apparues principalement lieacutees aux diffeacuterences de versions entre les modules Pythonde la bibliothegraveque Pyro Pour passer outre cette fragiliteacute une autre maquette a eacuteteacute eacutela-boreacutee sur une machine virtuelle cette fois-ci en sappuyant directement sur des meacuteca-nismes XML-RPC coupleacutes agrave des retours passifs vers une instance WS-arbiter de ShinkenCest par ce meacutecanisme quil a eacuteteacute possible de piloter les tests EUE via Sikuli

Le projet Selenium proposait par ailleurs une meacutethode de pilotage distant du navi-gateur Internet Explorer Quoique limiteacute aux navigateurs Selenium[46] a permis de deacute-ployer des tests EUE dans un environnement identique agrave celui des utilisateurs du SIGBH La veacuteritable difficulteacute a eacuteteacute dordonnancer les tests EUE Sikuli fonctionnant surla base dune reconnaissance optique il est absolument impeacuteratif que lenvironnementgraphique ne soit pas pollueacute par dautres interactions automatiseacutees ou non De ce faitdeux tests EUE peuvent produire une contention dougrave leur fragiliteacute La premiegravere solu-tion a consisteacute agrave mettre en place un verrou logique similaire agrave un seacutemaphore pour eacuteviterque deux tests puissent saccaparer linterface graphique simultaneacutement Cette solution aeu linconveacutenient de creacuteer des situations dinterblocage52 au fur et agrave mesure que lenombre de tests augmentait Pour finir lutilisation dun trigger Shinken a permis detravailler directement sur leacutetalement de lordonnancement de ces tests Beaucoup moinscontraignante lideacutee est de veacuterifier agrave chaque lancement dun test que le scheduler Shin-ken respecte bien un intervalle de temps minimum entre les diffeacuterentes exeacutecutions Si telnest pas le cas on force la valeur du prochain test comme le montre lextrait de codedu trigger

52 Un interblocage encore appeleacute laquo eacutetreinte mortelle raquo ou deadlocks est une situation qui se produit enprogrammation concurrente lorsque deux processus sattendent mutuellement de faccedilon infinie

Page 95

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Au-delagrave de ces problegravemes de mise en œuvre le veacuteritable eacutecueil consiste agrave rendre li-sible leacutetat du SI aux utilisateurs concerneacutes Si linterface graphique Canopsis proposedes faciliteacutes en ce sens il reste agrave eacutelaborer un rendu graphique capable de faire sens pourles utilisateurs En pratique les indicateurs techniques - comme les deacutebits latences ouvitesses - nont absolument aucune porteacutee seacutemantique pour les utilisateurs finauxLaboutissement de sceacutenarios de tests comportementaux puisquils concernent plus di-rectement leur activiteacute est davantage parlant mais ne prend en compte que des cas geacute-neacuteriques Les KPI interviennent alors pour pallier agrave cette difficulteacute Leur eacutelaboration neacute-cessite toutefois un travail dajustement dont lobjectif est de prendre en compte les en-jeux fonctionnels et techniques Agrave ce stade si les outils sont mis en place il reste agrave affi-ner ces KPI en collaboration avec les services utilisateurs du SI de GBH La difficulteacutesous-jacente agrave cette deacutemarche qui se traduit par un tregraves faible inteacuterecirct pour les reacutesultatsproduits met sans doute en eacutevidence la neacutecessiteacute deacutevaluer de faccedilon plus stricte la criti-citeacute du SI par rapport agrave lactiviteacute de production La mise en œuvre dun audit pourraitpar exemple faire ressortir les points communs entre lactiviteacute de lorganisation et celledu SI Agrave ce jour aucune deacutemarche na eacuteteacute faite en ce sens si bien quil reste deacutelicat pourles seuls techniciens du SI de deacutepasser la distinction entre loutil technique et son usageUne approche plus collaborative aurait eacuteteacute porteuse de davantage de sens dans leacutelabora-tion des KPI et les possibiliteacutes offertes par la plate-forme mise en œuvre autorisent tou-jours des deacuteveloppements en ce sens Plus en amont cela renvoie aussi agrave la question dela lisibiliteacute des strateacutegies de lorganisation

42 Techniques de collecte de donneacuteesNous observerons ici quelques exemples des impleacutementations qui ont permis de reacutea-

liser la collecte de donneacutees On distingue donc deux types de sondes

les sondes techniques qui testent les diffeacuterents composants de la plate-forme tech-nique

les sondes comportementales qui eacutemulent le comportement dun utilisateur

421 Sondes techniquesLe principe des sondes techniques a eacuteteacute deacutecrit plus haut au paragraphe 3112 En

pratique une vingtaine de packs regroupant des ensembles de sondes techniques ont eacuteteacutemis au point Un grand nombre de sondes sont mises agrave disposition par la communau-teacute[78] Toutefois beaucoup dentre elles ne sont pas toujours adapteacutees aux speacutecificiteacutes duSI de GBH Cest agrave ce niveau quun grand nombre de corrections ont eacuteteacute neacutecessaires

Page 96

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4211 Techniques mises en œuvreEn se reposant sur le module Python PySNMP[114] ainsi que sur des scripts en

langage Shell ou Perl des sondes ont eacuteteacute inteacutegralement reacuteeacutecrites ou corrigeacutees

Il sagit principalement

de sondes pour les routeurs Cisco et le firewall Netasq U250

de scripts destineacutes agrave lexeacutecution distante via NRPE notamment pour les serveursCitrix dont le fournisseur SNMP est sous une licence qui ne nous eacutetait pas acces-sible

Pour le reste un grand nombre de modifications ont eacuteteacute ajouteacutees agrave des plug-insexistants essentiellement dans lobjectif dhomogeacuteneacuteiser les mesures de performance oude creacuteer des mesures de performance compleacutementaires Il a par exemple eacuteteacute difficiledobtenir des uniteacutes de mesures comparables Dans le cas des sondes reacuteseau les uniteacutes demesures sont rarement homogegravenes On trouve selon les impleacutementations des usages tregravesdivers bitseconde bytesseconde pourcentage de bande passante frames par secondeetc Dans notre cas linteacutegraliteacute des mesures a eacuteteacute corrigeacutee de faccedilon agrave renvoyer systeacutema-tiquement des mesures en octets (bytes) de faccedilon agrave faciliter la comparaison des deacutebits envolume

Au-delagrave du SNMP les principaux protocoles mis en œuvre sont

WMI pour les systegravemes Microsoft Windows agrave laide du programme Perlcheck_wmi_plus[42]

linvocation directe de clients via des scripts Shell par exemple

Smicli pour obtenir des mesures de capaciteacute du SAN IBM DS3400

lAPI VMware via le programme Perl check_vmware _api53

lAPI XenServer via un script Perl deacuteveloppeacute par la socieacuteteacute OP554

une eacutemulation Java de terminal 3270 pour reacutecupeacuterer les informations au-pregraves de liSeries OS400

des scripts Shell pour inventorier les eacuteveacutenements des logs des serveursSMTP

Les techniques dobtention dinformations sont donc tregraves varieacutees Elles ne reposent pas neacutecessaire-ment sur des protocoles mais davantage sur des techniques dautomatisation automatisation derequecirctes simulation daccegraves agrave des interfaces dadministration sollicitation dAPI speacutecifiques etcEn tout eacutetat de cause le seul recours au protocole SNMP ou WMI nest pas suffisant

53 OP5 Plugins httpskbop5comdisplayPLUGINSPlugins+Home54 Idem sur le deacutepocirct git OP5 httpgitop5orggitp=nagiosop5pluginscheck_xenapigit

Page 97

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4212 Exemples de sondesAvec la bibliothegraveque PySNMP les scripts peuvent suivre le mecircme synopsis Nous nousinteacuteressons ici agrave une sonde dont le but est deacutevaluer le deacutebit dinterface reacuteseau donneacute enparamegravetres Les mesures reposent sur la MIB IF-MIB Cette MIB fournit une traductionlitteacuterale des OID et facilite le travail sur la seacutemantique des variables Le chargement dela MIB nest donc pas obligatoire

On reacutecupegravere les arguments principaux adresses IP communauteacute SNMP et deacutenomina-tion du peacuteripheacuterique reacuteseau

On eacutemet ensuite une requecircte SNMP sur lOID cible On parcourt les reacutesultats de latable quon renvoie au retour de la fonction getOidval

Page 98

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le script principal eacutemet deux requecirctes pour reacutecupeacuterer par exemple les valeurs delobjet ifHCOutOctets Celui-ci nous indique le niveau de sortie de linterface reacuteseau enoctets Les valeurs du dernier check sont inscrites dans un fichier agrave laide du module pi-ckle55 De cette faccedilon on peut comparer les deux volumes sur une peacuteriode de temps preacute-cise

Le calcul de la bande passante doit prendre en compte la vitesse maximale indiqueacuteepar la valeur de litem ifSpeed Toutefois selon les mateacuteriels cette vitesse ne suit pas lesmecircmes nomenclatures

Par exemple les instances XenServer renvoient un objet ifSpeed agrave 0 si les cartessont au Gigaoctetsec Ci-dessous la fonction de calcul de la bande passante prend encompte cette exception

Autre exemple sur un mateacuteriel de type Cisco les compteurs demandent une eacuteva-luation diffeacuterente de lobjet ifSpeed

55 httpsdocspythonorg2librarypicklehtml

Page 99

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Enfin une fois les calculs dindicateurs de performance effectueacutes on reacuteeacutecrit la va-leur dans un fichier tampon via le module Python pickle puis on renvoie le reacutesultatcomprenant linteacutegraliteacute des mesures de performances

En langage Perl la logique est sensiblement la mecircme Au lieu de solliciter les meacute-thodes de la bibliothegraveque PySNMP on sappuie sur le module Perl NetSNMP PartantdOID connus en reacutealiteacute des index de tables on peut ainsi reacutecupeacuterer lensemble des va-leurs des sous-branches On creacutee une session SNMP en invoquant une fonction qui ren-voie le contexte de cette session Par exemple

Agrave partir de lagrave on reacutecupegravere les informations souhaiteacutees ici la tempeacuterature internedun switch

Page 100

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lorsque lon ne dispose daucun protocole de supervision on peut mettre en œuvredes techniques danalyses syntaxiques expressions reacuteguliegraveres analyse textuelle en fonc-tion de la position dans un eacutecran de terminal etc

Par exemple pour veacuterifier le statut dun routeur ADSL dappoint outre les regraveglesde routage du firewall on peut acceacuteder relativement facilement agrave une page indiquant lestatut des connexions En Python on peut extraire les valeurs pertinentes avec une fonc-tion comme celle deacutecrite ci-dessous on reacutecupegravere la page de statut par HTTP puis onanalyse son contenu quon structure dans un dictionnaire

Globalement seules les modaliteacutes dobtention des informations changent Il faut enoutre rester attentif agrave la performance de ces sondes une sonde trop complexe risquedaugmenter la latence de lordonnanceur Shinken Certaines techniques danalyse de fi-chiers journaux induisent par exemple trop de latence entre lenvoi du test et lobten-tion du reacutesultat En regravegle geacuteneacuterale il convient de reacuteduire au maximum le deacutelai entre lemoment ougrave la tacircche est lanceacutee par lrsquoordonnanceur et le moment ougrave ce dernier traite lereacutesultat Dans le cas contraire les performances du serveur se deacuteteacuteriorent avec laugmen-tation de la charge systegraveme

4213 Rendu graphique avec GraphiteOutre la transmission des eacuteveacutenements de supervision vers Canopsis Shinken per-

met toujours par lintermeacutediaire dun module dexporter les donneacutees de performancevers un gestionnaire de graphique deacutenommeacute Graphite Les donneacutees de performance asso-cieacutees aux estampilles temporelles sont reconstitueacutees comme des coordonneacutees

Graphite est constitueacute dun daemon carbon-cache56 chargeacute dinteacutegrer les donneacuteesque lui fait parvenir le broker Shinken dans une base de donneacutees whisper speacutecialiseacutee dansle stockage des seacuteries temporelles

56 httpgraphitereadthedocsorgenlatestcarbon-daemonshtml

Page 101

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Luniformisation des donneacutees de performance est assureacutee par le respect du forma-lisme de sortie preacuteconiseacute par Nagios et par le module broker Graphite Une fois collec-teacutees les donneacutees peuvent ecirctre reacute-exploiteacutees et manipuleacutees via une interface graphiqueweb Lapplication web baseacutee sur le framework Python Django57 permet deffectuer cer-

57 httpwwwdjango-frorg

Page 102

Illustration 43 linterface web de Graphite

Illustration 42 le backend laquo Graphite raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

taines opeacuterations sur ces donneacutees temporelles agreacutegation composition de tableaux debord Les graphiques des donneacutees de performance sont reacutecupeacutereacutes par Shinken qui les in-tegravegre dans sa propre interface graphique Les Illustration 43 et Illustration 44 preacutecisentces deux moyens dexploiter les donneacutees de performance De nombreux autres produitsexploitent les rrdtools58 Ces derniers imposent neacuteanmoins un certain nombre decontraintes que lauteur de Whisper a souhaiteacute lever dans son impleacutementation

RRD is great and initially Graphite did use RRD for storage Over time thoughwe ran into several issues inherent to RRDs design

RRD cant take updates for a timestamp prior to its most recent update Sofor example if you miss an update for some reason you have no simple wayof back-filling your RRD file by telling rrdtool to apply an update to the pastWhisper does not have this limitation and this makes importing historicaldata into Graphite way way easier

At the time Whisper was written RRD did not support compacting multipleupdates into a single operation This feature is critical to Graphites scalabili-ty

RRD doesnt like irregular updates If you update an RRD but dont followup another update soon your original update will be lost This is the strawthat broke the camels back since Graphite is used for various operationalmetrics some of which do not occur regularly (randomly occuring errors forinstance) We started to notice that Graphite sometimes wouldnt displaydata points which we knew existed because wed received alarms on them fromother tools The problem turned out to be that RRD was dropping the datapoints because they were irregular Whisper had to be written to ensure thatall data was reliably stored and accessible[115]

58 httpossoetikerchrrdtool

Page 103

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

En matiegravere de rendu Graphite propose une API de rendu graphique que lon solli-cite par lrsquointermeacutediaire dune URL HTTP incluant les paramegravetres adeacutequats[116] CetteAPI permet de systeacutematiser le rendu des graphiques directement dans linterface webShinken ainsi que le montre lIllustration 44

422 End User Experience les tests comportementauxLes tests techniques inteacuteressent davantage les techniciens tels que les administra-

teurs systegraveme et reacuteseau plutocirct que les responsables fonctionnels Pourtant ces derniersont reacuteguliegraverement besoin de savoir si lapplication sur laquelle repose leur activiteacute fonc-tionne laquo normalement raquo par exemple avec des temps de reacuteponse acceptables Le pointde vue du ressenti utilisateur nest pas exclusif il doit ecirctre coupleacute aux reacutesultats fournispar les sondes techniques Agrave contrario leacutelaboration de sceacutenarios comportementauxsexeacutecutant conformeacutement agrave un synopsis eacutetabli garantit la disponibiliteacute et la possibiliteacutedeacutevaluer la performance de lapplication Les proceacutedeacutes de tests comportementaux eacutevo-queacutes dans le paragraphe 2314 sont mis en œuvre notamment pour fournir agrave des res-ponsables fonctionnels qui ne disposent daucune connaissance technique un moyendeacutevaluer une application

Page 104

Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Dans le cadre du projet diverses techniques ont eacuteteacute mises en œuvre Nous nousproposons den exposer deux La premiegravere consiste agrave simuler un sceacutenario agrave laide dunnavigateur headless comme le permettent les solutions Selenium ou PhantomJS La se-conde a consisteacute agrave utiliser lAPI Jython de la solution Sikuli pour eacutevaluer des sceacutenariosimposant lusage dinterfaces graphiques laquo lourdes raquo

4221 Tests EUE avec CasperJS lexemple de linterface imhowebImhoweb est une solution de gestion de la demande de logement reacutealiseacutee par la so-

cieacuteteacute Sigma La gestion de la demande de logement a reacutecemment eacuteteacute externaliseacutee versune plate-forme geacutereacutee par cette socieacuteteacute Un des principaux problegravemes engendreacutes parcette externalisation est justement de donner aux responsables fonctionnels le moyen deveacuterifier que linterface est accessible via le reacuteseau internet et quelle est en mesure de reacute-pondre agrave un sceacutenario fonctionnel simple

Dans ce contexte outre les indicateurs techniques courants (ping veacuterification delaccegraves HTTP etc) une sonde fonctionnelle a eacuteteacute eacutelaboreacutee en vue de simuler le compor-tement dun utilisateur agrave laide de lAPI CasperJS[117]

La sonde est eacutecrite en JavaScript Le principe consiste agrave exeacutecuter un sceacutenario - soitune suite deacutetapes - agrave laide dun navigateur sans interface que lon pilote de faccedilon pro-grammatique Le navigateur aveugle (headless) repose sur lAPI Webkit QT Le code duprogramme sorganise en plusieurs eacutetapes

Une instanciation du navigateur aveugle

Page 105

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Lexeacutecution dune eacutetape Ici leacutetape de connexion agrave linterface imhoweb

Chaque eacutetape du sceacutenario est assortie dune eacutevaluation de sa dureacutee dexeacutecutionLaboutissement dune eacutetape est conditionneacute par la recherche deacuteleacutements du DOMde la page HTML

La sonde exeacutecute donc lensemble des eacutetapes de faccedilon ordonneacutee puis fournit un reacute-sultat au format Nagios

Page 106

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le reacutesultat est pris en compte dans Shinken puis transmis agrave Canopsis ougrave les don-neacutees de performance peuvent faire lobjet dun rendu graphique

4222 Tests EUE avec SikuliLinterface Sikuli comme il a eacuteteacute eacutevoqueacute plus haut peut ecirctre piloteacutee par le langage

Python Sikuli embarque une impleacutementation de Python en Java Jython (cf Annexe67) Son usage est toutefois lieacute agrave quelques restrictions notamment en ce qui concernelinclusion de modules Python externes Nous avons choisi dutiliser une impleacutementationdu protocole XML-RPC[118] pour permettre au serveur Shinken de lancer des tests agravedistance sur une station de travail utilisateur Le serveur XML-RPC (la station de tra-vail) met agrave la disposition du client une seacuterie de proceacutedures qui permettent de lancer leprogramme de simulation eacutetape par eacutetape depuis le serveur de supervision Shinken Lorsde lexeacutecution dune proceacutedure-sceacutenario le programme serveur va eacutemettre des checkspassifs vers le module WS-arbiter de Shinken de faccedilon agrave reacutecupeacuterer les reacutesultats dechaque eacutetape du deacuteroulement du sceacutenario Le principe consiste agrave deacutecouper le sceacutenariofonctionnel en eacutetapes distinctes et agrave mesurer leur dureacutee dexeacutecution En principe le non-aboutissement dune de ces eacutetapes entraicircne une invalidation du test Dans le cascontraire on reacutecupegravere la dureacutee dexeacutecution de chaque eacutetape

Dans le code on deacutefinit une fonction pushmessage capable denvoyer un messagepassif agrave Shinken tout en continuant le deacuteroulement du sceacutenario

Page 107

Illustration 45 rendu graphique dun sceacutenario EUE

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

On exeacutecute les appels XML-RPC pour chaque eacutetape du sceacutenario ici on simulelutilisation de linterface lourde de lERP Aravis pour rechercher une facture dans lemodule comptabiliteacute Le test se deacutecompose en 4 eacutetapes (steps) lancement de linterfaceidentification et connexion recherche dune facture et veacuterification du reacutesultat sortie delinterface

Cocircteacute serveur on utilise un code Python qui pourra ecirctre exeacutecuteacute par linterpreacuteteurJython de Sikuli et dont suivent des extraits

On deacutefinit une instance serveur XML-RPC

Page 108

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Les eacutetapes du test sont deacutefinies dans des fonctions speacutecifiques Agrave ce niveau onsollicite lAPI Sikuli (fonctions wait appOpen click etc) Les instructions detype click(laquo xxxxxpng raquo) sollicitent une comparaison par reconnaissance optiqueentre une image captureacutee preacutealablement et laffichage de linterface

Une fois cela fait on instancie le serveur XML-RPC qui va exposer les diffeacuterenteseacutetapes comme des proceacutedures distantes

Page 109

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Ce proceacutedeacute dappel de proceacutedures distantes est indispensable lorsque lon ne peututiliser le serveur de supervision comme serveur de test Les systegravemes Linux sont en me-sure de mettre en œuvre une interface Xvfb59 mais il reste plus deacutelicat dinteragir par cebiais sur un systegraveme Windows Les tests Sikuli sont concluants mais restent fragiles degraveslors quune autre application interagit avec le bureau Windows les proceacutedeacutes de recon-naissance optique sont parasiteacutes

Plus geacuteneacuteralement il est assez simple dinseacuterer un envoi de message passif versShinken (via le module WS-arbiter) ou directement vers Canopsis les API web peuventecirctre solliciteacutees par lutilisation de lAPI cURL60 qui permet de forger une requecircteHTTP Degraves lors que cela est possible cest-agrave-dire pour un code techniquement et leacutegale-ment modifiable on peut inseacuterer des requecirctes pour superviser certaines actions des utili -sateurs Ce proceacutedeacute mis en eacutevidence dans le modegravele APM61 intervient en compleacutementdes tests comportementaux Son usage reste toutefois limiteacute en raison des contraintesdimpleacutementation eacutevoqueacutees plus haut

423 Prise en compte des messages SNMP passifsBien que Shinken puisse prendre en compte des alertes SNMP passives cela com-

porte une difficulteacute inheacuterente au mode SNMP passif En effet ainsi que nous lavons vuplus haut chaque constructeur peut impleacutementer sa propre nomenclature dalertes aumoyen dune MIB Sans cette MIB le message dalerte passif est difficilement lisible ouinterpreacutetable Shinken permet de prendre en compte les alertes passives sur un hocircte agravelaide de la clause de configuration laquo passive_checks_enabled raquo mais la collecte de cesalertes et leur classification peut poser problegraveme Dune part toutes les traps SNMP nesont pas neacutecessairement pertinentes et dautre part leur exploitation repose sur la possi-biliteacute de les interpreacuteter de faccedilon litteacuterale De fait lactivation des laquo passives checks raquodans Shinken permet effectivement dintercepter ces laquo traps raquo et eacuteventuellement de lesnotifier mais pas den eacutetablir une vision syntheacutetique et organiseacutee Xavier Dusart preacute-sente les modaliteacutes de mise en œuvre de ce type dinterception dans un article consacreacute agravela capture des traps SNMP[119] De cette faccedilon en sappuyant sur le programmeSNMPTT[120] il est envisageable de rediriger les alertes vers un programme qui geacutenegravere

59 Xvfb minus virtual framebuffer X server httpwwwxorgarchiveX11R77docmanman1Xvfb1xhtml

60 cURL est un framework particuliegraverement utiliseacute pour automatiser les accegraves agrave des urls distantes Voir httpcurlhaxxse

61 Voir l Illustration 216

Page 110

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

un eacuteveacutenement vers Shinken Lalerte SNMP est transformeacutee en check pour peu que lachaicircne du message SNMP soit correctement interpreacuteteacutee par le daemon SNMPTT La veacute-ritable difficulteacute est de pouvoir analyser eacuteventuellement avec des expressions reacuteguliegravereschaque type dalerte Le proceacutedeacute tregraves geacuteneacuterique ne permet finalement pas deacutetablir defaccedilon satisfaisante un suivi historiseacute et classifieacute de ces alertes Pour cette raison lesalertes passives nont pas eacuteteacute mises en œuvre dans Shinken mais directement redirigeacuteesvers linstance Canopsis Lobjectif eacutetant de pouvoir effectuer un suivi de ces alertes etde pointer une correacutelation entre les alertes passives et le comportement de certains hocirctesou services il a sembleacute plus pertinent de transformer directement les alertes passives enmessages Canopsis de type trap

Les instructions dinterception SNMP dans la configuration du daemon SNMPTTsont modifieacutees comme sur cet extrait de configuration

Le programme laquo push-passive-checks raquo de la clause EXEC assemble les informa-tions en un message Canopsis

Page 111

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Cela permet un rendu visuel filtrable des alertes eacutemises sur Canopsis par exempleavec le widget List ainsi quon peu lobserver sur lIllustration 46

Page 112

Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

424 Inteacutegration des messages SyslogLa majoriteacute des composants du SI sont capables de geacuteneacuterer des messages suivant le

protocole Syslog62 deacutefini par la RFC 5424[121] Au mecircme titre que pour les alertesSNMP passives il peut ecirctre pertinent de mettre en lien des meacutetriques de performanceavec des eacuteveacutenements eacutemis par un systegraveme dexploitation

La logique du connecteur deacuteveacutenements Syslog est tregraves semblable agrave celle que lonutilise avec les traps SNMP La diffeacuterence tient au fait que lon exploite les faculteacutes deredirection dun daemon Syslog-ng63 central qui redirige les eacuteveacutenements externes vers unprogramme transformant le message Syslog en eacuteveacutenement Canopsis

Ci-dessous figure un extrait de la configuration Syslog-ng qui redirige ses sortiesvers un programme nommeacute log2canopsispy

La logique du programme de transformation log2canopsis est tregraves similaire agrave celleque lon a pu observer dans le paragraphe preacuteceacutedent agrave la diffeacuterence que le type deacuteveacutene-ment correspond agrave la valeur laquo log raquo

62 httpfrwikipediaorgwikiSyslog63 Syslog-ng est une impleacutementation dun daemon syslog Agrave ce propos de Syslog-ng voir

httpwwwbalabitcomfrnetwork-securitysyslog-ngopensource-logging-system

Page 113

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Agrave condition de pouvoir seacutelectionner les eacuteveacutenements Syslog pertinents on peutmettre en correacutelation les donneacutees de performance avec des eacuteveacutenements Syslog dans Ca-nopsis Cest ce que repreacutesente lIllustration 47

Page 114

Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performance dun firewall netasq U250

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

43 Indicateurs complexes431 Les triggers Shinken

La logique des triggers - ou deacuteclencheurs - a eacuteteacute eacutevoqueacutee au paragraphe 3123Dans le cadre de ce projet peu de ces triggers ont eacuteteacute mis en œuvre Dune part laconstruction dindicateurs composeacutes est reacutealisable par Canopsis et dautre part les trig-gers sont des inclusions de code Python qui peuvent lorsquil induisent des traitementstrop coucircteux en ressource mettre en peacuteril la charge du serveur Shinken

Linteacuterecirct de lutilisation des deacuteclencheurs dans notre cas particulier a consisteacute agravepallier certaines insuffisances dans les donneacutees de performance et plus speacutecifiquement surdes plug-ins dont le code est soumis agrave des corrections freacutequentes de la part de leurs au-teurs De cette faccedilon les triggers permettent disoler un code correctif

Par exemple le plug-in check_vmware_api ne fournit quun pourcentage de les-pace occupeacute par des disques virtuels sur un systegraveme de fichiers vmfs64 Pourtant le vo-lume exact en meacutegaoctets constituait une mesure neacutecessaire agrave leacutevaluation du projet demigration dun SAN Pour eacuteviter de corriger directement le code du plug-in qui est sou-mis agrave de freacutequentes reacutevisions nous avons preacutefeacutereacute isoler notre correction speacutecifique dansun trigger de faccedilon agrave la rendre indeacutependante du code dorigine Le code de ce triggerconsiste simplement agrave reacutecupeacuterer les valeurs des donneacutees de performance et agrave transformerle pourcentage despace occupeacute en un volume preacutecis

64 Vmfs Virtual Machine File System est un systegraveme de fichier propre agrave linfrastructure de virtualisationVMware Cette derniegravere est destineacutee agrave contenir des disques durs virtuels utiliseacutes par les machines vir-tuelles

Page 115

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Comme on le constate on peut remplacer assez facilement les donneacutees de perfor-mance et le code de sortie du plug-in Dans la mecircme ideacutee on peut construire de faccedilonprogrammatique des KPI en effectuant des calculs sur les donneacutees de performanceLexemple ci-dessous montre comment obtenir un KPI repreacutesentant les temps de reacuteponsemoyens de requecirctes HTTP

Ce type de calcul a neacuteanmoins linconveacutenient de reposer sur le nommage litteacuteral desobjets superviseacutes on suppose ici que tous les hocirctes HTTP sont deacutesigneacutes par la chaicircnede caractegraveres srv-web-d dans laquelle d repreacutesente un nombre deacutecimal De fait agravemoins quune nomenclature de nommage stricte ne soit eacutetablie ce code peut perdre enlisibiliteacute

Un autre exemple a eacuteteacute illustreacute au paragraphe 3123 Il concerne la constructiondun compteur du nombre total de pages imprimeacutees sur lensemble du SI Le code dutrigger permet de rendre coheacuterente leacutevolution de la valeur du compteur et de visualiserla reacutepartition des impressions sur lensemble du SI Sans cette consolidation lindicateurretombe agrave zeacutero en mecircme temps que les imprimantes faussant ainsi le reacutesultat Agrave titredexemple lIllustration 48 montre le rendu graphique de cet indicateur dans linterfaceCanopsis

Page 116

Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Encore une fois lutilisation de triggers Shinken relegraveve davantage dune action cor-rective agrave posteriori que de la construction dun KPI ce rocircle eacutetant deacutefeacutereacute agrave Canopsis Cetusage sexplique notamment par les faciliteacutes ergonomiques de linterface Canopsis et lesbesoins dajustement des KPI au moment de leur eacutelaboration

432 Construction dindicateurs dans CanopsisLes moteurs Canopsis autorisent le calcul de leacutetat global dune seacuterie deacuteveacutenements

La technique consiste agrave assembler des eacuteveacutenements en un indicateur composite et agrave affec-ter agrave ce dernier leacutetat calculeacute de lensemble de ces sous-eacutetats On peut par exemple appli-quer agrave lensemble de ces composants lalgorithme worst state lensemble des compo-sants est deacutefaillant degraves lors quun de ses sous-composants lest On peut eacutegalement creacuteerdes liaisons logiques de toutes piegraveces comme avec le widget topology dont on observera unexemple plus loin Le widget wheather permet quant agrave lui de preacutesenter de faccedilon simpli-fieacutee leacutetat dun groupe logique de composants

Tous les indicateurs de performances reccedilus dans Canopsis peuvent ecirctre transformeacutespar le moteur de laquo consolidation raquo Canopsis y distingue la notion dagreacutegation et cellede consolidation la premiegravere concerne lintervalle de temps durant lequel un moteurCanopsis va utiliser les donneacutees reacutecolteacutees La consolidation concerne le type dopeacuterationque le moteur va mettre en œuvre sur lensemble des donneacutees reacutecolteacutees durant linter-valle dagreacutegation Il sagit dopeacuterations arithmeacutetiques simples maximum minimummoyenne diffeacuterence etc Les possibiliteacutes de raffinement sont moindres que dans Shinkenmais possegravedent lavantage de pouvoir ecirctre lisibles par nimporte quel utilisateur

4321 Selectors et SLALes seacutelecteurs Canopsis (Selectors) deacutesignent un meacuteta-objet qui restitue leacutetat glo-

bal dun lot dautres objets Il sagit de deacuteterminer un meacuteta-eacutetat - soit un eacutetat deacutetat - agravepartir dune seacuterie de reacutesultats de tests Le calcul deacutetat se fait simplement agrave laide duneboicircte de dialogue (Illustration 410) Les moteurs Canopsis eacutevoqueacutes plus haut sont en-suite en mesure de produire des calculs deacutetats agrave partir de ces seacutelecteurs

Page 117

Illustration 49 Canopsis - vue laquo consolidation raquo

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Le SLA associeacute peut ecirctre calculeacute automatiquement par exemple en veacuterifiant la pro-portion de temps durant laquelle le selector a eacuteteacute en eacutetat valide (OK) sur une peacuteriodeCette recomposition permet de simplifier leacutevaluation de leacutetat de composants complexeset de leur associer un SLA sans ecirctre contraint par larticulation des sondes techniquesavec des hocirctes et des services La possibiliteacute offerte par la logique Nagios de dissocier lesobjets permet de pointer des sous-ensembles dun hocircte ou dassembler des reacutesultats detest provenant de divers hocirctes agrave la voleacutee La seacutelection du lot deacuteleacutements se fait aussi agravelaide dune boite de dialogue que lon retrouve dans lIllustration 411

Page 118

Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis

Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois construits les SLA sont accessibles et modifiables agrave partir de linterfacedadministration Canopsis Cest ce que repreacutesente lIllustration 412

Les SLA sobtiennent donc agrave partir dun calcul interne agrave Canopsis Il est ensuitepossible de valoriser ces indicateurs au travers dune vue cest ce que lon retrouve danslIllustration 413

Le calcul des SLA se paramegravetre donc exclusivement via linterface graphique Mal-greacute les faciliteacutes que cela procure les possibiliteacutes daffiner les seacutelecteurs demeurent limi-teacutees agrave la structuration des messages envoyeacutes agrave Canopsis Cest ainsi quune inversion desvaleurs des composants et ressources65 dans le module Canopsis de Shinken a compromisla base de donneacutees MongoDB de Canopsis durant les phases de reacutecolte des donneacutees Uneautre difficulteacute tient agrave limpossibiliteacute dutiliser des conditions logiques semblables agrave cellesque lon retrouve dans le moteur topology

65 httpsgithubcomshinken-monitoringmod-canopsisissues4

Page 119

Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

Une fois que lexeacutecution des sondes Shinken est tempeacutereacutee par les horaires de travaille rendu des SLA teacutemoigne de la disponibiliteacute dun ou plusieurs composants sur une peacute-riode de temps donneacutee Le calcul de SLA constitue une analyse agrave posteriori et sa valeurne prend sens que sur la dureacutee On peut toutefois utiliser directement les valeurs des seacute -lecteurs pour sapprocher au plus pregraves de leacutetat actuel du systegraveme Cest typiquement ceque lon fait avec les widgets de type weather en construisant un indicateur complexe va-lide sur des peacuteriodes de temps plus courtes

Page 120

Illustration 413 repreacutesentation de SLA dans Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4322 Repreacutesentation graphique dun seacutelecteurLa mise en place dun seacutelecteur renvoie donc un meacuteta-eacutetat Ce dernier au mecircme

titre quune sonde Nagios est assorti de quatre valeurs possibles OK (0) Warning (1)Critical (2) et Unknown (3) Linteacuterecirct principal des seacutelecteurs est de syntheacutetiser leacutetatdarchitectures complexes Graphiquement on peut utiliser le widget Weather qui sug-gegravere le reacutesultat agrave laide dune iconographie meacuteteacuteorologique

Linteacuterecirct de ce type de widget est de syntheacutetiser les informations de supervision entemps reacuteel En ce sens ils sont davantage adapteacutes aux utilisateurs profanes soucieux deconnaicirctre leacutetat actuel des services que procure le SI Le cas eacutecheacuteant il est possible dad-joindre un lien vers une vue technique plus deacutetailleacutee En dissociant la repreacutesentation desopeacuterations dagreacutegation et de calcul on masque la complexiteacute sous-jacente de linfra-structure du SI mais en contrepartie on facilite sa visibiliteacute

Page 121

Illustration 414 exemple dutilisation du widgetWeather

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

4323 TopologyLe widget topology permet deacutetablir un meacuteta-eacutetat agrave partir du chaicircnage logique dun

ensemble de composants On cherche par exemple agrave eacutevaluer le fonctionnement du DNSpour lensemble du SI sachant que ce dernier est organiseacute de faccedilon speacutecifique Ce casdespegravece se preacutesente de la faccedilon suivante trois controcircleurs de domaine assurent la reacuteso-lution de nom dans le LAN Lorsquune requecircte doit ecirctre adresseacutee agrave un DNS externeelle transite par le firewall qui nautorise que deux DNS externes Le firewall proposedonc un service DNS dont on ne peut se passer pour la reacutesolution externe LinterfaceCanopsis permet de restituer un indicateur capable de dire si le service DNS est entiegravere-ment opeacuterationnel Il faut pour cela

eacutetablir ce agrave quoi correspond la notion de disponibiliteacute de DNS nous nous ap-puyons pour cela sur des tests issus de Shinken veacuterifiant le temps de reacuteponsedune requecircte DNS Dans le cas des serveurs Active Directory on adjoint un testWMI

que lun des trois DNS internes soit disponible

que le service DNS du firewall soit disponible

que lun des deux DNS externes autoriseacutes soit disponible

On traduit cette suite de conditions sous forme graphique cest ce que montrelIllustration 415 Une fois la topologie construite Canopsis calcule leacutetat global du ser-vice DNS en indiquant eacuteventuellement leacuteleacutement deacutefaillant (voir lIllustration 416)

Page 122

Illustration 415 exemple de construction dune topologie Canopsis

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

De cette faccedilon il est possible dassocier hocirctes reacutesultats de tests seacutelecteurs ou to-pologies Canopsis dans un mecircme graphique Selon les conditions speacutecifieacutees dans unnœud (and or cluster worst) leacutetat (OK Warning Critical) se reacutepercute sur ses pa-rents

Page 123

Illustration 416 rendu graphique du widget topology

Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widget topology

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

44 Eacutevolutions preacutevuesLes vues ont eacuteteacute organiseacutees en fonction des diffeacuterentes entiteacutes identifieacutees lors de

lanalyse stockage reacuteseau virtualisation plates-formes systegravemes applications etc Desextraits de ces vues figurent en annexe de ce meacutemoire dans la partie 69

Linfrastructure Shinken mise en œuvre agrave GBH deacutenombre 83 hocirctes et plus de1400 services Bien que quelques hocirctes ne soient pas encore inteacutegreacutes dans les processusde supervision cette charge repreacutesente un faible volume au vu des capaciteacutes theacuteoriquesde Shinken Reacutetrospectivement la veacuteritable difficulteacute a sans doute eacuteteacute dajuster les inter-valles entre les diffeacuterents checks pour eacuteviter toute surcharge systegraveme tout en autorisantun niveau de preacutecision suffisamment eacuteleveacute sur la collecte de certaines mesures (reacuteseauES disques par exemple)

La totaliteacute des reacutesultats des tests Shinken est transfeacutereacutee au serveur Canopsis ougravelon compte une trentaine de vues exploitables Les seacutelecteurs peuvent regrouper unecentaine de tests chacun et sont eacutegalement deacuteclineacutes sous forme de topologie de faccedilon agraveexpliciter les modaliteacutes deacutevaluation Il reste neacuteanmoins un certain nombre de vues agraveaffiner ou agrave creacuteer

Actuellement les possibiliteacutes de mise agrave disposition des vues Canopsis par exportou par laccegraves web remportent assez peu de succegraves aupregraves des utilisateurs Cet eacutetat defait sexplique par le caractegravere expeacuterimental du projet Linteacuterecirct pour ce type de travailsil semble eacutevident pour un service informatique demeure beaucoup plus obscur pour lesutilisateurs et les deacutecideurs Non quil sagisse dun eacutechec mais il semble que la diffusiondes informations et la sensibilisation des utilisateurs consistent en un besoin dorganisa-tion agrave part entiegravere Le projet a montreacute dun cocircteacute la faisabiliteacute et les limites des solutionsde supervision et dhypervision et de lautre la neacutecessiteacute dimpliquer davantage les utili-sateurs dans leacutevaluation du systegraveme dinformation

Si la mise en place des plates-formes est stabiliseacutee il reste neacuteanmoins quelques eacutevo-lutions agrave preacutevoir

les premiegraveres sont inheacuterentes agrave leacutevolution des projets Shinken et Canopsis dont ledeacuteveloppement est particuliegraverement actif La derniegravere version laquo stable raquo de Ca-nopsis date toutefois de deacutecembre 2013 et les versions dites laquo de deacuteveloppement raquomalgreacute quelques tests demeurent difficilement utilisables dans un environnementde production Un certain nombre dameacuteliorations sont attendues sur la prochaineversion stable elles portent notamment sur linterface graphique la documenta-tion et les faciliteacutes de gestion de la base MongoDB Shinken quant agrave lui en estactuellement agrave sa version 203 Le deacuteveloppement des packs et des modules estdissocieacute du deacutepocirct git de Shinken mais teacutemoigne eacutegalement dun deacuteveloppement

Page 124

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

actif66 Cette activiteacute neacutecessite une veille et la preacutevision de mises agrave niveau

les secondes eacutevolutions portent sur des adaptations propres au SI de GBH si lescommunauteacutes sont actives il reste rare que les codes source existent ou soientparfaitement adapteacutes Ainsi un certain nombre de sondes neacutecessitent des correc-tions ou ameacuteliorations Du cocircteacute des sondes techniques les quelques veacuteritablesdifficulteacutes identifieacutees sont tregraves souvent lieacutees agrave la preacutesence de licences logicielles em-pecircchant lautomatisation Il sagit notamment de

lacquisition des donneacutees de performance des SANS EMC VNX5100 seulun client graphique sous licence peut y acceacuteder

laccegraves aux informations des serveurs Citrix le service SNMP est soumis agraveune licence dont on ne dispose pas

laccegraves aux MIB des copieurs Canon qui oblige agrave une interpreacutetation limiteacuteedes OIDs SNMP

laccegraves aux informations de transfert de lEDI use it flow67 lagrave encore soumisagrave licence

laccegraves aux moteurs dimpression de lERP Aravis dont le code est inacces-sible

Bien que des solutions de contournement68 soient parfois envisageables elles de-meurent rarement satisfaisantes

Du cocircteacute des sondes comportementales les tests meneacutes agrave laide de Sikuli demeurentdifficiles agrave stabiliser du fait de perturbations entravant le proceacutedeacute de reconnaissance op-tique Hormis en deacutediant une station de travail agrave lusage de ce type de tests aucune so-lution nest envisageable aujourdhui Par ailleurs si la difficulteacute de piloter les tests agravedistance a eacuteteacute surmonteacutee il reste agrave affiner et agrave varier les sceacutenarios de tests En certainscas lutilisation de Sikuli peut ecirctre envisageacutee comme un moyen de contournement desdifficulteacutes preacuteciteacutees tout en gardant agrave lesprit que le proceacutedeacute reste fragile un mauvaisordonnancement de tests comportementaux interfegravere avec le bon deacuteroulement de ceux-ciEn ce qui concerne ces tests EUE il reste donc un travail agrave mener avec les servicesconcerneacutes pour mieux eacutevaluer la pertinence des sceacutenarios de tests et en eacutelaborer de nou-veaux Agrave ce niveau il pourrait ecirctre pertinent dutiliser des outils tels que Cucum-ber[122] qui introduit la possibiliteacute dutiliser un langage naturel[123] pour leacutelaboration

66 Voir notamment httpsgithubcomnaparubashinkengraphs67 httpwwwprologuefrpagesflux-habitat-social68 Il est toujours envisageable dautomatiser des proceacutedeacutes pour reacutecupeacuterer des informations Sikuli en est

un exemple Pour Citrix on parvient toutefois agrave obtenir quelques information sur le taux dutilisationdes licences par le protocole WMI Le risque dalourdir la complexiteacute programmatique et la latence dessondes demeure neacuteanmoins important

Page 125

Modaliteacutes de mise en œuvre - adaptations au SI de GBH

de sceacutenarios comportementaux Cette pratique est dailleurs encourageacutee par la meacutethodeBehiavour Driven Development qui encourage la collaboration entre les techniciens et lesutilisateurs[124]

Par ailleurs lorsque cela est techniquement et leacutegalement possible il serait envisa-geable dameacuteliorer le suivi de certains processus meacutetier non pas en simulant un compor-tement mais en introduisant des sondes de faccedilon intrusive au sein mecircme des pro-grammes Il sagit dune des techniques reacutepertorieacutees par le modegravele APM (voir lIllustra-tion 216) Agrave titre dexemple des sondes ont eacuteteacute introduites dans les scripts de transfertsautomatiseacutes entre lERP Aravis et une plate-forme distante imhoweb qui gegravere le proces-sus dattribution des demandes de logement social Cest ce que montre lIllustration418

On pourrait eacutegalement envisager deacutetendre lusage des donneacutees reacutecolteacutees agrave lameacutelio-ration du calcul de tendances Actuellement Canopsis sait geacuteneacuterer des courbes de ten-dances (trend) mais uniquement en appliquant des reacutegressions lineacuteaires simples Le pro-ceacutedeacute est donc totalement inefficient par exemple dans le cas de seacuteries temporelles faisantapparaicirctre des saisonnaliteacutes Pour y remeacutedier il faudrait sans doute mettre en œuvredautres outils speacutecialiseacutes dans lanalyse statistique comme R69 Pour autant ce type detraitement relegraveve davantage de calculs statistiques et reste deacutelicat agrave inteacutegrer70

69 laquo R raquo est un langage de traitement de donneacutees et danalyse statistique httpwwwr-projectorg70 Sur de plus anciennes versions de Shinken lexpeacuterience dun module deacutedieacute au calcul de tendances per-

mettait de lancer des calculs de courbes de tendance agrave intervalles reacuteguliers Il reste tregraves peu documen-teacute sans doute en raison des difficulteacutes agrave geacuteneacuteraliser et agrave automatiser ce type de traitement

Page 126

Illustration 418 graphique produit agrave partir de sondes applicatives intrusives

Conclusion

5ConclusionLors de la mise en place de ce projet nous avons dabord travailleacute sur une ap-

proche analytique du SI La librairie ITIL fournit agrave ce niveau un premier ensemble dedeacutefinitions geacuteneacuteriques qui rappellent le lien entre lactiviteacute du SI et celle de lorganisa-tion Partant de cette ideacutee dalignement strateacutegique lanalyse des fonctions du SI met agravejour deux notions importantes

- dun cocircteacute le SI deacutetient des objectifs fonctionnels qui lui sont propres seacutecuriteacutedes accegraves sauvegarde des donneacutees performance des applications inteacutegration des solu-tions etc Ces axes sont notamment deacutecrits par le modegravele ITIL

- dun autre cocircteacute le SI doit satisfaire aux besoins de lorganisation et veacuterifier queles services quil fournit sont en adeacutequation avec lactiviteacute de cette derniegravere

Cette double contrainte explique que lon distingue

un aspect opeacuteratoire qui est typiquement destineacute agrave lusage des gestionnaires duSI La solution Shinken correspond davantage agrave cet usage

un aspect plus analytique qui correspondrait davantage agrave des tableaux de bord deacute-cisionnels Canopsis prend en charge cet aspect en induisant des analyses agrave poste-riori eacuteventuellement deacutesynchroniseacutees de lactiviteacute de production en temps reacuteel Agravece niveau on tente de rendre visible le SI et de mesurer son alignement strateacute-gique Cest ce que lon fait avec les tests comportementaux les KPI et SLA

Ces exigences sont largement motiveacutees par les preacuteconisations ITIL Celles-ci rap-pellent que lactiviteacute dun service informatique ne se construit pas ex-nihilo mais consti-tue bien une reacuteponse adapteacutee agrave un besoin La supervision ainsi mise en place sorienteautour de quatre notions disponibiliteacute accessibiliteacute performance et conformiteacute De fa-ccedilon tregraves syntheacutetique on a pu observer ces trois points

les SLA sont fondeacutes sur lideacutee dun contrat qui positionne le SI comme un fournis-seur Ils donnent une indication de disponibiliteacute

les sondes techniques procurent des indications de performance ou veacuterifient lac-cessibiliteacute dun service agrave un moment donneacute

les tests comportementaux quand agrave eux eacutevaluent la conformiteacute du service en re-produisant des sceacutenarios

Les plates-formes de supervision et dhypervision agissent en compleacutementariteacute dans lob-jectif de restituer lactiviteacute du SI agrave la fois pour ses gestionnaires et pour les utilisateurs

Page 127

Conclusion

En pratique la plate-forme Shinken sest reacuteveacuteleacutee particuliegraverement efficace dans ledomaine de la deacutetection dincidents et dans celui des diagnostics les coupures eacutelec-triques et les deacutefaillances dun composant logiciel sont correctement deacutetecteacutees et remon-teacutees Canopsis a permis de restituer de faccedilon syntheacutetique les informations remonteacuteesvoire mecircme drsquoagreacuteger dautres informations comme les journaux Syslog certaines sondesapplicatives ou bien des traps SNMP

Ainsi que nous lavons observeacute le concept dhypervision tel que Canopsis le deacutefinitvise agrave unifier diffeacuterentes techniques de supervision en transposant les notions deacuteveacutene-ments de donneacutees de performance de composants et de ressources en des concepts en-globants suffisamment vagues pour sadapter agrave diffeacuterents contextes

Au-delagrave des diffeacuterentes possibiliteacutes graphiques et estheacutetiques offertes par Canopsisil a sembleacute pertinent deacutetendre le champ daction de la supervision agrave celui de lhypervi-sion pour deux raisons

dune part le champ de la supervision bien quil puisse seacutetendre agrave souhait estcontraint par une exigence opeacuterationnelle immeacutediate La seacutelection des informa-tions pertinentes neacutecessite une analyse preacutealable mais eacutegalement un examen agraveposteriori par exemple pour veacuterifier la pertinence et la preacutecision des sondes misesen œuvre Concregravetement la veacuterification systeacutematique de tous les journaux sys-tegraveme par lintermeacutediaire de sondes geacutenegravere davantage de bruit que deacuteleacutements dediagnostic pertinents En insistant sur les repreacutesentations graphiques et leur seacute-mantique Canopsis œuvre davantage comme un outil de restitution et danalysecompleacutementaire agrave Shinken

dautre part Canopsis permet de surcharger le modegravele de supervision Nagios dontheacuterite Shinken Or ce modegravele est particuliegraverement marqueacute par le point de vue desgestionnaires de linfrastructure on y eacutenumegravere des hocirctes doteacutes de services quelon regroupe eacuteventuellement en services groups ou hosts groups mais sansqueacutemerge la finaliteacute de linfrastructure Cet eacutetat de fait qui est eacutegalement un heacute-ritage teacutemoigne dune lacune dans cette approche lutilisateur ny est pas eacutevo-queacute et linfrastructure semble exister pour elle-mecircme Les business rules de Shin-ken permettent de surpasser cette lacune et rappellent agrave linstar dITIL que lob-jectif de linfrastructure consiste bien en la satisfaction de ses utilisateurs finauxCanopsis met en exergue cet aspect en favorisant dun cocircteacute un reacute-assemblage desdeacutependances - par exemple avec les topologies - et de lautre en permettant leacutela-boration interactive dindicateurs agreacutegeacutes

Ce passage de la supervision agrave lhypervision est inteacuteressant agrave plusieurs eacutegards

il rappelle que le SI nest pas uniquement un lot de composants techniques cestune construction dont on peut eacutevaluer lefficaciteacute en confrontant loutil agrave ses

Page 128

Conclusion

usages notamment en sappuyant sur des tests comportementaux et en accompa-gnant les reacutesultats dune restitution graphique Nimporte quel utilisateur peutacceacuteder agrave des informations de supervision dont deacutepend son activiteacute mails accegravesinternet plates-formes externes liaisons internes La question de la seacutemantiquedes repreacutesentations nen est pas pour autant reacutesolue

par ailleurs il met en avant le fait que la supervision strictement technique noffrequune vision limitative du SI la transformation dindicateurs et leur rendu gra-phique doivent reacutepondre agrave des exigences de lisibiliteacute pour ecirctre accessibles aux usa-gers En fin de compte cela suggegravere que leacutevaluation de ladaptation du SI auxbesoins de lactiviteacute meacutetier pourrait eacutegalement ecirctre envisageacutee de faccedilon active parses utilisateurs Cette exigence de lisibiliteacute ne vise pas lexhaustiviteacute du SI maischerche davantage agrave valoriser linteraction entre le SI et les utilisateurs

enfin leacutevaluation dun SI ne consiste pas uniquement en celle de son activiteacute opeacute-ratoire immeacutediate Elle participe agrave organiser et agrave preacutevoir son eacutevolution Agrave titredexemple lacquisition dun nouveau SAN fibre optique au cours de lanneacutee 2014repose sur lanalyse des donneacutees de supervision espace occupeacute reacutepartition deIO taux de lecture sont obtenus gracircce agrave lhistorisation de donneacutees de supervisionet aux projections que lon en deacuteduit

Si le SI est construit comme un ensemble coheacuterent de composants les repreacutesenta-tions que lon obtient ne procegravedent pas systeacutematiquement des mecircmes points de vue Ceciexplique que sa seacutemantique varie selon que lon se place du point de vue de lutilisateurou de celui de linfrastructure Ainsi quon a pu le remarquer les gestionnaires du SIpossegravedent leurs propres objectifs fonctionnels Non quil sopposent agrave ceux de lorganisa-tion mais leurs points communs demeurent parfois difficiles agrave repreacutesenter Certains pro-duits valorisent en effet tregraves exclusivement les techniques dites dAPM[54] sans doute audeacutetriment du point de vue des gestionnaires du SI Pour eacuteviter cette tentation antago-nique certaines meacutethodes comme celles reposant sur le langage naturel[124] [123]peuvent constituer des pistes de reacuteflexion pertinentes Si cela teacutemoigne dune intentionde (reacute-)conciliation des deux points de vue les effets nen sont pas flagrants Cela sex-plique par deux raisons

dune part les questions de supervision ont eacuteteacute historiquement le fait de techni-ciens qui ont avant tout valoriseacute le point de vue de linfrastructure Bien que deacute-notant une certaine efficaciteacute cette approche contribue agrave valoriser la complexiteacutetechnique du systegraveme et deacuteteacuteriore conseacutequemment sa lisibiliteacute pour les profanes

dautre part de cette mecircme complexiteacute eacutemane une forme de deacuteni[125] dont leseffets tendent agrave reacuteduire le SI agrave une laquo boicircte noire raquo Or ainsi que nous avons pu leconstater en mettant en place une infrastructure de supervision la reacuteelle probleacute-

Page 129

Conclusion

matique de la visibiliteacute du SI consiste bien agrave regrouper une multitude de points devue Cest cette complexiteacute caracteacuteriseacutee par limpossibiliteacute pour un individu deconcevoir seul une vision globale et exhaustive du systegraveme[126] que lon rencontreen tentant deacutetablir un modegravele uniforme du SI en vue de le superviser

Dans le fond la mise en œuvre dun systegraveme de supervision ne renvoie pas agrave uneimpossibiliteacute technique mais questionne les modaliteacutes de repreacutesentation du SI Parexemple le modegravele Nagios sappuie sur une repreacutesentation arborescente du SI Or cemode de repreacutesentation na de sens que lorsque lon est en mesure de comprendre lesmultiples liens dinterdeacutependances entre les objets techniques superviseacutes Canopsis per-met dans une certaine mesure disoler des repreacutesentations de points de vue diffeacuterents etdeacutetablir un compromis Les modegraveles comme CIM ne prennent sens que lorsque le SI esthomogegravene limpleacutementation Microsoft WMI ne peut ecirctre utiliseacutee que pour les produitsMicrosoft Or confronteacutees agrave un SI heacuteteacuterogegravene ces repreacutesentations ne peuvent pas sap-pliquer dembleacutee Cest bien ce qui nous a ameneacutes agrave la recherche dun compromis autanten termes deacutevaluation technique que de repreacutesentation

Dans la pratique lassemblage de Canopsis et de Shinken permet effectivementdameacuteliorer la gestion du SI En ce sens cet objectif est atteint Malgreacute tout la questionde la visibiliteacute du SI reste en suspens bien que techniquement reacutealisable la repreacutesenta-tion du SI reste deacutelicate agrave eacutetablir dembleacutee - ou du moins agrave eacutetablir sans le concours deses usagers Sil semble eacutevident que les repreacutesentations concreacutetiseacutees par des vues Canop-sis devraient ecirctre eacutelaboreacutees en concertation avec les utilisateurs ce nest pas encore lecas En tout eacutetat de cause un travail reste agrave faire agrave ce niveau

Apregraves une dizaine de mois en production il convient de noter que larchitecturemise en place deacutemontre des qualiteacutes dadaptation et de stabiliteacute remarquables Siquelques fragiliteacutes ont eacuteteacute releveacutees le dynamisme des communauteacutes de deacuteveloppeurs au-tour de ces projets laisse supposer des eacutevolutions prometteuses

Au final ce travail a eu des vertus structurantes sur le SI le recensement des eacuteleacute-ments de lrsquoarchitecture leacutevaluation des performances laide au diagnostic sont desconseacutequences directes du processus de supervision De faccedilon beaucoup moins eacutevidentece projet a tregraves largement favoriseacute une prise de recul sur les pratiques et le rocircle du ser-vice informatique au sein de lorganisation

En ce sens on peut dire pour conclure que la supervision ne se limite pas aux no-tions de controcircle et de surveillance Elle questionne eacutegalement le rocircle du systegraveme dinfor-mation La supervision peut certes ecirctre encadreacutee par des meacutethodologies des normes etdes preacuteconisations les Service Oriented Architectures ITIL le Business process mana-gement ou encore le Business Motivation Model en sont quelques exemples Ces ap-proches tendent toutefois agrave ideacutealiser le systegraveme dinformation en archeacutetype de la rationa-

Page 130

Conclusion

liteacute organisationnelle Lexpeacuterience de la supervision telle quelle a pu ecirctre meneacutee ausein de GBH montre toutefois que cette rationaliteacute ne constitue quun point de vue par-cellaire Si lobjectif affirmeacute de lorganisation porte effectivement sur une motivationdordre commercial et sappuie sur des processus rationnels son fonctionnement effectifrepose eacutegalement sur des comportements humains dont les motivations peuvent diverger

Ce que montre le projet de supervision agrave GBH cest quun point de vue meacutetho-dique et rationnel ne suffit pas agrave exprimer la complexiteacute du SI Il constitue une aide etpermet disoler un dysfonctionnement pour autant que des regravegles aient deacutefini ce queconstitue la normaliteacute par exemple une latence ne peut ecirctre consideacutereacutee comme exces-sive quagrave partir du moment ougrave des seuils ont eacuteteacute deacutefinis Lideacutee est donc bien de se repo-ser sur un systegraveme de regravegles Pour autant on ne peut pas eacuteliminer des zones dincerti-tudes ougrave sexpriment des deacutefaillances dans le systegraveme de regravegles de lorganisation[6] Ence sens certains modegraveles peuvent paraicirctre inadapteacutes tant ils preacutesupposent lorganisationcomme un construit rationnel Agrave contrario on pourrait imaginer que la supervision duSI ne senvisage pas uniquement comme le calcul dun eacutecart agrave une norme mais eacutegale-ment comme un moyen de mettre en eacutevidence ces zones dincertitudes Ainsi quon a pule constater il demeure difficile deacutetablir de faccedilon systeacutematique les contours du SI Onpourrait supposer que cette difficulteacute soit lieacutee aux limites de ce que les normes modegraveleset preacuteconisations admettent comme relevant du champ du systegraveme informatique Lestests EUE preacutesupposent des comportements rationnels et par lagrave mecircme ne permettentpas dexpliquer un ressenti ou comportement dutilisateur qui eacutechapperait agrave cette ratio-naliteacute Agrave ce niveau un questionnement se rapportant davantage agrave une optique socio-or-ganisationnelle pourrait constituer un compleacutement pertinent agrave la supervision du SI

Page 131

Annexes

6AnnexesTable des annexes6Annexes133

61Organigramme fonctionnel de Grand Besanccedilon Habitat13462Couverture applicative reacutepartition des accegraves13563Scheacutema de larchitecture DMZ13664Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)13765Scheacutema reacuteseau GBH (2014)13866Processus dinteacutegration dun eacuteleacutement agrave superviser13967LIDE Sikuli14068Synopsis SNMPTT14169Exemples de vues Canopsis142

Page 133

61 Organigramme fonctionnel de Grand Besanccedilon Habitat

Page 134

62 Couverture applicative reacutepartition des accegraves

Page 135Page 1

Annexes

63 Scheacutema de larchitecture DMZ

Page 136

Annexes

64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)

Page 137

Annexes

65 Scheacutema reacuteseau GBH (2014)

Page 138

Annexes

66 Processus dinteacutegration dun eacuteleacutement agrave superviser

Page 139

Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision

Annexes

67 LIDE Sikuli

Page 140

Illustration 62 vue de lIDE Sikuli

Illustration 63 scheacutema des API Sikuli [128]

Annexes

68 Synopsis SNMPTT

Page 141

Illustration 64 synopsis du daemon SNMPTT

69 Exemples de vues Canopsis

Page 142

Illustration 65 rendu de sceacutenarios de tests comportementaux

Page 143

Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo

Page 144

Illustration 67 vue Canopsis de lapplication Aravis

Page 145

Illustration 68 vue Canopsis - synthegravese de leacutetat des applications

Page 146

Illustration 69 vue Canopsis - synthegravese des liens reacuteseau

Bibliographie

7Bibliographie[1] I Missaoui laquo Cahier de recherche ndeg 5 Valeur et performance des SI raquo [En ligne] Disponible sur

httpwwwcigreffrcigref_publicationsRapportsContainerParus2009Valeur_et_performance_des_SI_CI-GREF_2009pdf

[2] P Bourdieu Esquisse drsquoune theacuteorie de la pratique preacuteceacutedeacute de trois eacutetudes drsquoethnologie kabyle Paris Seuil 2000

[3] R de Courcy laquo Les systegravemes drsquoinformation en reacuteadaptation raquo Reacuteseau Int CIDIH Facteurs Environnementauxvol 1-2 no 5 p 7-10 1992

[4] P Rabardel Les hommes et les technologies Une approche cognitive des instruments contemporains Armand-Collin Paris 1995

[5] D Vinck Sociologie des sciences Paris A Colin 1995[6] M Crozier et E Friedberg Lrsquoacteur et le systegraveme les contraintes de lrsquoaction collective Paris Editions du

Seuil 1977[7] D Autissier et V Delaye Mesurer la performance du systegraveme drsquoinformation Paris Eyrolles 2008[8] C Gauzente laquo MESURE DE LA PERFORMANCE GLOBALE DES Mesurer la performance des entreprises en

lrsquoabsence drsquoindicateurs objectifs quelle validiteacute Analyse de la pertinence de certains indicateurs raquo [En ligne]Disponible sur httplegu-bourgognefrrev032165PDF

[9] laquo Systegraveme mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSystC3A8me [Consulteacutele 09-mars-2014]

[10] laquo Application performance management - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiApplication_performance_management [Consulteacute le 20-aoucirct-2014]

[11] laquo La demande de logement locatif social raquo [En ligne] Disponible sur httpwwwdoubsgouvfrPolitiques-publiquesAmenagement-du-territoire-Construction-Logement-et-TransportsPolitique-du-logementLa-ges-tion-sociale-du-logementLa-demande-de-logement-locatif-social [Consulteacute le 31-aoucirct-2014]

[12] laquo Single Euro Payments Area mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiSingle_Euro_Payments_Area [Consulteacute le 31-aoucirct-2014]

[13] P Delbrayelle laquo Fonctions ITIL et informatique en nuage raquo ITIL France [En ligne] Disponible sur httpwwwitilfrancecompagesdocshgelunpratique_fonctions_nuagepdf [Consulteacute le 03-avr-2014]

[14] P Delabrayelle laquo ITIL France raquo Le site francophone et gratuit sur lrsquoITSM [En ligne] Disponible sur httpwwwitilfrancecom [Consulteacute le 07-avr-2014]

[15] Great Britain et Office of Government Commerce ITIL service design Norwich TSO the Stationery Office 2011

[16] laquo ITIL - Capacity_Management raquo itil Library [En ligne] Disponible sur httpwwwitlibraryorgindexphppage=Capacity_Management [Consulteacute le 08-avr-2014]

[17] R A Steinberg C Rudd S Lacy et A Hanna ITIL service operation London TSO 2011[18] P Delbrayelle laquo ITIL V3 Ameacutelioration continue des services raquo Itil France [En ligne] Disponible sur

httpwwwitilfrancecompagesdocshgelunitilv3_ameliorationpdf [Consulteacute le 13-avr-2014][19] laquo Urbanisation (informatique) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiUrbani-

sation_(informatique)Exemple_de_rC3A8gles_de_dC3A9coupage_du_SI [Consulteacute le 14-avr-2014][20] laquo XenServer - Tech Info - Citrix raquo [En ligne] Disponible sur httpwwwcitrixfrproductsxenservertech-in-

fohtml [Consulteacute le 17-juin-2014][21] laquo Virtualisation des serveurs - Fonctionnaliteacutes de VMware vSphere | VMware France raquo [En ligne] Disponible

Page 148

Bibliographie

sur httpwwwvmwarecomfrproductsvspherefeatureshtml [Consulteacute le 27-deacutec-2013][22] laquo IBM Chacircssis BladeCenter H - France raquo 05-juin-2013 [En ligne] Disponible sur httpwww-

03ibmcomsystemsfrbladecenterhardwarechassisbladeh [Consulteacute le 31-aoucirct-2014][23] C Chaubal laquo The architecture of VMWare ESXi raquo [En ligne] Disponible sur

httpwwwvmwarecomfilespdfESXi_architecturepdf [Consulteacute le 27-deacutec-2013][24] laquo Citrix XenServer - Logiciel de virtualisation de serveurs efficace - Citrix raquo [En ligne] Disponible sur

httpswwwcitrixfrproductsxenserveroverviewhtml [Consulteacute le 04-janv-2014][25] laquo Zone deacutemilitariseacutee (informatique) raquo Wikipeacutedia 02-avr-2014[26] laquo IOS (Cisco) mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiIOS_(Cisco) [Consulteacute

le 17-juin-2014][27] laquo The NetBSD Project raquo [En ligne] Disponible sur httpwwwnetbsdorg [Consulteacute le 17-juin-2014][28] GIGREF laquo LrsquoAlignement strateacutegique du systegraveme drsquoinformation Comment faire du systegraveme drsquoinformation un

atout pour lrsquoentreprise raquo 2002 [En ligne] Disponible sur httpcigreftypepadfrcigref_publicationsRap-portsContainerParus20022002_-_Alignement_strategique_du_systeme_d_information_webpdf [Consulteacute le 20-avr-2014]

[29] G Pujolle et O Salvatori Les reacuteseaux eacutedition 2003 Paris Eyrolles 2002[30] laquo ASN1 - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiASN1 [Consulteacute le 31-aoucirct-

2013][31] laquo Introduction to ASN1 raquo [En ligne] Disponible sur httpwwwituintITU-Tasn1introductionin-

dexhtm [Consulteacute le 31-aoucirct-2013][32] laquo Manpage of SNMPWALK raquo [En ligne] Disponible sur httpwwwnet-snmporgdocsmansnmp-

walkhtml [Consulteacute le 05-mai-2014][33] laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 05-mai-

2014][34] laquo NetSNMP - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~dtownNet-SNMP-

v601libNetSNMPpm [Consulteacute le 05-mai-2014][35] P Perez laquo SNMP avanceacute raquo Lrsquoeacuteleacutement commun CMISE le service CMIS et le protocole CMIP [En ligne]

Disponible sur httpwwwdocstoccomdocs110273701D96-SNMP [Consulteacute le 26-avr-2014][36] laquo Web-Based Enterprise Management raquo Wikipeacutedia 19-aoucirct-2013[37] laquo WBEM (Web-Based Enterprise Management) raquo [38] laquo CIM | DMTF raquo [En ligne] Disponible sur httpdmtforgstandardscim [Consulteacute le 01-sept-2013][39] laquo Common Information Model raquo Wikipeacutedia 31-aoucirct-2013[40] laquo Vue drsquoensemble du fournisseur WMI SNMP raquo [En ligne] Disponible sur httptechnetmicrosoftcomfr-

frlibrarycc770487aspx [Consulteacute le 01-sept-2013][41] laquo WMI and SQL (Windows) raquo [En ligne] Disponible sur httpmsdnmicrosoftcomen-

uslibraryaa394552(v=vs85)aspx [Consulteacute le 06-mai-2014][42] laquo Check WMI Plus raquo [En ligne] Disponible sur httpwwwedcintconzcheckwmiplus [Consulteacute le 06-

mai-2014][43] laquo Storage Management Initiative - Specification - Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipe-

diaorgwikiStorage_Management_Initiative_-_Specification [Consulteacute le 01-sept-2013][44] laquo ISOIEC 247752011 - Information technology -- Storage management raquo [En ligne] Disponible sur

httpwwwisoorgisoiso_cataloguecatalogue_tccatalogue_detailhtmcsnumber=55234 [Consulteacute le 07-mai-2014]

[45] laquo watir (Watir) middot GitHub raquo [En ligne] Disponible sur httpsgithubcomwatir [Consulteacute le 26-nov-2013][46] laquo Selenium - Web Browser Automation raquo [En ligne] Disponible sur httpdocsseleniumhqorg [Consulteacute

Page 149

Bibliographie

le 31-mai-2014][47] laquo WebInject - (HTTP) Web Application and Web Services Test Tool raquo [En ligne] Disponible sur

httpwwwwebinjectorg [Consulteacute le 31-mai-2014][48] laquo WWWMechanize - searchcpanorg raquo [En ligne] Disponible sur httpsearchcpanorg~etherWWW-

Mechanize-173libWWWMechanizepm [Consulteacute le 31-mai-2014][49] laquo Sikuli Script - Home raquo [En ligne] Disponible sur httpwwwsikuliorg [Consulteacute le 31-mai-2014][50] C Tsung-Hsiang T Yeh et R CMiller laquo GUI Testing Using Computer Vision raquo [En ligne] Disponible sur

httpgroupscsailmiteduuidprojectssikulisikuli-chi2010pdf [Consulteacute le 20-nov-2013][51] laquo Monitoring and Management Using JMX Technology - Java SE Monitoring and Management Guide raquo [En

ligne] Disponible sur httpdocsoraclecomjavase7docstechnotesguidesmanagementagenthtml [Consulteacute le 20-aoucirct-2014]

[52] laquo yahooboomerang middot GitHub raquo [En ligne] Disponible sur httpsgithubcomyahooboomerang [Consulteacute le 20-aoucirct-2014]

[53] laquo Welcome to Jenkins CI | Jenkins CI raquo [En ligne] Disponible sur httpjenkins-ciorg [Consulteacute le 06-sept-2014]

[54] laquo Application Performance Management - Supervision Applicative | Compuware APM raquo [En ligne] Disponible sur httpwwwcompuwarecomfr_frapplication-performance-managementhtml [Consulteacute le 20-aoucirct-2014]

[55] laquo APM | Canopsis raquo [En ligne] Disponible sur httpwwwcanopsiscomBrickapm [Consulteacute le 29-aoucirct-2014]

[56] laquo Prioritizing Gartnerrsquos APM Model | APMdigest raquo [En ligne] Disponible sur httpapmdigestcomprioriti-zing-gartners-apm-model [Consulteacute le 20-aoucirct-2014]

[57] laquo PhantomJS | PhantomJS raquo [En ligne] Disponible sur httpphantomjsorg [Consulteacute le 15-juin-2014][58] laquo Comparison of network monitoring systems raquo Wikipedia the free encyclopedia 14-avr-2014[59] laquo IT Infrastructure Monitoring Operations Manager | HPreg Official Site raquo [En ligne] Disponible sur

httpwww8hpcomusensoftware-solutionssoftwarehtmlcompURI=1170678U23gP3IRrCY [Consulteacute le 10-mai-2014]

[60] laquo IBM - Tivoli Monitoring raquo [En ligne] Disponible sur httpwww-03ibmcomsoftwareproductsentivo-moni [Consulteacute le 10-mai-2014]

[61] laquo Network Monitoring Software amp Tools - CA Technologies raquo [62] laquo IBM - Tivoli NetcoolOMNIbus - France raquo [En ligne] Disponible sur httpwww-

03ibmcomsoftwareproductsfrfribmtivolinetcoolomnibus [Consulteacute le 31-aoucirct-2013][63] laquo Homepage | POM MONITORING raquo [En ligne] Disponible sur httpwwwpom-monitoringcom [Consul-

teacute le 08-mai-2014][64] laquo Homepage of Zabbix An Enterprise-Class Open Source Distributed Monitoring Solution raquo [En ligne] Dis-

ponible sur httpwwwzabbixcom [Consulteacute le 10-mai-2014][65] laquo The OpenNMS Project raquo [En ligne] Disponible sur httpwwwopennmsorg [Consulteacute le 10-mai-2014][66] laquo Home Centreon raquo [En ligne] Disponible sur httpwwwcentreoncom [Consulteacute le 10-mai-2014][67] laquo Cactireg - The Complete RRDTool-based Graphing Solution raquo [En ligne] Disponible sur httpwwwcacti-

net [Consulteacute le 19-mai-2014][68] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 19-mai-2014][69] laquo RRDtool - About RRDtool raquo [En ligne] Disponible sur httpossoetikerchrrdtool [Consulteacute le 19-mai-

2014][70] laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

Page 150

Bibliographie

19-mai-2014][71] laquo Ganglia Monitoring System raquo [En ligne] Disponible sur httpgangliasourceforgenet [Consulteacute le 19-

mai-2014][72] laquo Canopsis middot capensiscanopsis Wiki middot GitHub raquo [En ligne] Disponible sur httpsgithubcomcapensisca-

nopsiswikiCanopsis [Consulteacute le 10-mai-2014][73] laquo RealOpInsight - Open Source Business Service Monitoring Dashboard Toolkit for Nagios Zabbix Zenoss

Icinga Shinken op5 GroundWork and Centreon raquo [En ligne] Disponible sur httprealopinsightcom [Consulteacute le 18-mai-2014]

[74] laquo Panorama [wiki monitoring-frorg] raquo [En ligne] Disponible sur httpwikimonitoring-frorgsupervisionlinks [Consulteacute le 19-mai-2014]

[75] laquo monitoringsuckstool-repos middot GitHub raquo [En ligne] Disponible sur httpsgithubcommonitoringsuckstool-repos [Consulteacute le 19-mai-2014]

[76] laquo Comparison of network monitoring systems - Wikipedia the free encyclopedia raquo [En ligne] Disponible sur httpenwikipediaorgwikiComparison_of_network_monitoring_systems [Consulteacute le 19-mai-2014]

[77] laquo Nagios - The Industry Standard in IT Infrastructure Monitoring raquo Nagios [En ligne] Disponible sur httpwwwnagiosorg [Consulteacute le 31-aoucirct-2013]

[78] laquo Nagios Exchange raquo [En ligne] Disponible sur httpexchangenagiosorg [Consulteacute le 31-aoucirct-2013][79] laquo op5 | Open Source Network Monitoring | op5 Server Monitoring raquo [En ligne] Disponible sur

httpwwwop5com [Consulteacute le 11-mai-2014][80] laquo Interview de Jean Gabes le creacuteateur de Shinken | Le blog de NicoLargo raquo [En ligne] Disponible sur

httpblognicolargocom201108interview-de-jean-gabes-le-createur-de-shinkenhtml [Consulteacute le 11-mai-2014]

[81] laquo Ougrave va Nagios | Communauteacute Francophone de la Supervision Libre raquo [En ligne] Disponible sur httpwwwmonitoring-frorg201006ou-va-nagios [Consulteacute le 11-mai-2014]

[82] J Gabegraves laquo Shinken The next Industry Standard in IT Monitoring raquo Shinken Monitoring [En ligne] Dispo-nible sur httpwwwshinken-monitoringorg [Consulteacute le 31-aoucirct-2013]

[83] J Gabegraves laquo naparubashinken middot GitHub raquo [En ligne] Disponible sur httpsgithubcomnaparubashinken [Consulteacute le 11-mai-2014]

[84] laquo Nagios - Browse nrpe-2x at SourceForgenet raquo [En ligne] Disponible sur httpsourceforgenetprojectsnagiosfilesnrpe-2x [Consulteacute le 11-mai-2014]

[85] laquo NSCA - Nagios Service Check Acceptor - Nagios Exchange raquo [En ligne] Disponible sur httpexchange-nagiosorgdirectoryAddonsPassive-ChecksNSCA--2D-Nagios-Service-Check-Acceptordetails [Consulteacute le 11-mai-2014]

[86] M Schubert Eacuted Nagios 3 enterprise network monitoring including plug-ins and hardware devices Burling-ton MA Syngress Pub 2008

[87] laquo Chapitre 62 Reacutegler Nagios pour des performances maximales raquo [En ligne] Disponible sur httpdocmoni-toring-frorg3_0htmlsecurityandperformancetuning-tuninghtml [Consulteacute le 14-mai-2014]

[88] laquo Shinken quand un Python rencontre Nagios GLMFHS-049 GNULinux Magazine Connect - Edition Diamond raquo [En ligne] Disponible sur httpconnected-diamondcomGNU-Linux-MagazineGLMFHS-049Shinken-quand-un-Python-rencontre-Nagios [Consulteacute le 14-mai-2014]

[89] laquo MK Livestatus raquo [En ligne] Disponible sur httpmathias-kettnerdecheckmk_livestatushtml [Consulteacute le 18-mai-2014]

[90] laquo Thruk Monitoring Webinterface raquo [En ligne] Disponible sur httpwwwthrukorg [Consulteacute le 18-mai-2014]

[91] laquo Splunk | Gestion des applications Opeacuterations informatiques de gestion Seacutecuriteacute et conformiteacute raquo [En ligne]

Page 151

Bibliographie

Disponible sur httpfrsplunkcom [Consulteacute le 18-mai-2014][92] laquo livestatus_shinken [Shinken] raquo [En ligne] Disponible sur httpwwwshinken-monitoringorgwikilivesta-

tus_shinken [Consulteacute le 18-mai-2014][93] laquo Architecture dirigeacutee par les donneacutees mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiArchitecture_dirigC3A9e_par_les_donnC3A9es [Consulteacute le 18-mai-2014]

[94] J Gabegraves laquo Python le serpent tregraves dynamiqueGNU-Linux Magazine HS ndeg49 raquo p 14-20 2010[95] laquo shinken-monitoringmod-webui middot GitHub raquo deacutepocirct Github [En ligne] Disponible sur

httpsgithubcomshinken-monitoringmod-webui [Consulteacute le 30-mai-2014][96] laquo shinken-monitoringmod-ws-arbiter middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-mo-

nitoringmod-ws-arbiter [Consulteacute le 30-mai-2014][97] laquo shinken-monitoringmod-mongodb middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-mongodb [Consulteacute le 30-mai-2014][98] laquo shinken-monitoringmod-canopsis middot GitHub raquo [En ligne] Disponible sur httpsgithubcomshinken-moni-

toringmod-canopsis [Consulteacute le 30-mai-2014][99] laquo Graphite - Scalable Realtime Graphing - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcom

[Consulteacute le 31-aoucirct-2013][100]laquo kombu 3016 Python Package Index raquo Messaging library for Python [En ligne] Disponible sur

httpspypipythonorgpypikombu [Consulteacute le 31-mai-2014][101]laquo Home | AMQP raquo [En ligne] Disponible sur httpamqporg [Consulteacute le 31-mai-2014][102]laquo Welcome to NagVis Home - NagVisorg raquo [En ligne] Disponible sur httpwwwnagvisorg [Consulteacute le

19-mai-2014][103]laquo Operational Data Store mdash Wikipeacutedia raquo [En ligne] Disponible sur

httpfrwikipediaorgwikiOperational_Data_Store [Consulteacute le 06-sept-2014][104]laquo Redis raquo [En ligne] Disponible sur httpredisio [Consulteacute le 12-juin-2014][105]laquo Homepage | Celery Distributed Task Queue raquo [En ligne] Disponible sur httpwwwceleryprojectorg

[Consulteacute le 11-juin-2014][106]laquo Reacuteinvention de la gestion des informations | MongoDB raquo [En ligne] Disponible sur httpwwwmongodb-

comfr [Consulteacute le 09-juin-2014][107]laquo Just a little Python GridFS The MongoDB Filesystem raquo [En ligne] Disponible sur httpblogpythonisi-

tocom201205gridfs-mongodb-filesystemhtml [Consulteacute le 31-oct-2013][108]laquo Gunicorn - Python WSGI HTTP Server for UNIX raquo [En ligne] Disponible sur httpgunicornorg

[Consulteacute le 12-juin-2014][109]laquo PEP 3333 -- Python Web Server Gateway Interface v101 raquo [En ligne] Disponible sur httplegacypy-

thonorgdevpepspep-3333 [Consulteacute le 12-juin-2014][110]R T Fielding laquo Architectural Styles and the Design of Network-based Software Architectures CHAPTER 5

Representational State Transfer (REST) raquo [En ligne] Disponible sur httpwwwicsuciedu7Efieldingpubsdissertationrest_arch_stylehtm [Consulteacute le 15-juin-2014]

[111]laquo JavaScript Framework for Building Rich Desktop Web Applications | Sencha Ext JS | Products | Sencha raquo [En ligne] Disponible sur httpwwwsenchacomproductsextjs [Consulteacute le 09-juin-2014]

[112]laquo jQuery raquo [En ligne] Disponible sur httpjquerycom [Consulteacute le 09-juin-2014][113]laquo Flot Attractive JavaScript plotting for jQuery raquo [En ligne] Disponible sur httpwwwflotchartsorg

[Consulteacute le 09-juin-2014][114]laquo SNMP library for Python raquo [En ligne] Disponible sur httppysnmpsourceforgenet [Consulteacute le 12-

sept-2013]

Page 152

Bibliographie

[115]laquo Whisper FAQ - Graphite raquo [En ligne] Disponible sur httpgraphitewikidotcomwhisper [Consulteacute le 22-juin-2014]

[116]laquo The URL API mdash Graphite 099 documentation raquo [En ligne] Disponible sur httpgraphitereadthe-docsorgen10url-apihtml [Consulteacute le 22-juin-2014]

[117]laquo CasperJS a navigation scripting and testing utility for PhantomJS and SlimerJS raquo [En ligne] Disponible sur httpcasperjsorg [Consulteacute le 22-juin-2014]

[118]laquo XML-RPC raquo Wikipeacutedia 28-juill-2014[119]X Dusart laquo SNMP et Nagios raquo [En ligne] Disponible sur httpxavierdusartfreefrnagiossnmp-

trapshtml [Consulteacute le 15-juin-2014][120]A Burger laquo SNMPTT raquo SNMP Trap Translator [En ligne] Disponible sur httpwwwsnmpttorgabout-

shtml [Consulteacute le 31-aoucirct-2013][121]laquo RFC 5424 - The Syslog Protocol raquo [En ligne] Disponible sur httptoolsietforghtmlrfc5424 [Consulteacute

le 22-juin-2014][122]laquo Cucumber - Making BDD fun raquo [En ligne] Disponible sur httpcukesinfo [Consulteacute le 31-mai-2014][123]laquo Traitement automatique du langage naturel raquo Wikipeacutedia 26-aoucirct-2014[124]laquo Behavior Driven Development mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiBeha-

vior_Driven_Development [Consulteacute le 31-mai-2014][125]L Leacutevy-Bencheton Lrsquoinfotechnocratie le deacuteni de complexiteacute dans lrsquoinformatique Paris Hermegraves science publi-

cations-Lavoisier 2012[126]P par P L le 10 deacutecembre 2013 laquo La conduite du changement raquo Alcyonix [En ligne] Disponible sur

httpwwwalcyonixcomtribunesla-conduite-du-changement [Consulteacute le 29-aoucirct-2014][127]laquo Nagios mdash Wikipeacutedia raquo [En ligne] Disponible sur httpfrwikipediaorgwikiNagios [Consulteacute le 11-mai-

2014][128]sikuli doc team laquo How Sikuli Works mdash Sikuli X 10 documentation raquo [En ligne] Disponible sur httpdoc-

sikuliorgdevssystem-designhtml [Consulteacute le 26-aoucirct-2014]

Page 153

Index des illustrations

8Index des illustrationsIllustration 11 les activiteacutes du SI selon ITIL15Illustration 12 reacutepartition des utilisateurs du SI de GBH par site17Illustration 21 scheacutema des composants du SI24Illustration 22 exemple de vue de lIHM Aravis26Illustration 23 repreacutesentation scheacutematique des fonctions Aravis28Illustration 24 scheacutema simplifieacute des deacutependances applicatives de lapplication Aravis29Illustration 25 scheacutema simplifieacute de larchitecture technique31Illustration 26 vision fonctionnelle34Illustration 27 exemple danalyse de deacutependances UIF application de transfertsseacutecuriseacutes35Illustration 28 structure dune trame SNMPv140Illustration 29 correspondance type de PDU - type de requecircte SNMP40Illustration 210 management information tree repreacutesentation des structures de MIB42Illustration 211 repreacutesentation scheacutematique des interactions entre lAPI CIM et lesressources46Illustration 212 scheacutema UML du meacuteta-modegravele CIM47Illustration 213 le modegravele CIM laquo systems raquo48Illustration 214 architecture WMI49Illustration 215 SMI-s client - server SAN extrait des speacutecifications SMI-S50Illustration 216 APM Conceptual Model [56]53Illustration 217 fonctionnement de Nagios[127]58Illustration 31 les relations des objets de type service dans Nagios[86]61Illustration 32 eacutevolution de lrsquoeacutetat dun service en fonction des reacutesultats des sondes64Illustration 33 scheacutema fonctionnel de Nagios65Illustration 34 architecture geacuteneacuterale de Shinken67Illustration 35 documentation Shinken - description des actions effectueacutees dans unmodule de type broker74Illustration 36 vue de linterface web Shinken78Illustration 37 repreacutesentation des deacutependances dans linterface webui79Illustration 38 architecture de Canopsis extrait de httpwikimonitoring-frorgcanopsiscanopsis-work81Illustration 39 Canopsis Engines82Illustration 310 widgets Canopsis88Illustration 311 panneau du gestionnaire de vues Canopsis89Illustration 41 enchaicircnement des phases de mise en œuvre du projet de supervision92

Page 154

Index des illustrations

Illustration 42 le backend laquo Graphite raquo102Illustration 43 linterface web de Graphite102Illustration 44 exploitation du moteur Graphite pour les graphiques Shinken104Illustration 45 rendu graphique dun sceacutenario EUE107Illustration 46 rendu des traps SNMP via le widget Canopsis laquo List raquo112Illustration 47 correacutelation entre les eacuteveacutenements syslog et les variables de performancedun firewall netasq U250114Illustration 48 exemple de rendu de KPI sur les compteurs dimpression dans Canopsis116Illustration 49 Canopsis - vue laquo consolidation raquo117Illustration 410 construction dun selector et dun SLA associeacutes sous Canopsis118Illustration 411 onglet laquo filtre raquo - deacutefinition dun seacutelecteur Canopsis119Illustration 412 liste des selectors et des SLA associeacutes dans linterface Canopsis119Illustration 413 repreacutesentation de SLA dans Canopsis120Illustration 414 exemple dutilisation du widget Weather121Illustration 415 exemple de construction dune topologie Canopsis122Illustration 416 rendu graphique du widget topology123Illustration 417 propagation dun laquo warning raquo sur les noeuds parents dun widgettopology123Illustration 418 graphique produit agrave partir de sondes applicatives intrusives126Illustration 61 proceacutedeacute iteacuteratif dinteacutegration deacuteleacutements de supervision139Illustration 62 vue de lIDE Sikuli140Illustration 63 scheacutema des API Sikuli [128]140Illustration 64 synopsis du daemon SNMPTT141Illustration 65 rendu de sceacutenarios de tests comportementaux142Illustration 66 vue Canopsis pour lapplication laquo imhoweb raquo143Illustration 67 vue Canopsis de lapplication Aravis144Illustration 68 vue Canopsis - synthegravese de leacutetat des applications145Illustration 69 vue Canopsis - synthegravese des liens reacuteseau146

Page 155

ReacutesumeacuteEn matiegravere de gestion des systegravemes dinformation la supervision est un sujet tregraves

couru ainsi quen teacutemoignent ses nombreux soutegravenements quil sagisse de preacuteconisa-tions de normes de modegraveles ou dimpleacutementations De fait superviser suppose dappreacute-hender dun systegraveme dinformation dans sa globaliteacute cest-agrave-dire comme une composanteorganisationnelle agrave part entiegravere Entre lusage et la techniciteacute le systegraveme drsquoinformationconcentre une multipliciteacute dapproches et de points de vue qui expliquent sa complexiteacuteintrinsegraveque Nous observons ici comment et agrave quelles conditions les outils de supervi-sion procurent un moyen de restituer agrave ce systegraveme complexe une coheacuterence globale in-cluant ses aspects techniques et fonctionnels

Mots-cleacutes systegraveme dinformation supervision hypervision sondes techniquessondes fonctionnelles indicateurs-cleacutes de performance

AbstractWhen it comes to information systems management supervision is a popular topic

as indicated by the numerous existing foundations such as recommendations modelsstandards and implementations Indeed supervising implies understanding an informa-tion system in its totality that is to say as an organisational component in itself Bet-ween technicity and usage the information system comprises a multitude of approachesand points of view which explain its intrinsic complexity This paper explores how andunder which conditions supervision tools provide a way of rendering an overall cohe-rence to this complex system including its technical and functional aspects

Keywords information system supervision hypervision technical checks end userexperience key performance indicators

  • 1 Contexte
  • 2 Enjeux et architectures
    • 21 ITIL et les enjeux de la supervision
    • 22 Eacutevaluation des besoins
      • 221 Lexemple de lERP Aravis
        • 2211 Preacutesentation
        • 2212 Aspects fonctionnels et applicatifs
        • 2213 Vue technique plates-formes systegravemes et infrastructure
          • 222 Synthegravese
            • 23 Choix dune solution de supervision
              • 231 Protocoles et impleacutementations utiliseacutes dans les proceacutedeacutes de supervision
                • 2311 Le cas du protocole SNMP
                  • Le protocole
                  • Les MIB
                  • Exemple
                    • 2312 Le modegravele CIM
                    • 2313 Impleacutementations reposant sur le modegravele CIM
                      • WMI Windows Management Instrumentation
                      • SMI-S
                      • IPMI
                        • 2314 Le point de vue utilisateur End User Experience et Application Performance Management
                          • 232 Le marcheacute des solutions de supervision
                              • 3 Principes de larchitecture cible
                                • 31 Shinken
                                  • 311 Lheacuteritage de Nagios
                                    • 3111 Meacutethodes dobtention des informations
                                    • 3112 Commandes de veacuterification (checks)
                                    • 3113 Le laquo modegravele raquo Nagios
                                    • 3114 Statut des objets
                                    • 3115 Ordonnancement des veacuterifications
                                    • 3116 Synthegravese
                                      • 312 Architecture geacuteneacuterale de Shinken
                                        • 3121 Configuration
                                        • 3122 Plug-ins
                                        • 3123 Triggers
                                        • 3124 Regravegles meacutetier (business rules)
                                        • 3125 Les modules
                                          • 313 Preacutesentation des donneacutees et interfaces graphiques
                                            • 3131 Linterface Shinken
                                                • 32 Canopsis
                                                  • 321 Fonctionnement geacuteneacuteral
                                                  • 322 Connecteur et messages Canopsis
                                                  • 323 Rendu graphique
                                                  • 324 Lassociation Shinken - Canopsis synthegravese
                                                      • 4 Modaliteacutes de mise en œuvre - adaptations au SI de GBH
                                                        • 41 Organisation du projet
                                                          • 411 Moyens de mise en œuvre et mise en place du processus
                                                          • 412 Difficulteacutes rencontreacutees
                                                            • 42 Techniques de collecte de donneacutees
                                                              • 421 Sondes techniques
                                                                • 4211 Techniques mises en œuvre
                                                                • 4212 Exemples de sondes
                                                                • 4213 Rendu graphique avec Graphite
                                                                  • 422 End User Experience les tests comportementaux
                                                                    • 4221 Tests EUE avec CasperJS lexemple de linterface imhoweb
                                                                    • 4222 Tests EUE avec Sikuli
                                                                      • 423 Prise en compte des messages SNMP passifs
                                                                      • 424 Inteacutegration des messages Syslog
                                                                        • 43 Indicateurs complexes
                                                                          • 431 Les triggers Shinken
                                                                          • 432 Construction dindicateurs dans Canopsis
                                                                            • 4321 Selectors et SLA
                                                                            • 4322 Repreacutesentation graphique dun seacutelecteur
                                                                            • 4323 Topology
                                                                                • 44 Eacutevolutions preacutevues
                                                                                  • 5 Conclusion
                                                                                  • 6 Annexes
                                                                                    • 61 Organigramme fonctionnel de Grand Besanccedilon Habitat
                                                                                    • 62 Couverture applicative reacutepartition des accegraves
                                                                                    • 63 Scheacutema de larchitecture DMZ
                                                                                    • 64 Repreacutesentation simplifieacutee de larchitecture virtualiseacutee ESX (2010)
                                                                                    • 65 Scheacutema reacuteseau GBH (2014)
                                                                                    • 66 Processus dinteacutegration dun eacuteleacutement agrave superviser
                                                                                    • 67 LIDE Sikuli
                                                                                    • 68 Synopsis SNMPTT
                                                                                    • 69 Exemples de vues Canopsis
                                                                                      • 7 Bibliographie
                                                                                      • 8 Index des illustrations
Page 9: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 10: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 11: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 12: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 13: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 14: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 15: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 16: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 17: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 18: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 19: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 20: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 21: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 22: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 23: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 24: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 25: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 26: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 27: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 28: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 29: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 30: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 31: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 32: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 33: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 34: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 35: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 36: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 37: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 38: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 39: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 40: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 41: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 42: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 43: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 44: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 45: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 46: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 47: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 48: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 49: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 50: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 51: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 52: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 53: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 54: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 55: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 56: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 57: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 58: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 59: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 60: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 61: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 62: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 63: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 64: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 65: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 66: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 67: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 68: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 69: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 70: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 71: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 72: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 73: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 74: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 75: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 76: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 77: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 78: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 79: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 80: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 81: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 82: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 83: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 84: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 85: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 86: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 87: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 88: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 89: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 90: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 91: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 92: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 93: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 94: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 95: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 96: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 97: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 98: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 99: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 100: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 101: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 102: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 103: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 104: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 105: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 106: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 107: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 108: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 109: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 110: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 111: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 112: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 113: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 114: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 115: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 116: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 117: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 118: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 119: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 120: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 121: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 122: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 123: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 124: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 125: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 126: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 127: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 128: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 129: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 130: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 131: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 132: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 133: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 134: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 135: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 136: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 137: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 138: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 139: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 140: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 141: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 142: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 143: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 144: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 145: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 146: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 147: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 148: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 149: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 150: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …
Page 151: CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE …