WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

Monitoring d'une infrastructure informatique sur base d'outils libres

( Télécharger le fichier original )
par Youssouf N'TCHIRIFOU
Institut africain d'administration et d'études commerciales (IAEC) Togo - Master II 2010
Dans la categorie: Informatique et Télécommunications
  

Disponible en mode multipage

Soutenons La Quadrature du Net !

INTRODUCTION GENERALE

Les notions de science et de technique se transforment à un rythme rapide depuis la grande révolution scientifique du 18ème siècle. Ces changements ont apporté de nouvelles satisfactions, une autonomie renouvelée et une forte dose d'innovation. Mais de nos jours l'on parle plutôt des nouvelles technologies de communication et de l'information avec l'informatique qui devient de plus en plus incontournable. Science du traitement rationnel de l'information, l'informatique s'impose plus que jamais, comme un outil précieux dont a besoin toute entreprise qui veut accroître sa productivité et rester compétitive sur le plan international. Ainsi dans le domaine des entreprises modernes, l'adoption d'un système informatique facilite énormément les processus d'administration (personnelle et matérielle) et de productivité. Un tel outil aide à bien satisfaire les exigences croissantes non seulement des administrateurs, mais aussi des utilisateurs, c'est pourquoi les développeurs conçoivent ce système d'une telle façon que tous les besoins soient satisfaits à travers une bonne gestion de toutes les branches de l'entreprise.

En effet, toutes les entreprises, de nos jours, sont équipées d'un réseau local au minimum, et pour les plus importantes d'entre elles de réseaux longue distance (Wide Area Network), leurs parcs informatiques englobent des centaines, voire des milliers de terminaux engendrés par des serveurs de bases de données et des serveurs de traitements. L'apparition de ces nouveaux environnements informatisés rend la surveillance des éléments clefs de réseau et de système une opération indispensable, afin de minimiser la perte d'exploitation et garantir que les utilisateurs ne s'aperçoivent pas des anomalies de fonctionnement. Ces anomalies provoquent des conséquences variables en degré pour le fonctionnement au niveau de système d'entreprise. En effet, l'arrêt d'un service de messagerie n'est pas aussi coûteux que la perte de la base de données de son entreprise due à un disque défectueux.

Vu que le système informatique est au coeur des activités d'entreprise, sa maîtrise devient primordiale, puisque, il doit fonctionner pleinement et en permanence pour garantir la fiabilité et l'efficacité exigées, d'une part. D'autre part, les problèmes liés au système informatique tels que les défaillances, les pannes, les coupures et les différents problèmes techniques doivent être réduits, du fait qu'une indisponibilité du système ou du réseau peut causer des pertes considérables.

Afin de minimiser le nombre de ces pertes, une sorte de surveillance et de contrôle s'avère obligatoire ; c'est ainsi que la notion de la « supervision informatique » a vu le jour et est devenue une tâche vitale pour tout système informatique. Cette nouvelle branche d'administration système/réseau doit assurer trois fonctionnalités :

- garantir la disponibilité de leurs système et réseau ;

- anticiper sur l'apparition d'éventuels problèmes ;

- garantir une durée d'intervention et de résolution minimale.

Consciente de cet enjeu, la Fédérale d'Assurances TOGO-SA (FEDAS-TOGO) n'a ménagée aucun effort en se dotant d'un service informatique pour mettre en place un système informatique performant. Ainsi le lien étroit existant entre la supervision du système informatique d'une entreprise et sa productivité suscite notre curiosité et justifie certainement le choix du thème de notre mémoire :<< MONITORING D'UNE INFRASTRUCTURE INFORMATIQUE SUR BASE D'OUTILS LIBRES >>. Nous appelons par outils libres, les logiciels non propriétaire (gratuit) et dont les utilisateurs ont les quatre libertés essentielles :

- La liberté d'exécuter le programme, pour tous les usages.

- La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins, pour ceci l'accès aux codes sources est une condition requise.

- La liberté de redistribuer les copies, donc d'aider voisins.

- La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté libre.

La Fédérale d'Assurances Togo S.A (FEDAS-TOGO) est une société qui vend des produits d'assurances.

Compte tenu de l'augmentation de ses activités d'assurances qui s'étendent maintenant sur tout le territoire togolais, les engagements envers ses clients en terme de qualité de service et de haute disponibilité deviennent primordiales, il s'avère indispensable que la société par le biais de son service informatique étudie l'implémentation d'une supervision complète de son infrastructure informatique. Notre travail consiste, alors, à implémenter une architecture à base de logiciels libres adaptée à la supervision informatique en assurant la détection des pannes dans un système informatique donné. Puis, nous allons tenter de résoudre, s'il y a possibilité, les problèmes qui apparaissent dans l'environnement du réseau informatique pour offrir un meilleur service. Pour réaliser ce travail, nous pensons particulièrement à la mise en place de la supervision du système d'information de la FEDAS-TOGO, avec Nagios couplé à Centreon deux logiciels libres distribués sous licence GPL, dans un environnement virtualisé grâce au logiciel de virtualisation Vmware. Etant donné que nous avons opté pour un environnement centralisé et virtualisé nous allons préalablement créer un ordinateur virtuel qui nous servira de serveur ensuite nous allons devoir procéder à l'installation et la configuration de nagios et de centreon pour la surveillance de l'infrastructure de la fedas-togo et en fin pour visualisation de l'utilisation de la bande passante sur le réseau nous feront recourt à MRTG (Multi Router Traffic Grapher) qui est un logiciel dédié à la supervision réseau.

Notre mémoire sera structuré sur quatre parties.

Dans la première partie nous procéderons à la présentation générale de la FEDAS-TOGO. Dans la seconde partie, nous établirons l'étude préalable de l'infrastructure informatique à superviser. Nous tenterons d'examiner les difficultés rencontrées dans la gestion actuelle et en proposerons quelques solutions. La troisième partie fera l'objet de l'étude exhaustive en se basant sur les deux concepts qui nous permettrons la création de la plate-forme de surveillance : la virtualisation et la supervision. Et enfin dans la quatrième partie nous procéderons l'implémentation des outils de monitoring que nous avons choisi (nagios, centreon, MRTG) pour mettre en place notre système de surveillance en présentant tout le processus d'installation, de configuration et d'exécution des logiciels.

Finalement, nous terminons par une conclusion générale qui récapitule les principales observations concernant l'évolution du travail et nous indiquons également comment les travaux réalisés tout au long de ce mémoire pourraient être améliorés.

A la fin de ce document, nous présenterons une annexe qui introduit des concepts techniques utilisés pour la conception de notre système de supervision, à savoir la plateforme.

PREMIERE PARTIE

PRESENTATION DE LA FEDERALE D'ASSURANCES TOGO

(FEDAS-TOGO)

I. CONTEXTE ORGANISATIONNEL ET DMINISTRATIF

1. Création et objet de la société

1.1 Assurances : notions

1.1.1 Définitions

D'un point de vue juridique, l'assurance est le contrat par le quel le souscripteur se voit promettre une prestation en cas de réalisation d'un risque moyennant le payement d'un prix appelé prime ou cotisation. En versant la prime, le cocontractant de l'assureur obtient la garantie. Cette garantie est constituée d'un ensemble d'obligations pour l'assureur.

La Fédérale d'Assurances (FEDAS TOGO) est une filiale du groupe international FEDAS ayant son siège en République du Bénin. D'un capital de un milliard (1.000.000.000 ) de FCFA entièrement libéré ; la FEDAS TOGO est située dans le quartier HANOUKOPE notamment au 129, boulevard du 13 janvier. Pour l'exercice 2003, elle a occupé le 5e rang en termes de chiffre d'affaires.

Après les formalités réglementaires imposées par la CRCA (Commission Régionale du Contrôle des Assurances), la FEDAS TOGO a reçu son agrément du Ministère de l'Economie, des Finances et des Privatisations par l'arrêté ministériel No 097/MEFP du 12 décembre 2002. Par cet agrément, la FEDAS TOGO, est autorisée à exercer en république togolaise, des opérations d'assurances énumérées selon la nomenclature des branches IARD (Incendie Accidents Risques Divers) et mentionnées à l'article 328 de code CIMA (Conférence Interafricaine des Marchés d'Assurances):

1. Accidents

2. Maladies

3. Corps de véhicules terrestres

7. Marchandises transportées

8. Incendies et éléments naturels

9. Autres dommages aux biens

10. Responsabilités civiles des véhicules terrestres automoteurs

11. Responsabilités civiles générales

Il faut noter que la numérotation adoptée pour cet exposé est celle retenue par le code CIMA pour énumérer les éléments de la nomenclature des branches d'assurances IARD.

1.2.1 Structure de la FEDAS TOGO

A sa création, les textes de constitution de la FEDAS TOGO prévoyaient trois grandes subdivisions pour épauler la direction générale dans l'accomplissement des objectifs de la société : une direction technique, une direction administrative, financière et comptable, une direction commerciale.

A l'heure actuelle, seule la direction technique est opérationnelle. Pour des raisons de maîtrise des coûts, (très importants pour toute entreprise en phase de croissance, les autres directions seront pourvues progressivement. En attendant cela ; la structure de la FEDAS TOGO s'articule autour de la direction générale et de la direction technique.

La direction technique est composée de deux services : le service production et le service sinistre. Le service production est lui-même subdivisé en deux : la division de la production automobile et la division de la production risques divers.

A la direction générale sont rattachés en attendant la mise sur pied de la direction administrative, financière et comptable, les services suivants : le service financier, le service comptable, le service informatique, les services généraux. La gestion administrative des contrats est laissée à la direction technique et au service informatique.

Comme on peut le constater, la structure commerciale semble être ignoré dans la structure actuelle de la FEDAS TOGO. Dans la pratique, cette fonction est exercée par la direction générale aidée par la direction technique. En effet qu'il s'agisse de faire des études afin de recueillir, de traiter, et d'analyser les informations du marché, de développer une certaine politique de communication ou de distribution, de gérer la force de vente, les décisions majeures sont prises par la direction générale en collaboration avec la direction technique. Aussi est-on amené à se demander si l'absence des autres directions et surtout celle commerciale n'a pas quelque influences sur la viabilité des actions commerciales menées par l'entreprise et ce d'autant plus que dans la vie quotidienne de l'entreprise, on ne sent pas une nette définition des postes et que la société ne dispose pas jusqu'ici d'un organigramme clairement et nettement défini.

Cet état des choses rend actuellement une étude du système fonctionnel et du système de commande de la FEDAS TOGO très délicate.

II. CONTEXTE INFORMATIQUE DE LA FEDAS-TOGO

La FEDAS-TOGO dispose d'un réseau local composé de plus de quelques matériels informatiques. C'est un petit réseau de type Ethernet 100 Base T se présentant sous la forme d'un bus. Cette section sera consacrée à la description de ce réseau et à celle de ses constituants physiques et logiciels

1. Architecture du réseau local de la FEDAS-TOGO

Le réseau local de la FEDAS-TOGO s'étend sur 2 niveaux (étage) grâce à des câbles assimilables à des colonnes montantes. Les deux niveaux disposent d'un switch à 24 ports qui interconnecte tous les postes de travail de chaque niveau via les prises RJ45 dont chaque bureau dispose. Ce réseau local ainsi constitué est connecté à l'Internet par une antenne qui pointe sur celle de IDS technologie située au dessus de l'immeuble de la BTCI. Un routeur est connecté d'une part à l'antenne et d'autre part au serveur Proxy. Le serveur Proxy quant à lui possède deux cartes réseaux dont l'une est reliée au réseau local et l'autre à l'Internet.

1.1 MATERIELS

Quelques éléments matériels rentrent dans la constitution physique du réseau de la FEDAS-TOGO. Nous avons en autre :

s UN commutateur : switch D-LINK Des-1024D à 24 ports RJ45 10/100 ;

s 1 routeur CISCO SOHO 91 à 4 ports Ethernet 10/100 BASET, un port RJ45 console et un port Ethernet 10 BASET Internet

Pour une simplification, nous présenterons le reste du matériel dans les tableaux 1.1 et 1.2.

s Serveurs  

La FEDAS- Togo s'est doté d' un serveur HP dimensionné de la façon suivante :

Model : DL380 Génération 5

Type de Processeur : Processeur Intel® Xeon® quadricoeur

Vitesse du Processeur : Quadricoeur 2 Ghz au moins

Nombre de processeurs : 2 processeurs installés ayant au moins 2Ghz

Noyau processeur disponible : Quadricoeur

Bus Système : Bus frontal à 1333 Mhz

Mémoire cache interne: 8 Mo (2 x 4 Mo) de mémoire cache de niveau 2

Mémoire Ram : 8 Go (8 x 1Go) de mémoire standard extensible à 32Go

Type de mémoire : Emplacement mémoire DIMM P-5300 (DDR2-667)

Capacité de disque dur : 4 disque Dur SAS HP de 146,8Go hot plug universel monté en RAID 5

Contrôleur RAID : Contrôleur HP Smart Array pouvant supporter le RAID 5 et plus

Lecteur optique CD : Combo DVD/CD-RW

Interface réseau : Deux cartes réseau Gigabit multifonctions NC373i intégré avec un moteur de déchargement TCP/IP

Ports d'E-S externes : Série : 1 ; Périphérique de pointage (souris) : 1 ; Graphique ; Clavier : 1 ; VGA : 2 (1 en façade, 1 à l'arrière) ; Réseau de gestion à distance iLO 2 : 1 ; Ports USB 2.0 : 5 (2 en façade, 2 en arrière, 1 en interne)

Type d'alimentation électrique : Double alimentation redondante enfichable à chaud

Ventilateur : ventilateur redondant

s Postes de travail 

La société dispose actuellement d'environ 40 postes de travail dont les caractéristiques et fonctions sont résumées dans le tableau ci-après.

Tableau 1.1 : Description des postes de travail

Quantité

Equipements

Caractéristiques

Fonction ou destination

15

PC HP COMPAQ dx 7500 MT

PIV-866, Ram 512Mo, HD 120Go, P 2GHz

Dans les services de la direction générale

18

PC HP COMPAQ dx 6120

PIV-CPU, Ram 1Go, HD 120Go, 3 GHz

Dans les bureaux

02

PC HP COMPAQ dx 5800

PII-400, Ram 512Mo, HD 160Go, NIC 10/100

Les bureaux money gram

05

Ordinateurs portables HP COMPAQ EVO

P4-1500, Ram 1Go, HD 80Go, 2 GHz

Directeur général, Directeur Technique et commercial, et missions

s Imprimantes

La FEDAS dispose au total de 28 imprimantes décrites comme suit : (voir tableau 1.3)

Tableau 1.2 : Description des imprimantes

Quantité

Equipements

Caractéristiques

Fonction ou destination

05

Imprimante HP P2015

Hors réseau

Bureaux intérieurs du pays

10

Imprimante HP P2014

Partagé en réseau

Bureaux de lomé

02

Imprimante HP 1300

Hors réseau

Bureaux money Gram

08

Imprimante HP 1200

Partagés en réseau

Service de la direction

03

Imprimante HP 1020

Hors en réseau

Directeur Général, Directeur technique et commercial, Missions

1.2 LOGICIELS

§ Applications

La FEDAS-TOGO dispose de trois applications 

L'application <<auto>> qui permet la gestion des émissions de contrats d'assurances automobiles.

L'application <<Compta>> permettant la gestion de toutes les opérations comptables.

L'application <<Tras/78>> permettant la gestion de toutes les opérations de réassurance.

Le logiciel <<GESATES>> est un logiciel conçu pour la gestion des attestations provisoires.

Toutes les autres activités de la société sont assurées par Word et Excel.

III. SERVICE INFORMATIQUE DE LA FEDAS-TOGO

Nous consacrerons cette section à la présentation du service Informatique et de l'Organisation, lieu effectif de notre stage à la FEDAS-TOGO.

1. Le service Informatique et de l'Organisation

Le service Informatique et de l'organisation qui dépend directement de la direction technique a pour rôle de répondre aux besoins de la société en ce qui concerne l'aspect informatique de son système de traitement de l'information. Il s'occupe de tout ce qui a trait au Système d'Information Automatisé (S.I.A) de la FEDAS-TOGO, notamment des aspects de développement, d'exploitation, de maintenance, de bureautique et réseau.

Le service informatique et de l'organisation, pour être à la hauteur des tâches qui lui sont assignées, s'est subdivisé en deux sections. Ce sont 

s Section Applications Spécifiques qui s'occupe du développement des applications, de leur gestion et de leur maintenance.

s Section Réseau et Maintenance assurant la maintenance de tout le parc informatique. Cette section est confiée la société <<Génie informatique>> qui s'occupe de la maintenance.

DEUXIEME PARTIE :

ETUDE PREALABLE

Cette étape constitue une réflexion globale sur le domaine concerné par notre projet. Elle permettra de faire ressortir la problématique, et de définir les objectifs, d'étudier l'existant et de proposer des solutions.

I. Problématique et objectifs du projet

A. Problématique

Dans le cadre de son programme de restructuration et d'amélioration de ses prestations, la FEDAS-TOGO a effectué un certain nombre d'audits pour déceler les domaines où il est nécessaire de faire des reformes.

Il a été remarqué entre autres beaucoup insuffisances dans l'organisation et la gestion de son infrastructure informatique. En effet, le nombre sans cesse croissant des ordinateurs dans le cadre de ses activités de plus en plus ascendantes entraîne une quantité plus importante d'informations à gérer à l'administrateur réseau. Or la gestion d'un parc informatique est un travail de chaque instant. Un bon administrateur système doit savoir à tout moment l'état des différentes machines et des différents services. Un autre aspect clé est que l'administrateur ne peut pas se permettre de passer son temps devant un tableau avec des voyants verts en attendant qu'un voyant passe au rouge pour agir. Son temps est occupé à d'autres tâches et il ne peut donc pas surveiller le tableau de statut en permanence.

L'examen journalier des logs systèmes est un bon début. Cependant, si un problème survient, on s'en rend compte seulement le lendemain. Ce qui peut être trop tard. Tout problème ou panne peut avoir de lourdes conséquences aussi bien financières qu'organisationnelles. La supervision des réseaux est alors nécessaire et indispensable.

Un réseau informatique peut être l'objet de nombreux problèmes tels que l'indisponibilité d'un ordinateur ou la défaillance physique du réseau. Les risques sont multiples. De plus, la FEDAS-TOGO, qui est une institution financière gère également les transactions monétiques avec sa filiale Afrique Finance (Money Gram). Toute indisponibilité, même d'une seconde, pourrait coûter des millions de FCFA, la nécessité d'empêcher ou d'atténuer les indisponibilités est vitale.

En plus la non utilisation d'outils de supervision pose plusieurs problèmes à l'équipe d'exploitation informatique.

La supervision est donc un volet prioritaire dans la disponibilité des services offerts aux clients de la FEDAS-TOGO. Il faut noter aussi que la FEDAS-TOGO ne dispose d'aucun outil de supervision pour la surveillance des ressources matérielles et logiciels du parc informatique ce qui pose plusieurs problèmes au service informatique.

- Pas d'alerte en cas de problème d'une unité de production

- Difficulté d'apprécier une panne car il n'y a pas d'outil le permettant

- En cas de problème aucune identification de la panne n'est possible avant l'arrivée de l'équipe de la société de maintenance.

Ces différentes limites font ressortir alors plusieurs questions fondamentales que nous nous tentons de résoudre tout au long de ce document :

- Comment convaincre les dirigeants pour l'achat d'un logiciel de supervision ?

- Comment intégrer les outils de supervision libres dans la plate forme déjà mis en place au sein de la FEDAS-TOGO ?

Devant ce constat et dans le cadre de ce mémoire, nous avons fixé l'objectif de concevoir et de réaliser un système de monitoring informatique, qui pour le mettre en oeuvre, nous nous dirigeons naturellement vers une solution libre.

Pourquoi les outils libres (gratuits), pour minimiser considérablement le coût de l'implémentation du système de monitoring. En plus la demande à la direction générale de l'achat d'un logiciel de supervision a eu pour réponse « cette dépense n'est pas prévu dans le budget en cours ». Donc pour pallier immédiatement à ce grave manquement la seule solution rapide est l'utilisation de logiciels qui coûtent zéro francs. Mais force est de constater aussi que malgré l'existence des logiciels de supervision à prix élevé proposés par des sociétés (logiciels propriétaires) HP Rams 41 224,00 Euro, IMB Tivoli Storage Manager 2 192.14 Euro, les outils proposés par le monde du libre s'avères plus efficaces en terme de sécurité et de fiabilité. Nous rappelons que avec les outils libres seule prestation du service d'implémentation qui est facturée elle est généralement d'environ 700 000 Fcfa (1 068,7 Euro).

Pour pouvoir intégrer un tel système dans la plate forme déjà en place sans rien modifier nous avons pensé à la virtualisation, ce qui nous permettra de créer une machine virtuelle qui sera le serveur sur lequel sera installé tous les logiciels (plus précisément nagios centreon et MRTG) pour l'implémentation du système de monitoring. Elle nous permet d'avoir une indépendance vis-à-vis du matériel (la machine virtuelle ne gère pas le matériel) ; elle assure une disponibilité car en cas de panne physique non critique, il est simple et rapide de copier à chaud un serveur virtuel vers un serveur hôte différent. De plus étant donné que nous évoluons dans le domaine du libre nous aurons besoin d'expérimentations et tests et seule la virtualisation facilite la gestion et test de plusieurs versions d'applicatifs de manière indépendante et sans risque sans oublier aussi le fait qu'elle permet de répondre rapidement aux besoins de nouveaux serveurs.

B. Objectifs

L'objectif général de la supervision est de répondre aux préoccupations suivantes :

- Technique : surveillance du réseau et des systèmes,

- Applicative : surveillance des applications et des processus métiers.

A ces préoccupations majeures s'ajoutent les actions indispensables à la surveillance du système. Ce sont les actions automatisées ou manuelles en fonction d'alertes définies.

La supervision s'applique à plusieurs domaines :

- les réseaux informatiques,

- les systèmes informatiques

- les ressources techniques,

- les bases de données,

- les applications,

- les systèmes d'information

L'objectif spécifique de notre travail est de centraliser et monitorer sur une machine virtuelle toutes les informations concernant une infrastructure informatique à plusieurs niveaux :

- Services (vérifier que les services sont bien fonctionnels) ;

- Machine (état du système de fichiers, chargement mémoire et CPU, ...) ;

- Réseau (engorgement du réseau, bande passante, table de routage, ...) ;

La plate-forme de travail sera composée des distributions linux Red Hat Entreprise, fedora et Microsoft Windows.

Pour réaliser ce travail, nous comptons passer par les étapes suivantes :

- Etudier les systèmes de supervision et leurs principes.

- Etudier les systèmes de virtualisation et leurs fonctionnalités.

- Implémenter nagios centreon et MRTG en montrant tout le processus d'installation et de configuration.

- Tester et estimer cette architecture.

TROISIEME PARTIE :

ETUDE DETAILLEE

L'étude préalable nous a permis d'avoir une vue sur la gestion actuelle du réseau de la fedas-togo. Cette troisième partie nous permettra de faire une étude détaillée des deux grands concepts qui permettrons la mise en place d'un système de monitoring centralisé de haute disponibilité de l'infrastructure informatique de la société : la virtualisation et la supervision.

CHAPITRE 1 : La virtualisation

1. historique

La virtualisation est au centre de plusieurs débats informatiques de nos jours.

Mais beaucoup de personnes ne réalisent pas que la virtualisation n'est pas un nouveau concept. La virtualisation a été développée dans les années 1960 sur les mainframes IBM. IBM System/370 a été la première plateforme commercialisée conçue pour la virtualisation. Avec l'introduction du système d'exploitation CP/CMS, plusieurs instances de systèmes d'exploitation peuvent être exécutés simultanément sur les mainframes IBM system/370.

La combinaison matérielle et logicielle pour supporter la virtualisation fut au centre des travaux de recherches et est devenue une base dans la lignée des mainframes IBM. Par conséquent tous les mainframes IBM récents dans la lignée des systèmes Z continuent de fournir un support matériel pour la virtualisation. Le logiciel originel CP/CMS a été remplacé par le z/VM (Virtual Machine) qui exploite plus efficacement le matériel de virtualisation.

De nombreuses approches de virtualisation moderne doivent beaucoup à l'implémentation originale des mainframes d'IBM.

Dans la deuxième moitié des années 80 et dans les débuts des années 90, on a créé des embryons de virtualisation pour les ordinateurs personnels.

En effet l'ordinateur Amiga pouvait lancer des pc x386, Macintosh 68xxx, voire des solutions X11, et bien sûr le tout en multitâche. Ces solutions pouvaient être soit purement logicielles, soit couplées à du matériel additionnel (ajout de processeur, carte réseau...). Cette machine, très en avance sur son temps, a popularisé cette technologie. Pour les PC il y avait le "SideCar" et "PC Task", pour le Macintosh Emplant et ShapeShifter.

Les grands Unix ont suivi avec les architectures NUMA des Superdome d'HP

(PARISC et IA64) et des E10000/E15000 de Sun (UltraSparc). Dans la seconde moitié des années 1990, les émulateurs sur x86 des vieilles machines des années 1980 ont connu un énorme succès, notamment les ordinateurs Atari, Amiga, Amstrad et les consoles NES, SNES, NeoGeo AES.

La société VMware développa et popularisa à la fin des années 1990 et au début des années 2000 un système propriétaire de virtualisation logicielle des architectures de type x86 pour les architectures de type x86. Les logiciels libres Xen, QEMU, Bochs, LinuxVServer , Virtual Box et les logiciels propriétaires mais gratuits VirtualPC, VirtualServer et VMware Server ont achevé la popularisation de la virtualisation dans le monde x86. VMware a dernièrement rendu gratuit une version allegée de son hyperviseur phare ESX3i.

Les fabricants de processeurs x86 AMD et Intel ont mis en oeuvre la virtualisation matérielle dans leurs gammes dans la seconde moitié de l'an 2000.

2. pourquoi virtualiser ?

Qu'attendent les entreprises de la virtualisation ?

- La réduction du nombre de serveurs

- La réduction de l'espace occupé dans les datacenters

- La réduction de la consommation énergétique des datacenters

- Réduction des coûts d'administration

- Amélioration de la flexibilité et de la rapidité des services

- Amélioration de la qualité de services

Les deux grandes mouvances du monde de la virtualisation

Les solutions libres : Tableau 1.3 exemple de quelques solutions libres

Produits

Virtualisation

Installation

Licence

Bochs

Emulation

Hébergé

LGPL

QEMU

Emulation

Hébergé

LGPL/GPL

User Mode Linux (UML)

Para

Hébergé

GPL

LGuest

Para

Bare Metal

GPL

OpenVZ

Cloisonnement

Bare Metal

GPL

Linux VServer

Cloisonnement

Bare Metal

GPL

Xen

Complète / Para

Bare Metal

GPL

KVM

Complète

Bare Metal

GPL

Solaris

Containers Cloisonnement

Hébergé

CDDL

BSD Jails

Cloisonnement

Hébergé

BSD

Wine

Bibliothèque

Couche applicative

GPL

Java Virtual Machine

Niveau applicatif

Couche applicative

GPL

Les logiciels payants :

- VirtualPC et VirtualServer (Microsoft)

- VirtualBox (Oracle Corporation)

- Vmware

- Parallels Desktop et Parallels Server (Parallels)

3. Définitions et Concepts

3.1 Définitions

La virtualisation est dans sa définition la plus simple une abstraction du matériel (un ordinateur) à partir du logiciel.

L'encyclopédie francophone en ligne Wikipédia définit la virtualisation comme « l'ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation et/ou plusieurs applications, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes ».

Il s'agit donc d'utiliser une seule machine physique en remplacement de plusieurs et d'utiliser les possibilités offertes par la virtualisation pour démultiplier le nombre de machines virtuelles. Il existe plusieurs catégories de virtualisation, utilisant chacune des technologies différentes. Les technologies les plus répandues sont :

- L'émulation (Emulation)

- La virtualisation complète (Full Virtualization)

- La paravirtualisation (Paravirtualization)

- Isolateur ou Cloisonnement (Operating System level virtualization)

- La virtualisation matérielle

Pour être complet, nous allons aussi brièvement énumérer deux autres types de virtualisation même s'ils ne sont pas capables d'exécuter un système d'exploitation complet:

- Virtualisation des bibliothèques (Library virtualization)

- Virtualisation au niveau applicatif (Application Level virtualization)

3.2 Concepts

3.2.1 Emulation

Dans l'émulation, la machine virtuelle simule le matériel et l'ensemble des instructions nécessaires pour exécuter sans modification des clients d'une architecture matérielle complètement différente.

En règle générale, l'émulation est utilisée pour créer des systèmes d'exploitation nouveaux ou microcodes pour de nouveaux matériels, avant que le matériel ne soit disponible physiquement.

Applications

Applications

Applications

 

OS invité

non modifié

pour A

OS invité

non modifié

pour A

OS invité

non modifié

pour B

 

... Matériel virtuel - Machine A

Architecture Y

Matériel virtuel - Machine B

Architecture Z

Matériel physique - Architecture X

Figure 3.1 : EMULATION

L'émulateur de machines virtuel fournit une architecture virtuelle qui peut être différente de l'architecture du système hôte.

Les OS invités s'exécutent sans modification sur le matériel virtuel.

3.2.2 Virtualisation complète

La virtualisation complète (full virtualization) est similaire à l'émulation.

Comme dans l'émulation, les systèmes d'exploitation et applications non modifiés s'exécutent dans la machine virtuelle. La virtualisation complète diffère de l'emulation dans le fait que les systèmes d'exploitation et applications sont conçus pour fonctionner sur la même architecture que celle de la machine physique hôte.

Ce qui permet à un système de virtualisation complète d'exécuter plusieurs instructions directement sur le matériel physique sousjacent.

L'hyperviseur dans ce cas, donne l'accès au matériel physique et donne à chaque système d'exploitation invité l'illusion d'avoir sa propre copie. Il ne doit plus utiliser un logiciel pour simuler une architecture de base différente.

Applications

Applications

 
 

... OS invité

non modifié

pour X

OS invité

non modifié

pour X

Interface

de gestion

de l'hyper viseur

Hyperviseur (Moniteur des machines virtuelles)

Matériel physique - Architecture X

Figure 3.2 : VIRTUALISATION COMPLETE

L'hyperviseur présente le matériel physique du système hôte à tous les systèmes invités. Les systèmes d'exploitation invités ont un accès au matériel sousjacent et s'exécutent sans modification et n'ont pas conscience qu'ils sont virtualisés.

3.2.3 Paravirtualisation

Dans la paravirutalisation, l'hyperviseur exporte une version modifiée de la machine physique hôte. La machine virtuelle exportée a la même architecture que le système hôte; ce qui n'est pas forcément le cas dans l'émulation.

Le système d'exploitation invité requière quelques légères modifications pour fonctionner sur l'architecture émulée par l'hyperviseur.

Les modifications effectuées visent à rendre le système émulé « au courant » du fait qu'il s'exécute dans une machine virtuelle. De ce fait, il pourra collaborer plus étroitement avec le système hôte, en utilisant une interface spécifique et accéder au matériel virtuel via des couches d'abstraction.

Applications

Applications

 
 

... OS invité modifié

Système 1

OS invité modifié

Système 2

Interface

de gestion

de l'hyper viseur

Hyperviseur (Moniteur des machines virtuelles)

Matériel physique - Architecture X

Figure 3.3 PARAVIRTUALISATION

La paravirtualisation est similaire à la virtualisation complète à la seule différence que les systèmes invités sont modifiés et ont conscience qu'ils s'exécutent dans un environnement virtuel.

3.2.4 Cloisonnement

Une autre pratique répandue dans le domaine de la virtualisation est le cloisonnement.

Derrière ce nom se cachent plusieurs technologies visant à séparer fortement les processus s'exécutant sur un même système d'exploitation. Le cloisonnement vise à isoler chaque processus dans un conteneur dont il est théoriquement impossible de sortir. Un processus isolé de la sorte ne saura pas quels autres processus s'exécutent sur le même système, et n'aura qu'une vision limitée de son environnement. Le but principal de cette technologie est d'améliorer la sécurité du système d'exploitation et des applications.

Avec le cloisonnement tous les serveurs virtuels privés sont exécutés dans le contexte d'un seul système d'exploitation partagé installé sur le matériel physique.

Serveur privé 1

Serveur privé 2

 

... Serveur privé N

Unique système d'exploitation partagé

Matériel physique - Architecture X

Figure 3.4 CLOISONNEMENT

4. La virtualisation materielle

Le support de la virtualisation peut être intégré au processeur ou assisté par celui-ci, le matériel se chargeant, par exemple, de virtualiser les accès mémoire ou de protéger le processeur physique des accès de bas niveau.

Cela permet de simplifier la virtualisation logicielle et de réduire la dégradation de performances.

5. Virtualisation des bibliothèques

La virtualisation bibliothèque émule les systèmes d'exploitation ou de soussystèmes via une bibliothèque de logiciels spéciaux.

Un exemple de ce type de virtualisation est la bibliothèque de Wine disponible sur les systèmes Linux. Wine fournit un sousensemble de l'API Win32 comme une bibliothèque pour permettre aux applications de bureau Windows d'être exécutées dans un environnement Linux.

6. Virtualisation au niveau applicatif

La virtualisation au niveau applicatif est l'approche de l'exécution d'applications dans un environnement d'exécution virtuel. Ce qui est différent de l'exécution normale d'une application sur un matériel.

L'environnement d'exécution virtuel fournit une API standard (Americain Petroleum Institute) pour l'exécution multiplateforme et gère l'utilisation des ressources locales par l'application. Il peut également fournir des ressources telles que le modèle de thread, les variables d'environnement, les bibliothèques d'interface utilisateur et les objets qui aide à la programmation d'applications.

L'exemple le plus répandu d'un tel environnement d'exécution virtuel est le

Sun Java Virtual Machine.

7. Virtualisation : Avantages et Inconvénients

7.1 Avantages de la virtualisation

La virtualisation présente beaucoup d'avantages dans l'environnement de plus en plus dynamique des systèmes d'information:

. Plusieurs systèmes différents sur un même matériel physique

. Dimensionnement des machines virtuelles selon la demande

. Consolidation des serveurs et des services

. Un service = un serveur

. Economies substantielles sur le matériel et consommation énergétique

. Suppression des contraintes liées aux matériels ou aux versions de logiciels

. Haute disponibilité grâce à la Live Migration et aux clichés instantanés

. Fourni un environnement de tests aux développeurs et professionnels

. Tirer un meilleur avantage des processeurs récents multicore

. Reduction du TCO (Total Cost Ownership)

. Réduction des espaces occupés par les serveurs

. Protection de l'environnement

7.2 Inconvénients de la virtualisation

Comme toutes solutions informatiques, la virtualisation présente des contraintes

. Le matériel doit être dimensionné au besoin (Processeurs, Disques, Mémoires.)

. Certaines solutions de virtualisation requièrent des matériels compatibles

. Toute la sécurité de l'infrastructure virtuelle dépend de l'hyperviseur

. Coût de la formation sur la solution de virtualisation à implémenter

. L'administration d'un serveur physique est différente d'un serveur virtuel

. Faibles performances

. Toutes les machines virtuelles invitées dépendent de la machine physique hôte

7.3 La sécurité en virtualisation

. L'hyperviseur se charge de l'isolement des machines virtuelles

. Une meilleure sécurité peut être garantie lorsque les machines hôtes sont mises en cluster; évitant les points d'échec unique (single point of failure)

. La redondance est aisée diminuant ainsi les risques

. La spécialisation de chaque machine virtuelle dans un service précis permet d'avoir des politiques de sécurité propres à chaque serveur virtuel

8. VMware 

8.1 Présentation

VMware est un outil gratuit et propriétaire simulant des machines virtuelles et permettant de faire fonctionner des systèmes d'exploitation au-dessus d'un système d'exploitation hôte. Donc VMware est un produit distribué gratuitement, mais soumis à une licence propriétaire.

Ce logiciel permet de créer vos propres machines virtuelles, afin d'y installer vos propres systèmes d'exploitation, et de les faire fonctionner. De plus, vous pouvez importer facilement toute machine virtuelle créée par VMware Workstation, VMware Server ou VMware ESX, de même que les machines virtuelles pour Microsoft Virtual PC et les disques Symantec LiveState Recovery. Le site web de VMware propose aussi de très nombreuses machines virtuelles gratuitement créées par une très forte communauté d'utilisateurs des logiciels VMware.

8.2 La virtualisation dans le cadre du projet

Dans notre contexte nous avons crée une machine virtuelle avec le logiciel de virtualisation Vmware les caractéristiques suivantes :

Mémoire RAM 512 MB

Processeur 1 Ghz

Disque Dur 8 GB

Lecteur CD/DVD (IDE)

Carte Réseau Network Adapter NAT

Un pore USB USB controller

Carte son Sound card

Système d'exploitation Fedora 12

Nous pouvons remarquer aisément que notre machine virtuelle ne dispose pas de carte graphique cela est du au fait que nous avons choisi de d'économiser les ressources. Donc nous avons installé le système d'exploitation Fedora 12 sans interface graphique (en mode text) avec un noyau linux 2.4X (Linux 2.4X Kernel). Mais alors pour avoir une interface graphique dont nous en aurons besoin pour la configuration des logiciels nagios, centreon et MRTG de la plate-forme de monitoring nous accédons à la machine virtuelle par ssh (Secure Shell) depuis la machine hôte. Donc l'utilisation d'un système d'exploitation sans interface graphique offre les avantages de pouvoir déplacer rapidement et simplement les fichiers vers un autre serveur d'hébergement et en plus cela permet d'optimiser le fonctionnement des deux machines puisqu'elles n'auront pas à allouer des ressources pour le fonctionnement de l'interface graphique ni de la carte graphique.

9. Conclusion

La virtualisation, Cette technique permettant d'exploiter le matériel de façon optimale en mutualisant l'utilisation des ressources est un merveilleux concept, ce qui explique actuellement l'aspect virtualisation de système qui est en plein essor.

Les logiciels VMware constituent la première plate-forme de virtualisation du marché. Vmware est un programme assez complet et possède une interface graphique très réussie. Tout se configure en quelques clics de souris et surtout il est régulièrement mis à jour.

CHAPITRE 2 : La Supervision Informatique

1. Introduction

La gestion d'un parc de serveurs est un travail à temps réel. Un bon administrateur réseau doit savoir à tout moment l'état des différentes machines et des différents services.

Cependant, l'administrateur ne peut pas se permettre de passer son temps devant un tableau avec des voyants verts en attendant qu'un voyant passe au rouge pour agir, son temps est occupé à d'autres tâches, donc il ne peut pas surveiller les statuts des machines en permanence. L'examen quotidien des logs systèmes est un bon début, mais, si un problème survient, on s'en rend compte seulement le lendemain, ce qui peut être trop tard.

Pour simplifier leur travail, les administrateurs utilisent généralement ce qu'on appelle un `'moniteur de supervision informatique'', un tel moniteur permet d'avoir une vue globale du fonctionnement de réseau ainsi que du niveau de performances des systèmes, et d'alerter par différents moyens l'apparition d'une anomalie.

Dans ce chapitre, nous allons présenter les notions de base concernant la supervision informatique.

2. Définition de la supervision informatique

En informatique, la supervision est une technique de suivi, qui permet de surveiller, analyser, rapporter et d'alerter les fonctionnements anormaux des systèmes informatiques.

D'un point de vue théorique, Eric D'HEM1(*) explique : « le Monitoring1 s'agit de répéter de manière régulière un processus de test ou de surveillance d'une personne ou d'un bien. Le but étant d'obtenir très rapidement et simplement une vision précise des événements ou anomalies sur la période analysée » .

Entre outre, La supervision informatique consiste à indiquer et/ou commander l'état d'un serveur, d'un équipement réseau ou d'un service software pour anticiper les plantages ou diagnostiquer rapidement une panne.

3. Fonctionnalités et niveaux d'information

Généralement, les moniteurs de supervision regroupent les fonctionnalités illustrées dans la figure suivante :

Figure 3.5: Fonctionnalités de la supervision.

Supervision réseau : elle porte sur la surveillance de manière continue de la disponibilité des services en ligne, du fonctionnement du réseau, des débits et bande passante, de la sécurité, etc.

Supervision système : c'est la vérification de la santé d'un serveur coté ressources matérielles (la mémoire, le CPU, le disque dur, etc.).

Exécution de commandes : qui sont des actions ou programmes lancés automatiquement.

Envoi d'alertes : c'est une émission de message d'alerte sous forme sonore, visuelle ou encore par e-mail.

Cartographie : présente la vue d'ensemble de l'architecture informatique surveillé.

Rapports d'activité (reporting): comme les tableaux de bord et les histogrammes.

Il est à noter qu'à partir de ces fonctionnalités qui sont réalisées par des modules spécifiques constituant le système de monitoring, trois niveaux d'informations se dégagent.

3.1 Informations sur les systèmes

Cette supervision fournira des informations sur le fonctionnement du système

comme l'utilisation du CPU, l'occupation de la mémoire physique, l'espace libre des disques durs, l'état de la table de partitionnement du disque, la chaleur dégagée, etc.

3.2 Informations sur les réseaux

Ce type de surveillance va permettre de diagnostiquer la disponibilité d'un

équipement physique connecté à un réseau. Les technologies employées pour ce type de supervision sont assez simples et le niveau des informations retournées est assez limité. Les matériels visés sont : les commutateurs, les routeurs et les serveurs (disponibilité, interrogation des sondes, alertes), ainsi que les onduleurs (disponibilité, charge, état) et les imprimantes (disponibilité, état de l'imprimante et des consommables).

3.3 Informations sur les applications et services

On va disposer non seulement d'une visibilité sur l'équipement physique mais

également sur les applications qui y sont exécutées et les informations qu'elles

retournent. Ses principaux axes sont : la disponibilité, le nombre d'utilisateurs, la cohérence des réponses aux interrogations et les performances.

Pour les deux derniers cas, les tests devront être effectués par des équipements qui ne sont pas sur la machine, car le serveur est destiné à des utilisateurs externes (par exemple serveur Web connecté à Internet). Le monitoring informatique fournira dans ce contexte, une vision utilisateur depuis les endroits où il est effectué.

Par exemple, le monitoring réseau permet la vérification de la connectivité d'un

serveur Web, qui rend les sites Web accessible par les internautes. Ou encore le monitoring applicatif qui permet la vérification de l'opérationnalité d'un serveur (Apache ou IIS par exemple) et celle du contenu des pages Web.

4. Rôle de la supervision

Deux phases sont importantes pour que les administrateurs soient capables d'atteindre l'objectif voulu par la supervision, à savoir, surveiller le système et garantir sa disponibilité même en cas d'anomalie.

- Tenter de prévenir en cas de problème (défaillances matérielles ou interruption des services) et garantir une remontée d'information rapide ;

- Automatiser les tâches de récupération des applications et des services en assurant des mécanismes de redondance en une durée d'intervention minimale (par exemple : le redémarrage des services interrompus, l'arrêt de la machine en cas du surcharge du CPU, la sauvegarde des données en cas du risque de perte d'un disque dur en miroir, etc.).

5. Aspects de la supervision

La supervision peut porter sur plusieurs aspects de l'informatique. Pour simplifier on peut les classer dans trois catégories principales qui sont les suivantes :

5.1. La Fiabilité : Il s'agit de l'utilisation la plus courante du monitoring informatique. Une surveillance permanente de la disponibilité de l'équipement est effectuée, et ce pour détecter la moindre anomalie et de la signaler à l'administrateur.

5.2. La Performance : Le monitoring de performance a pour but de retourner des informations sur le rendement d'un équipement ou d'un service comme par exemple le temps de résolution DNS, le temps de connexion, le temps de récupération du premier octet et dans le cas d'une page Web le temps de récupération de la page et de l'ensemble des éléments de celle-ci (image, scripts...).

Grâce à cette analyse, on va pouvoir diagnostiquer une montée en charge difficile ou même un surdimensionnement de votre bande passante.

5.3. Le Contenu : Dans ce dernier cas, on analyse les informations retournées par les éléments surveillés pour détecter, par exemple, la suppression d'un fichier sur un serveur FTP, la modification d'une page Web ou encore la disparition d'un mot clef.

Toutes ces approches sont complémentaires et peuvent bien entendu se retrouver

regroupée dans une seule analyse. L'analyse Fiabilité étant implicitement présentée dans le cas d'une analyse Performance et Contenu.

6. Protocole SNMP

Le principe de base de la supervision est d'avertir d'un problème le responsable d'une ressource avant même que les utilisateurs ne s'en aperçoivent, ce responsable pourra ainsi intervenir dans les plus brefs délais sur l'ordinateur ou le service en question. Ceci permet d'être proactif pour un service informatique qui gère de nombreux serveurs sur lesquels résident beaucoup de services.

Il existe plusieurs méthodes pour superviser un système informatique :

Analyser les fichiers `'log'' ou `'journaux'' : qui sont des fichiers regroupant l'ensemble des événements survenus sur un service, une application, un serveur ou tout autre système informatique.

Récupérer des résultats de commandes et de scripts locaux ou distants ;

Utiliser le protocole SNMP (Simple Network Management Protocol) : qui va être expliqué ainsi dessous.

6.1 Définition du protocole SNMP

SNMP est l'abréviation du `'protocole simple de gestion de réseau''. Comme son nom voudrait le faire croire, Il s'agit d'un protocole simple qui permet aux administrateurs réseau de gérer les équipements du réseau et de diagnostiquer les problèmes de réseau.

6.2 Principe de fonctionnement du protocole SNMP

Avec le protocole SNMP, le système de gestion de réseau est basé sur trois éléments principaux : un superviseur, des agents et les noeuds gérés.

Le superviseur est la console qui permet à l'administrateur réseau d'exécuter des

requêtes de management. Les agents sont des entités qui se trouvent au niveau de chaque interface qui connecte l'équipement managé au réseau et qui permette de récupérer des informations sur différents équipements tels que les switchs, les hubs, les routeurs et les serveurs contenant des objets gérables via SNMP. Ces derniers peuvent être des informations matérielles, des paramètres de configuration, des statistiques sur les performances ou encore tout autre objets directement liés au comportement en cours de l'équipement concerné.

Ces objets sont classés dans une sorte de base de données nommée MIB

("Management Information Base") qui est un ensemble d'informations structuré

hiérarchiquement sur une entité réseau. Les informations sont regroupées en arbre.

SNMP permet le dialogue entre le superviseur et les agents afin de recueillir les objets souhaités dans la MIB.

L'architecture de gestion de réseau proposée par le protocole SNMP est donc basée sur trois principaux éléments :

6.3. Les équipements managés : ce sont des éléments du réseau (ponts, hubs,

routeurs ou serveurs), contenant des "objets de gestion" pouvant être des informations sur le matériel, des éléments de configuration ou des informations

statistiques ;

6.4. Les agents : c'est-à-dire une application de gestion de réseau résidant dans un périphérique et chargé de transmettre les données locales de gestion du périphérique au format SNMP ;

6.5. Les systèmes de management de réseau (network management systems notés NMS), c'est-à-dire une console à travers laquelle les administrateurs peuvent réaliser des tâches d'administration.

Voici ci-dessous un schéma qui présente les éléments de base du protocole SNMP:

Figure 3.6: Eléments de base du protocole SNMP.

6.6 SNMP en pratique

Concrètement, dans le cadre d'un réseau, SNMP est utilisé: pour administrer les

équipements et pour surveiller le comportement des équipements.

Une requête SNMP est un datagramme UDP2(*) habituellement à destination du port 161. Les schémas de sécurité dépendent des versions de SNMP (v1, v2 ou v3). Dans les versions 1 et 2, une requête SNMP contient un nom appelé communauté, utilisé comme un mot de passe. Il y a un nom de communauté différent pour obtenir les droits en lecture et pour obtenir les droits en écriture.

Dans bien des cas, les colossales lacunes de sécurité que comportent les versions 1 et 2 de SNMP limitent l'utilisation de SNMP à la lecture des informations car la communauté circule sans chiffrement avec ces deux protocoles. Un grand nombre de logiciels libres et propriétaires utilisent SNMP pour interroger régulièrement les équipements et produire des graphes rendant compte de l'évolution des réseaux ou des systèmes informatiques (MRTG, Cacti, Nagios, Zabbix...).

7. Conclusion

La supervision informatique est indispensable pour une entreprise qui se respecte et dont la défaillance d'un quelconque de ses services informatiques et l'indispensabilité de son système d'information influent sur le rendement global de sa productivité.

Les systèmes de supervision feront l'objet de notre étude, Le chapitre suivant donnera une vue détaillée des différentes infrastructures de monitoring existantes.

Pour pouvoir être efficace, la surveillance doit donc impérativement être effectuée depuis différents points de contrôle sur une architecture distribuée, avec des techniques permettant d'analyser et gérer en permanence les flux.

CHAPITRE 3 : Les Systèmes de Monitoring Existants

1. Introduction

Le marché de la supervision informatique déborde des logiciels de monitoring ; il en existe une diversité, d'autres sont payants et d'autres font parti du monde libre où on peut même trouver des Open Sources, Nous allons dans ce qui suit citer quelque uns et nous détaillerons les plus connus et répandus dans le milieu des entreprises.

2. Le marché de la supervision

Le marché de la supervision peut être découpé en deux grandes sous-parties :

Les offres éditeurs : qui permettent de fournir des moniteurs de supervision

payants. Les offres du monde libre : qui permettent d'avoir des moniteurs gratuits (Open-source).

2.1 Les offres éditeurs

Les gros éditeurs logiciels ont rapidement compris que la supervision était une

ressource clé pour les entreprises qui, de plus en plus, utilisent leur système d'information et ont donc besoin d'une disponibilité toujours plus grande de leur infrastructure informatique. Par conséquent, la supervision est un domaine dans lequel les sociétés n'hésitent pas à investir depuis quelques années. Ayant rapidement compris cela, les gros éditeurs logiciels sont donc très vite entrés dans la course aux logiciels de supervision.

Aujourd'hui, la majorité des gros éditeurs logiciels propose des outils complets de supervision. On retrouve, parmi les plus connus :

- ?HP : la gamme Openview (NNM, OVO, ...); IBM : Tivoli ; BMC : Patrol ; Computer ; Associates : Unicenter TNG.

Ces outils, véritables frameworks de la supervision, possèdent tous leurs avantages et inconvénients face à la concurrence. Et bien entendu, tous ont également le même défaut, à savoir: leurs prix coûteux.

Cette constatation faite, il est alors logique de voir de plus en plus de sociétés

aujourd'hui regarder du côté du logiciel libre, où les projets commencent depuis quelques années à devenir de plus en plus professionnels et suivis.

Dans ce qui va suivre, nous présenterons deux leaders des logiciels payants de supervision: HP OpenView et IBM Tivoli.

2.1.1 HP OpenView

HP OPEN VIEW est un outil de supervision reconnu sur le marché. Son principal avantage est la centralisation des informations sur un seul poste. Il a pour rôle de gérer et de surveiller entre autre les infrastructures et services réseaux. Ce logiciel est donc destiné aux moyennes et grandes entreprises qui souhaitent avoir une vue globale de leur réseau et de son état (voir ANNEXE 1).

a. Principe de fonctionnement

HPOV est un produit qui propose, aux personnes chargées de l'exploitation des

systèmes d'information, un outil favorisant :

i. une vue globale du système d'information ;

ii. un contrôle homogène des différents composants du système informatique ;

iii. une vision des incidents et leur impact.

La plate-forme HP OpenView est composée principalement de :

OVOW (OpenView Opération for Windows): composé d'une base SQL SERVER;

Le logiciel est assorti d'un serveur HTTP Apache pour l'accès aux interfaces Web des outils.

b. La console OVOW

La console OVOW permet à l'opérateur d'avoir une vision globale de son réseau

informatique. L'opérateur peut visualiser d'un seul coup d'oeil la disponibilité globale d'un service, la gravité d'une erreur, la raison principale de cette erreur.

§ Les noeuds

Pour OVOW, chaque client est un « noeud ». Un noeud correspond donc à un élément surveillé (un noeud peut être un serveur, un photocopieur ...).

§ Les agents OVOW

OVOW a besoin d'un agent pour pouvoir surveiller un élément. Un agent OVOW est un programme que l'on déploie à partir du serveur HPOV sur un noeud. On doit spécifier à cet agent un domaine cible (Que doit-on surveiller ?).

L'agent OVOW est composé d'une mini base de données très sécurisée nommée base Coda. L'agent stocke ses les informations liées aux métriques de performances du matériel surveillé dans la base Coda ensuite le serveur se connecte à cette base toutes les 4 minutes (variable paramétrable), et récupère les informations et les stockent dans sa base SQL SERVER.

2.1.2 IBM Tivoli Monitoring

Les solutions IBM Tivoli Monitoring sont conçues pour une meilleure gestion des applications en ligne essentielles à l'entreprise en :

- surveillant de manière proactive les ressources système vitales ;

- en détectant efficacement les goulets d'étranglement et les problèmes potentiels ;

- en répondant automatiquement aux événements.

En s'appuyant sur les meilleures pratiques pour identifier et résoudre les problèmes d'infrastructure, il a été conçu pour aider les opérateurs à surveiller et gérer les matériels et logiciels essentiels, comprenant les systèmes d'exploitation, les bases de données et les applications sur des environnements répartis.

Ce moniteur de supervision se classe parmi les leaders du domaine, puisque il offre de nombreux avantages. En effet, il :

- Surveille de manière proactive les composants vitaux de votre infrastructure à la demande, en vous aidant à isoler et prévenir rapidement les problèmes de

performance ;

- Visualise les mesures de performances historiques et en temps réel sous forme de tableaux et graphiques, avec en plus des conseils spécialisés et des actions

automatiques au sein d'IBM Tivoli Enterprise Portal ; Consolide la surveillance et la gestion de systèmes répartis et de systèmes hôte à l'aide d'une seule console de travail personnalisable ; Fournit des outils de surveillance puissants et personnalisables à davantage d'opérateurs nécessitant beaucoup moins de compétences et formation en programmation pour déployer le produit ;

- Aide à réduire les coûts opérationnels informatiques globaux en simplifiant l'installation et la configuration, et en déployant des règles allégées avec des fonctionnalités de surveillance automatique ;

- Effectue automatiquement le suivi de l'état des principaux composants de votre environnement informatique complexe et reçoit des alertes uniquement en cas d'incident ; Aide à optimiser l'offre de services informatiques en intégrant des produits de gestion et des processus informatiques pour stimuler les performances et respecter les accords de niveau de service ;

- Aide à optimiser le temps de réalisation en simplifiant l'installation et la surveillance, avec également des fonctionnalités de gestion s'appuyant sur des technologies pointer-cliquer.

2.2 Les offres du monde libre

Depuis une dizaine d'années déjà, plusieurs projets de supervision ont vu le jour au sein de la communauté du logiciel libre. Il suffit pour cela d'aller faire une simple recherche sur le Net pour se rendre compte de la multitude de projets émergeants autour de la supervision système et réseau.

Nous présenterons ainsi, les systèmes de monitoring plus populaires.

NAGIOS ou Net saint3(*) (qui sera détaillé par la suite) est le principal logiciel Open Source de supervision de réseaux et de systèmes; c'est le plus rependu et le plus suivi par la communauté de développeurs. Par conséquent, il est adapté aux systèmes d'information de taille moyenne ou importante ;

MRTG est un outil de supervision du trafic de liens réseaux. Il peut s'intégrer

étroitement à des solutions comme Nagios.

MRTG (Multi Router Traffic Grapher) génère des pages HTML de représentation en temps réel du trafic réseau. Le logiciel prend toute sa dimension comme produit fini, mais également comme brique spécialisée d'une solution intégrée plus large. Il s'intègre notamment parfaitement dans la solution de supervision de Nagios. Son architecture logicielle permet l'intégration sur des plates-formes et composants hétérogènes.

CACTI est un logiciel de supervision réseau basé sur RRDTool (Voir ANNEXE 2). Il peut-être considéré comme un successeur à MRTG et également comme une interface à RRDTool. Cacti permet de représenter graphiquement divers statuts de périphériques réseau utilisant SNMP ou encore grâce à des scripts (Bash, PHP, Perl, VBs...) pour avoir par exemple l'espace disque restant ou bien la mémoire utilisée, la charge processeur ou le ping d'un élément actif. Les données sont récoltées auprès des différents agents SNMP (ou auprès des scripts locaux) grâce à un script php. Pour de meilleures performances un exécutable, nommé cactid, peut également effectuer les interrogations.

ZENOOS représente une alternative à des plates-formes de supervisions comme Tivoli ou OpenView, notamment pour les entreprises de taille moyenne (Voir ANNEXE 3). Il assure des fonctions de découverte, d'inventaire, de supervision de la disponibilité, de gestion de la performance, de gestion des évènements et des alertes qui peuvent être envoyées par email (Voir ANNEXE 4). Le produit fédère et s'interface avec de nombreux utilitaires de supervision et d'administration open source. Zenoss est disponible en version GPL ou commerciale (avec support).

Le moniteur Nagios qu'utilise actuellement le client d'INEODEV Limited et que nous allons le décrire, ainsi dessous, est considéré comme la solution la plus aboutie dans son genre et la plus utilisée dans le monde du logiciel libre de supervision.

A- NAGIOS :

Nagios, le successeur de Netsaint, est un logiciel de monitoring et de supervision libre sous licence GPL.

Il offre une solution de surveillance efficace dans un système informatique complexe. Il permet de surveiller le bon fonctionnement des services d'une ou plusieurs machines dans un réseau hétérogène. Il est écrit en C et fonctionne grâce à un ensemble de plugins (qui eux peuvent être écrits dans n'importe quel langage).

Prévu à l'origine pour fonctionner sous Linux, Nagios devrait fonctionner également sous les autres systèmes Unix.

Plusieurs améliorations ont été apportées à Nagios pour qu'il devienne un partenaire simple à utiliser et remarquablement fiable et efficace.

1. Fonctionnalités de Nagios

Nagios offre à l'utilisateur plusieurs fonctionnalités, à savoir :

- Surveillance des services réseaux (SMTP, POP3, HTTP, NNTP, PING, etc.) ;

- Surveillance des ressources des hôtes (charge processeur, utilisation des disques, etc.) ;

- Permettre aux utilisateurs de développer facilement leurs propres vérifications de services grâce à son système de plugins ;

- Paralléliser la vérification des services ;

- Possibilité de définir la hiérarchie du réseau en utilisant des hôtes "parents", ce qui permet la détection et la distinction entre les hôtes qui sont à l'arrêt et ceux qui sont injoignables ; Notifications des contacts quand un hôte ou un service a un problème et quand celui-ci est résolu ;

- Possibilité de définir des gestionnaires d'évènements qui s'exécutent pour des

évènements sur des hôtes ou des services, pour une résolution proactive des

problèmes ;

- Rotation automatique des fichiers log ; Support pour l'implémentation de la surveillance redondante des hôtes ;

- Interface web optionnelle, pour voir l'état actuel du réseau, notification et historique des problèmes, fichiers log, etc. ;

- Une interface permettant l'intégration simple de plugins ;

- De prévenir par email ou par toute autre méthode personnalisée en cas de problème ;

- Déclencher des procédures personnalisées pour résoudre les problèmes ;

- La consultation des différents événements et données collectés via une interface web ;

- Archivage automatique des données collectées ;

Dans la figure suivante, les fonctionnalités de Nagios se résument :

Figure 3.7 : Fonctionalités de Nagios.

Cependant, pour pallier aux éventuelles lacunes du Nagios, des plugins peuvent être ajoutés qui sont personnalisés selon les besoins d'utilisation, pour accomplir ou améliorer d'autres services et tâches.

2. Architecture de Nagios

Nagios est un programme modulaire de telle sorte que son évolution puisse être facile, il se compose principalement de trois parties :

2.1. L'ordonnanceur : c'est le moteur de l'application qui s'occupe de l'ordonnancement des tâches de supervision.

2.2. L'interface Web : qui permet d'avoir une vue d'ensemble du système

d'information et des possibles anomalies, Nagios s'appuie sur simple serveur

Web tel apache basé sur des CGI.

2.3. Les sondes : Les sondes de Nagios (Plugins ou Greffons) sont de petits scripts ou programmes qui sont à la base des vérifications. Ces minis programmes que l'on peut compléter selon nos besoins pour superviser chaque tache Nagios peut aussi gérer ses données dans des bases de données (MySQL ou PostgreSQL) ou bien dans des fichiers textes.

La figure 4 montre cette architecture:

Figure 3.8 : Architecture de Nagios.

3. Principes de bases de Nagios

Les Common Gate Interface (CGI) : C'est une technologie standard implémentée à tous serveurs Web. Elle permet l'échange de données entre un programme et le contenu d'une page Web visualisée par un internaute distant. Un tel programme peut être écrit à l'aide de n'importe quel langage de programmation : les plus utilisée sont le langage C, Perl ou encore Python.

Les Plugins : A la différence de beaucoup d'autres outils de supervision. Nagios ne dispose pas de mécanisme interne pour vérifier l'état d'un service, d'un hôte,etc.

Il utilise des programmes externes appelés Plugins, Les Plugins sont des

programmes exécutables ou scripts (Perl, Shell, Etc.) qui peuvent être lancés depuis une ligne de commande pour tester un hôte ou un service. Nagios utilise le résultat de cette action pour déterminer le statut des hôtes ou services sur le réseau. Pour Nagios peu importe ce que fait un Plugin, seul le résultat compte. Les Plugins permettent aux utilisateurs de développer facilement leurs propres vérifications de services. Ces plugins fonctionnent soit en local sur la machine supervisée, soit exécutent des tests à distance (tels sur des protocoles réseaux tels Http, Smtp ou exécution distante via Ssh ou autres).

Ce concept est illustré dans la figure suivante :

Figure 3.9 : Fonctionnement d'un Plugin de NAGIOS.

4. Mise en réseau de la supervision avec Nagios

Les plugins locaux au serveur de supervision sont exécutés directement par Nagios. La vérification d'un service à distance (par l'exécution d'un Plugin situé sur une autre machine ou par SNMP) se fait elle aussi par le biais de l'exécution d'un Plugin local au serveur Nagios qui n'est en fait qu'un ordonnanceur de tâches dédiées à la supervision. Nagios n'a pas pour vocation d'intégrer des fonctionnalités de vérification de bon fonctionnement quelconques autres que ses fonctions internes.

Pour l'exécution de plugins à distance, plusieurs possibilités existent:?

- Par le biais d'autres serveurs de supervision Nagios distants : dans le cas de la

supervision distribuée qui concentre la vérification sur un site distant, et ne

remonte que les problèmes.

- Les agents de transport ou d'exécution des tests, tels :

4.1. NRPE (Nagios Remote Plugin Executor) qui permet l'exécution à la demande de Plugins à distance, à choisir parmi un certain nombre de services disponibles. C'est ce qu'on appelle la supervision active.

4.2. NSCA (Nagios Service Chek Acceptor) qui permet de son coté la remontée

d'information de façon passive vu du point de vue de Nagios, c'est ce qu'on appelle la supervision passive.

L'ordonnancement des vérifications est assuré de façon locale à chaque machine et surtout permet d'inverser le sens des connexions entre serveur supervisé et serveur superviseur qui peut avoir un intérêt dans un réseau sécurisé.

4.3. NSClient++ : qui est un greffon (plugin) lourd pour la supervision des serveurs Windows NT/2K/XP.

4.4. Check_Snmp : pour la supervision basée sur SNMP à travers le réseau.

5. Conclusion

Tous ces logiciels que nous avons décris ci-dessus sont considérés comme un

aboutissement et une réussite dans leur branche, cependant, on voit qu'ils ont tous leurs propres inconvénients qui doivent être résolus.

Un bon moniteur de supervision doit englober tous les avantages de ces derniers et aussi remédier à leurs lacunes et inconvénients afin de converger vers la perfection et atteindre un niveau de supervision et de fiabilité optimum.

Pour cela, la mise en place d'un tel moniteur exige le bon choix de plate-forme de développement qui conduit à la réalisation d'une architecture distribuée fiable et robuste.

B- CENTREON

1. Présentation de centreon


· Surcouche applicative au-dessus de Nagios.


· Intégration d'une interface multi-utilisateurs complète et intuitive.


· Ajout de nouvelles possibilités de supervision.


· Utilisation du langage PHP pour réaliser le client Web.


· Projet français basé sur la licence GPL v2 :


· Large communauté d'utilisateurs.


· Création d'une activité de services par les fondateurs du projet.

2. Les fonctionnalités de centreon


· Interface de configuration des différents éléments de Nagios :


· Hôtes, services, contacts, alertes, etc.


· Formulaires complets et intuitifs.


· Gestion graphique des fichiers de configuration et des plugins. nagios.cfg et resource.cfg


· Politique de gestions des profils utilisateurs (droits, langues, accès aux ressources).


· Stockage des informations de configuration dans des fichiers textes et une base de données.

L'ensemble des fichiers de configuration de Nagios est accessible via l'interface

graphique. Les éléments sont liés entre eux via des formulaires complets et intuitifs.


· Module d'auto-détection des ressources présentes sur le réseau (via NMAP).


· Création de graphes au sein des modules :


· mécanismes de patrons/modèles.


· un module unique, donc moins de ressources systèmes consommées.


· pas d'outil externe.


· Test de validité des configuration de Nagios avant mise en production.

3. Génération des graphes à partir de RRD.

Supervision graphique des données, ce qui permet d'avoir un historique.

Possibilité de comparer des graphes.

Centreon génère les fichiers de configuration de Nagios (/etc/nagios) à partir des

informations saisies dans l'interface Web.

A cela, nous avons ajouté un « toolkit » offrant des fonctionnalités avancées :

Traceroute, Nmap, WOL, reboot, ping, etc.

C- NAGIOS et CENTREON

1. Présentation

Centréon, basé sur Nagios, se présente comme une évolution de celui-ci pour tout d'abord son interface mais aussi ses fonctionnalités. Créé en 2003 par des français souhaitant améliorer Nagios et son interface très austère, Centréon (anciennement Oréon) a été repris par une nouvelle entreprise nommée Merethis.
Centréon reprend donc les avantages du moteur de Nagios et permet ainsi d'être entièrement compatible avec des solutions existantes. Son interface reprend un découpage classique :

Home : Page d'accueil avec Le "Tactical Overview" de Nagios permettant un coup d'oeil rapide aux problèmes survenus et accès aux statistiques des performances du moteur et de ses composants.

Monitoring : Possède plusieurs vues, mais reprend la grande idée de l'arbre des groupes d'équipements. Reprend également la vue Nagios.

Views : Permet d'accéder à tous les graphiques avec un menu arborescent. Accès à une cartographie du réseau en applet Java.

Reporting : Un dashboard ressemblant à celui de Zabbix en ajoutant une frise chronologique de la disponibilité de l'équipement.

Configuration : Pour tout configurer de A à Z.

Administration : Configuration des accès utilisateurs.

Toujours visibles en haut à gauche, un tableau récapitulatif du nombre de machines actives et des éventuelles machines ne répondant plus pour toujours garder un oeil sur l'ensemble du réseau.

2. Avantages

La robustesse et la renommée de Nagios ;

Une interface beaucoup plus sympathique, permettant de tout configurer, de garder un oeil sur tout le réseau en permanence ;

Les utilisateurs de Nagios ne seront pas perdus pour autant, l'interface reprenant avantageusement certaines vues Nagios ;

Une solution complète permettant le reporting, la gestion de panne et d'alarmes, gestion utilisateurs, ainsi que la cartographie du réseau ;

Une entreprise qui pousse le développement ;

Peut être décorelé du serveur Nagios et tourner tout seul sur un autre serveur.

3. Inconvénients

L'interface peut paraître complexe car il existe beaucoup d'options, de vues, cela nécessite une petite formation ;

Un développement qui n'est pas encore en phase avec celui de Nagios : Parfois des problèmes de compatibilité ;

Un peu plus lourd que du Nagios pur.

D- MRTG (Multi Router Traffic Grapher)

1. Présentation

MRTG est un logiciel dédié à la supervision réseau. Il permet d'obtenir toute une série de statistiques (visualisation de charge sur un réseau, utilisation de bande passante...) concernant un appareil informatique (tels que routeurs, serveurs, ou PC) sous forme de représentations graphiques. Il va pour cela chercher des informations directement sur les interfaces des machines du réseau via le protocole SN M P (Simple Network Management Protocol, protocole facilitant l'administration de systèmes à distance).

Outil connu des grandes entreprises, entièrement configurable et gratuit, MRTG (Multi Router Traffic Grapher) est un Freeware constitué de scripts en langage Perl, distribué librement sur le Web. Il présente les résultats de ses recherches sur des pages Web classiques, ce qui facilite nettement l'accès à un utilisateur quelconque, quelle que soit la machine utilisée.

MRTG est un outil réalisé en Perl et en C dans le but de surveiller la charge des liens réseaux. Il génère des pages html contenant des images au format PNG qui représentent graphiquement l'état en temps réel de la ressource surveillée. Le principe est simple : un script Perl recherche les données via le protocole SNMP et envoi celles-ci à un programme C qui va les stocker et générer les graphiques.
A la base l'auteur avait dans le but de surveiller le trafic passant par des routeurs, mais MRTG se basant sur SNMP, les possibilités se sont étendues à toute variable. Encore mieux, on peut aussi créer un script qui surveillera n'importe quelle type de donnée non disponible dans SNMP. On possède ainsi un système de surveillance déjà conséquent qui permet sur une même page de surveiller un réseau et de garder les traces des anciennes données.

2. Les avantages du MRTG

MRTG possède de nombreux avantages :

- MRTG est un logiciel gratuit, développé par une communauté de développeurs passionnés.

- MRTG est un outil multi plateforme (Linux,Unix,Windows), car il utilise un script perl.

-  MRTG étant basé sur le protocole SNMP, il n'est pas limité au simple contrôle du trafic mais on peut contrôler n'importe quelle  variable SNMP que l'on a choisie car MRTG réalise une commande SNMPGET. De plus on peut même employer un programme  externe pour recueillir les données qui doivent être contrôlées via MRTG. Enfin on peut contrôler plus de 50 liens réseaux à partir  d'une machine UNIX ou LINUX.

- Sa configuration se fait par l'intermédiare d'un fichier de configuration, ce qui permet un contrôl total de ses fonctionalités.

 

3. Les inconvénients du MRTG

- Passe trop de temps à créer des pages HTML (mal adapté à des grands sites) ;

- Trop orienté SNMP ;

- Graphiques à deux courbes ;

- Pas de gestion des données non fournies.

QUATRIEME PARTIE

Réalisation

Cette dernière partie nous permettra de concrétiser l'objectif de notre étude c'est à dire la mise en place du système de monitoring proposé dont nous ferons ici une brève présentation.

1. L'environnement technique et les outils

La plate-forme de travail sera composée des distributions Linux Red Hat Entreprise, Fedora, et Microsoft Windows.

Les outils : Apache, SNMP, Iptables, SSH ainsi que tous les outils standards du monde Linux et Vmware.

2. Au niveau des logiciels

Au départ, nous avons dû effectuer une recherche sur les divers outils de monitoring et de sécurité disponibles sur les plateformes Fedora. Les résultats de ma recherche sont :

· pour le monitoring :

Nagios, centreon, Zenoss Utilisation du protocole SNMP (via Net-SNMP),

· pour la génération de graphiques :

RRDTool/MRTG, cacti (pour la génération de graphiques).

3. Au niveau du matériel

Pour l'élaboration de notre recherche, nous avons eu à notre disposition un serveur tournant sous Windows Server 2003, une imprimante HP LaserJet P2015 series et notre ordinateur portable sous RHEL (Red Hat Entreprise Linux 4 update 5).

4. Choix des logiciels et de l'environnement

Pour réaliser notre projet, nous avons choisi d'utiliser comme logiciel de virtualisation Vmware, pour la supervision les logiciels nagios3 couplé à centreon et pour les flux réseaux nous avons opté pour MRTG comme environnement de monitoring Fédora 12.

Le choix de Vmware 6.5 pour la virtualisation s'explique par le fait que c'est l'un des meilleurs logiciels sur le marché de la virtualisation et en plus c'est un logiciel qui existe en version Windows comme en version linux. L'installation de centreon couplé à nagios assemblé avec MRTG offre une plate-forme pratiquement complète d'où la sélection de ces trois logiciels en ce qui concerne l'environnement le choix de Fédora 12 est aisément compréhensible car actuellement c'est la version la plus stable de surcroît il faut noter aussi que nous avons envisagé tout ce lot de logiciels car ils sont des logiciels gratuits donc diminution de coût d'implémentation.

4.1 Création de la machine virtuelle

4.1.1 Présentation de l'interface de Vmware

L'architecture de l'application Vmware 6.5 est la suivante :

Figure 4.1 Interface principale Vmware

L'interface d'accueil nous permet par le premier onglet de créer une nouvelle machine virtuelle, le second onglet permet de créer un groupe de machines virtuelles en fin le dernier onglet avec une icône de dossier permet l'intégration d'une quelconque machine créé dans un autre environnement.

4.1.2 Installation de système d'exploitation (Fédora 12)

L'installation de fédora 12 est identique à celle d'un système d'exploitation classique. Celle-ci est plutôt rapide, intuitive et ne nécessite pas de commentaire. Une fois terminée elle pèse environ 1Go car dans le contexte de notre mémoire nous avons opté pour une installation sans interface graphique.

Voici les quelques étapes de l'installation

Figure 4.2 : Choix de la langue du système d'exploitation

Figure 4.3 : Choix du type de clavier

Figure 4.4 : Processus d'installation

CHAPITRE 4 : Processus d'installation et de configuration (Nagios/centreon)

1. Installation des pré-requis

Pour une installation en mode distribué (1 serveur central Nagios/Centreon avec 1 ou plusieurs pollers Nagios), il est recommandé de vérifier que certains flux sont autorisés entre le serveur central et ses collecteurs : 

- flux SSH (port 22) du serveur central vers chaque collecteur ; 

- flux NDO (port 5668) de chaque collecteur vers le serveur central ; 

- flux MySQL (port 3306) de chaque collecteur vers le serveur central (mise en place des traps SNMP sur les collecteurs).

Installation du dépôt "RPM forge"

Cette opération est à effectuer seulement sur les distributions CentOS et RHEL5. Si vous utilisez Fedora, passez à l'étape suivante.

Dans un terminal, exécutez les commandes suivantes : 

# wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

1.1 Pré-requis pour le serveur central

Les prés requis suivants doivent impérativement être installés avant de poursuivre l'installation de Centreon : 

Apache2

# yum install httpd

Modules GD

# yum install gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD

Modules Perl

# yum install perl-Config-IniFiles

Modules Perl::DB

# yum install perl-DBI perl-DBD-MySQL

MySQL

# yum install openssl-devel mysql-server mysql-devel

PHP

# yum install php php-mysql php-gd php-ldap php-xml

RRDTools

# yum install rrdtool perl-rrdtool perl-RRD-Simple

SNMP

# yum install perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils

# yum install perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs

# yum install php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl

Transport

# yum install mailx postfix

Divers

# yum install fping graphviz cpp gcc gcc-c++ libstdc++

# yum install glib2-devel libtool-ltdl-devel

1.2 Pré-requis pour les collecteurs

Si vous souhaitez installer l'interface Web de Nagios sur vos collecteurs : 

Apache2

# yum install httpd

Dans tous les cas, vous devez installer les paquets suivants : 

§ Modules GD

# yum install gd fontconfig-devel libjpeg-devel libpng-devel gd-devel perl-GD

§ Modules Perl

# yum install perl-Config-IniFiles perl-XML-Writer

§ Modules Perl::DB

# yum install perl-DBI perl-DBD-MySQL

§ MySQL

# yum install openssl-devel mysql-devel

§ PHP

# yum install php php-mysql php-gd php-ldap php-xml

§ RRDTools

# yum install rrdtool perl-rrdtool perl-RRD-Simple

§ § § SNMP

# yum install perl-Crypt-DES perl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils

# yum install perl-Socket6 perl-IO-Socket-INET6 net-snmp net-snmp-libs

# yum install php-snmp dmidecode lm_sensors perl-Net-SNMP net-snmp-perl

§ Transport

# yum install mailx postfix

§ Divers

# yum install fping graphviz cpp gcc gcc-c++ libstdc++

# yum install glib2-devel libtool-ltdl-devel

2. Installation des paquets PEAR

Les paquets PEAR ne doivent être installés que sur le serveur Central.

# yum install php-pear

Dans le cas d'utilisation d'un proxy : 

# pear config-set http_proxy http://my_proxy:port_my_proxy

Puis, installer les paquets : 

# pear channel-update pear.php.net

# pear upgrade pear

# pear upgrade-all

# pear install SOAP Validate XML_RPC

# pear install DB DB_DataObject DB_DataObject_FormBuilder

# pear install Archive_Tar Auth_SASL Console_Getopt Date

# pear install HTML_Common HTML_QuickForm

# pear install HTML_QuickForm_advmultiselect HTML_Table

# pear install HTTP_Request Image_GraphViz Log MDB2

# pear install Net_Ping Net_SMTP Net_Socket Net_Traceroute Net_URL

# pear install Structures_Graph

Il est possible de rencontrer des problèmes lors de l'installation de certains paquets. En cas de problèmes, utilisez l'option '-f' permettant de forcer l'installation d'un paquet : 

# pear install -f SOAP

3. Emplacement de la base MySQL

Si vous souhaitez déplacer vos bases de données vers un autre emplacement que « /var/lib/mysql », éditer le fichier « /etc/my.cnf » afin de déplacer la base MySQL vers un autre répertoire tel que « /data/mysql ». Le fichier doit contenir les lignes suivantes : 

[mysqld]

datadir=/data/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

# Default to using old password format for compatibility with mysql 3.x

# clients (those using the mysqlclient10 compatibility package).

old_passwords=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

Ajout des droits, démarrage du service et création du mot de passe pour le compte root : 

# chown mysql.mysql /data/mysql/

# /etc/init.d/mysqld start

# /usr/bin/mysqladmin -u root password 'mot_de_passe'

4. Installation de Nagios

L'installation de Nagios consiste à créer l'utilisateur "nagios", à lui attribuer un password et installer Nagios par compilation pour disposer de la dernière version et des dernières corrections.

4.1 Création d'un user Nagios

Création d'un compte utilisateur pour le fonctionnement de Nagios :

# /usr/sbin/useradd -m -r -d /home/nagios -s /bin/bash -c "nagios" nagios

# passwd nagios

4.2 Création d'un groupe Nagios

Création d'un groupe utilisateurs pour le fonctionnement de Nagios :

# /usr/sbin/groupadd nagcmd

# /usr/sbin/usermod -a -G nagios,nagcmd nagios

Ajout d'Apache dans le groupe Nagios

Ajout d'Apache dans le groupe Nagios :

# /usr/sbin/usermod -a -G nagios,nagcmd apache

Installation de Nagios

L'installation de Nagios sur le serveur central et sur les collecteurs est identique. Nagios est régulièrement mis à jour. Pour vous procurer la dernière version de Nagios, rendez-vous sur le site officiel de nagios: http://www.nagios.org/

# cd /usr/local/src/

# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.0.tar.gz

# tar xzf nagios-3.2.0.tar.gz

# cd nagios-3.2.0

4.3 Configuration des options de compilation :

# ./configure \

--prefix=/usr/local/nagios \

--enable-nanosleep \

--enable-event-broker \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--with-command-user=nagios \

--with-command-group=nagcmd

4.4 Compilation et installation.

# make all

# make install

# make install-init

# make install-commandmode

# make install-config

Si vous souhaitez installer l'interface Web de Nagios, exécutez également les commandes suivantes :

# make install-webconf

# make install-html

4.5 Installation des plugins Nagios

Il n'est pas nécessaire d'installer les plugins de Nagios sur vos collecteurs. En effet, lors de l'installation de Centreon, de nouveaux plugins seront installés et tous seront copiés en même temps.

# cd /usr/local/src/

# wget http://ovh.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.13.tar.gz

# tar xzf nagios-plugins-1.4.13.tar.gz

# cd nagios-plugins-1.4.13

4.6 Configuration des options de compilation :

# ./configure \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--with-command-user=nagios \

--with-command-group=nagcmd

4.7 Installation:

# make

# make install

Les plugins sont maintenant installés dans le répertoire « /usr/local/nagios/lib/plugins/ »

La dernière version des plugins est disponible sur le site officiel de Nagios http://www.nagios.org

# cd /usr/local/src

# wget http://puzzle.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz

Nous allons maintenant décompresser le paquet des plugins et aller dans le répertoire des sources:

# tar -xzf nagios-plugins-1.4.14.tar.gz

# cd nagios-plugins-1.4.14

Compilation et installation:

# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios --with-openssl=/usr/bin/openssl

# make

# make install

Voila les plugins sont maintenant installés.

4.8 Installation de NDOutils

Il existe deux versions du broker ndoutils, la version officielle (a) et une version optimisée (en particulier pour les grands périmètres à superviser). La version optimisé existe en 2 versions : pré-patchée (b), sous la forme d'un patch (c). Attention, cette version optimisée n'est pas systématiquement compatible avec les modules tiers que vous seriez amenés à installer. Vous pouvez à tout moment remplacer le broker modifié par le broker officiel (remplacez simplement les fichiers ndomod.o et ndo2db par les officiels).

4.8.1 Pré-requis

Installer les librairies de développement mysql

# sudo apt-get install libmysqlclient-dev

a) Téléchargement de la dernière version Officielle

# cd /usr/local/src/

# wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz

# tar xzf ndoutils-1.4b9

# cd ndoutils-1.4b9

b) Téléchargement de la version modifiée

Vous trouverez ce module sur le serveur svn du projet Centreon, il s'agit d'une version 1.4b7 :

# wget -r -np http://svn.centreon.com/trunk/Patch-NDOutils/

# cd svn.centreon.com/trunk/Patch-NDOutils

c) Téléchargement du patch pour la version officielle

# cd /usr/local/src/

# wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b9.tar.gz/download

# tar xzf ndoutils-1.4b9

# cd ndoutils-1.4b9


Vous trouverez ce patch sur le serveur svn du projet Centreon :

# wget http://svn.centreon.com/trunk/ndoutils-patch/ndoutils1.4b9_light.patch

# patch -p1 -N < ndoutils1.4b9_light.patch

4.8.2 Installation

Configuration des options de compilation :

# ./configure \

--prefix=/usr/local/nagios \

--enable-mysql \

--disable-pgsql \

--with-ndo2db-user=nagios \

--with-ndo2db-group=nagios

Remarque : pour les distributions 64bits, vous devez compiler NDOutils avec les librairies 64bits de MySQL

--with-mysql-lib=/usr/lib64/mysql/

4.8.3 Compilation et copie des fichiers dans le répertoire de Nagios :

# make

# cp ./src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o

# cp ./src/ndo2db-3x /usr/local/nagios/bin/ndo2db

# cp ./config/ndo2db.cfg /usr/local/nagios/etc/

# cp ./config/ndomod.cfg /usr/local/nagios/etc/

4.8.4 Affectation des droits d'exécution pour Nagios :

# chmod 774 /usr/local/nagios/bin/ndo*

# chown nagios:nagios /usr/local/nagios/bin/ndo*

4.9 Création du fichier de démarrage ndo2db

Cette étape n'est à réaliser que sur le serveur central. En effet, il s'agit de configurer l'agent ndo2db qui va recevoir les informations des modules ndomod afin de les enregistrer en base MySQL :

créer le fichier « /etc/init.d/ndo2db » ;

insérer le script dans #3.Annexes : Script d'initialisation de NDO2DB ;

ajouter le script dans les programmes de démarrage automatiques :

# /sbin/chkconfig --add ndo2db

# chmod +x /etc/init.d/ndo2db

Maintenant Ndo est installé. Il faudra maintenant bien le configurer au niveau de Centreon. Centreon 2.0 gère complètement la configuration du module ndo.

5. Installation de Centreon

Avant d'aller plus loin, voici une petite astuce pour éviter de saisir les différents chemins vers les binaires utilisés, par exemple : nagios, ndomod, ...

export PATH="$PATH:/usr/local/nagios/bin/"

L'installation de Centreon contient une partie textuelle en ligne de commande et une partie graphique.

5.1 Téléchargement de Centreon

Pour télécharger Centreon, deux méthodes existent. La plus courante est de se procurer l'archive sur le site de centreon.

§ a) Téléchargement via le site

# cd /usr/local/src/

# wget http://download.centreon.com/index.php?id=4242

§ b) Téléchargement via le serveur SVN

$> svn co http://svn.centreon.com/trunk/tools

$> cd tools

$> dos2unix makePackage.sh

$> chmod +x makePackage.sh

$> ./makePackage.sh

Attention, il est possible de télécharger la dernière version de Centreon présente sur le serveur SVN. Cette version bénéficie des dernières corrections importantes mais peut présenter des bugs.

Désarchivez le paquet et placez vous dans le répertoire obtenu:

# tar -xzf centreon-2.0.2.tar.gz

# cd centreon-2.0.2

5.2 Installation en ligne de commande

Ajouter les droits d'écriture sur le fichier sudoers :

# chmod +w /etc/sudoers

Nous allons maintenant lancer le script d'installation. Ce script vous posera tout une liste de questions concernant les répertoires d'installation, les dépendances, etc. Nous essayerons de commenter le plus possibles les divers questions au fur et à mesure de l'avancement.

# ./install.sh -i

Au lancement du script, le programme confirme si toutes les dépendances sont satisfaites.

###############################################################################

# #

# Centreon (www.centreon.com) #

# Thanks for using Centreon #

# #

# v 2.0 #

# #

# infos@oreon-project.org #

# #

# Make sure you have installed and configured #

# sudo - sed - php - apache - rrdtool - mysql #

# #

###############################################################################

------------------------------------------------------------------------

Checking all needed binaries

------------------------------------------------------------------------

rm OK

cp OK

mv OK

chmod OK

chown OK

echo OK

cat OK

more OK

mkdir OK

find OK

sed OK


Ensuite, vous devez accepter la licence d'utilisateur de Centreon (licence GPL Version 2) pour continuer. Si vous refusez cette licence, vous abandonnez l'installation.

This General Public License does not permit incorporating your program into

proprietary programs. If your program is a subroutine library, you may

consider it more useful to permit linking proprietary applications with the

library. If this is what you want to do, use the GNU Library General

Public License instead of this License.

Do you accept GPL license ?

[y/n], default to [n]:

> y

Le module d'installation va alors vous demander si vous souhaitez installer les modules : l'interface Web Centreon, Centcore, les plugins Centreon et les Traps handler Centreon.

------------------------------------------------------------------------

Please choose what do you want to install

------------------------------------------------------------------------

Do you want to install Centreon Web Front

[y/n], default to [n]:

> y

Do you want to install Centreon CentCore

[y/n], default to [n]:

> n

Do you want to install Centreon Nagios Plugins

[y/n], default to [n]:

> y

Do you want to install Centreon Snmp Traps process

[y/n], default to [n]:

> n


 « L'installer » ou l'installeur va maintenant procéder à l'installation des différents modules.

Commençons par Centreon Web, l'interface de centreon.

------------------------------------------------------------------------

Start CentWeb Installation

------------------------------------------------------------------------

Where is your Centreon directory?

default to [/usr/local/centreon]

>

Ici on nous demande où installer Centreon. Tapez "Entrée" pour prendre le chemin par défaut sinon saisir un autre chemin. Si le répertoire que vous avez saisi n'existe pas, il vous sera demandé de valider votre choix pour créer le répertoire.

Do you want me to create this directory ? [/usr/local/centreon]

[y/n], default to [n]:

> y

Path /usr/local/centreon OK

Ici on nous demande le répertoire de stockage des journaux/logs de centreon.

Where is your Centreon log directory

default to [/usr/local/centreon/log/]

>

Do you want me to create this directory ? [/usr/local/centreon/log/]

[y/n], default to [n]:

> y

Path /usr/local/centreon/log/ OK

Très important : l'emplacement des fichiers de configuration de Centreon. Attention si cet endroit venait à changer par la suite, vous seriez obliger de relancer l'installation de Centreon, certains fichiers devant être régénérés.

Where is your Centreon etc directory

default to [/etc/centreon]

>

Do you want me to create this directory ? [/etc/centreon]

[y/n], default to [n]:

> y

Path /etc/centreon OK

Where is your Centreon generation_files directory?

default to [/usr/local/centreon/]

>

Path /usr/local/centreon/ OK

Ici le path de RRDs.pm pour centstorage et les plugins ce centreon.

Note: Le chemin du fichier "RRDs.pm" peut changer d'une distribution à l'autre. Sur Fedora il sera de la forme "/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/RRDs.pm", sur Debian "/usr/lib/perl5/RRDs.pm" et sur CentOS 5 64Bits"/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-threadmulti/RRDs.pm".

Where is installed RRD perl modules [RRDs.pm]

default to [/usr/lib/perl5/RRDs.pm]

>/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/RRDs.pm

Path /usr/lib/perl5 OK

/usr/bin/rrdtool OK

/usr/bin/mail OK

5.3 Localisation de PEAR.php.

Note: Comme pour le fichier suivant, la localité du fichier "PEAR.php" peut changer d'une distribution à l'autre. Sur Fedora, il sera de la forme "/usr/share/pear/PEAR.php", sur Debian "/usr/share/php/PEAR.php" et sur CentOS 64Bits "/usr/share/pear/PEAR.php".

Where is PEAR [PEAR.php]

default to [/usr/share/php/PEAR.php]

>/usr/share/pear/PEAR.php

Path /usr/share/php OK

Maintenant on nous pose tout une série de questions à propos de Nagios. Cela va nous permettre de charger des informations concernant Nagios à partir de l'existant. Cela nous permettra de bien localiser chacune des parties de Nagios.

Where is installed Nagios ?

default to [/usr/local/nagios/]

>

Path /usr/local/nagios/ OK

Where is your nagios config file

default to [/usr/local/nagios/etc//nagios.cfg]

>

Path /usr/local/nagios/etc OK

Where is your Nagios var directory ?

default to [/usr/local/nagios/var/]

>

Path /usr/local/nagios/var/ OK

Where is your Nagios plugins (libexec) directory ?

default to [/usr/local/nagios/libexec/]

>

Path /usr/local/nagios/libexec/ OK

Where is your nagios binary ?

default to [/usr/local/nagios/bin/nagios]

>

/usr/local/nagios/bin/nagios OK

Where is your Nagios image directory ?

default to [/usr/local/nagios/share/images/logos/]

>

Path /usr/local/nagios/share/images/logos/ OK

Where is your nagiostats binany ?

default to [/usr/local/nagios/bin/nagiostats]

>

/usr/local/nagios/bin/nagiostats OK

p1_file : /usr/local/nagios/bin/p1.pl OK

/usr/bin/php OK

Finding Apache group : apache

Finding Apache user : apache

Finding Nagios user : nagios

Finding nagios user nagios in /etc/passwd OK

Finding Nagios group : nagios

Finding nagios group 'nagios' in /etc/group OK

Le script nous pose maintenant une question concernant NDO. Il vaut mieux ici répondre positivement à la question. Si nous désirons utiliser Centreon sans NDO, nous ne pourrons pas bénéficier des dernières avancées : AJAX, monitoring performant, etc.

Do you want use NDO ?

[y/n], default to [n]:

> y

Le script nous demande ici l'emplacement de la librairie dynamique de NDO. Ce chemin sera ensuite repris pour configurer correctement Nagios pour fonctionner avec NDO.

Where is your NDO ndomod binary ?

default to [/usr/sbin/ndomod.o]

> /usr/local/nagios/bin/ndomod-3x.o

/usr/local/nagios/bin/ndomod-3x.o OK

Ici nous configurons le sudo pour donner les droits à Centreon de faire certaines manipulations (redémarrage de nagios essentiellement).

------------------------------------------------------------------------

Configure Sudo

------------------------------------------------------------------------

Where is sudo configuration file

default to [/etc/sudoers]

>

/etc/sudoers OK

Nagios init script OK

Your sudo is not configure

Do you want I configure your sudo ? (WARNING)

[y/n], default to [n]:

> y

Configuring Sudo OK

Ici il nous est demandé si nous désirons appliquer la configuration de Apache. Cette version beta ne prend pas en charge les scripts de démarrage httpd sur Fedora, précisez donc non lorsque le script demande s'il faut recharger la configuration. Vous rechargerez le serveur manuellement à la suite de cette installation!

------------------------------------------------------------------------

Configure Apache server

------------------------------------------------------------------------

Do you want write Apache configuration file ?

[y/n], default to [n]:

> y

Create '/etc/apache2/conf.d/centreon.conf' OK

Configuring Apache OK

Do you want reload your Apache ?

[y/n], default to [n]:

> n

Preparing Centreon temporary files

Maintenant commence la préparation et la mise en place des fichiers PHP de centreon.

------------------------------------------------------------------------

Start Centreon Web Front Installation

------------------------------------------------------------------------

In process

Change macros for php file

Change macros for php file OK

Copy CentWeb in system directory

CentWeb file installation OK

Install Centreon cron OK

Les Librairies PEAR : nous avons intégré l'installation des librairies PEAR depuis « l'installer ». Normalement « l'installer » est capable d'installer toutes les librairies de manière automatique. Bien sûr pour que cela fonctionne il faut absolument que le serveur ait accès à internet. Sinon il vous faudra procéder à une installation manuelle en téléchargeant chaque paquet PEAR.

Pear Modules

Check PEAR modules

PEAR 1.5.0 1.4.11 NOK

DB 1.7.6 NOK

DB_DataObject 1.8.4 NOK

DB_DataObject_FormBuilder 1.0.0RC4 NOK

MDB2 2.0.0 NOK

Date 1.4.6 NOK

HTML_Common 1.2.2 NOK

HTML_QuickForm 3.2.5 NOK

HTML_QuickForm_advmultiselect 1.1.0 NOK

HTML_Table 1.6.1 NOK

Archive_Tar 1.1 1.3.1 OK

Auth_SASL 1.0.1 NOK

Console_Getopt 1.2 1.2 OK

HTTP 1.2.2 NOK

Image_GraphViz 1.1.0 NOK

Net_SMTP 1.2.8 NOK

Net_Socket 1.0.1 NOK

Net_Traceroute 0.21 NOK

Net_Ping 2.4.1 NOK

Validate 0.6.2 NOK

XML_RPC 1.4.5 NOK

SOAP 0.10.1 NOK

Log 1.9.11 NOK

Après avoir affiché l'état dans lequel se trouvent les différentes lib, il vous est proposé de lancer l'installation des librairies de manière automatique.

Do you want I install/upgrade your PEAR modules

[y/n], default to [y]:

> y

Upgrading PEAR modules

PEAR 1.5.0 1.4.11 1.7OK

Installing PEAR modules

DB 1.7.6 1.7.13 OK

DB_DataObject 1.8.4 1.8.8 OK

DB_DataObject_FormBuilder 1.0.0RC4 1.0.0RC7 OK

MDB2 2.0.0 2.4.1 OK

HTML_QuickForm_advmultiselect 1.1.0 1.4.1 OK

HTML_Table 1.6.1 1.8.2 OK

Auth_SASL 1.0.1 1.0.2 OK

HTTP 1.2.2 1.4.0 OK

Image_GraphViz 1.1.0 1.2.1 OK

Net_SMTP 1.2.8 1.3.0 OK

Net_Traceroute 0.21 0.21.1 OK

Net_Ping 2.4.1 2.4.3 OK

Validate 0.6.2 0.8.1 OK

XML_RPC 1.4.5 1.5.1 OK

SOAP 0.10.1 0.11.0 OK

Log 1.9.11 1.10.1 OK

Normalement l'installer a fini d'installer les modules PEAR. Il nous affiche une dernière fois l'état de l'installation des modules PEAR.

Check PEAR modules

PEAR 1.5.0 1.7.1 OK

DB 1.7.6 1.7.13 OK

DB_DataObject 1.8.4 1.8.8 OK

DB_DataObject_FormBuilder 1.0.0RC4 1.0.0RC7 OK

MDB2 2.0.0 2.4.1 OK

Date 1.4.6 1.4.7 OK

HTML_Common 1.2.2 1.2.4 OK

HTML_QuickForm 3.2.5 3.2.10 OK

HTML_QuickForm_advmultiselect 1.1.0 1.4.1 OK

HTML_Table 1.6.1 1.8.2 OK

Archive_Tar 1.1 1.3.2 OK

Auth_SASL 1.0.1 1.0.2 OK

Console_Getopt 1.2 1.2.3 OK

HTTP 1.2.2 1.4.0 OK

Image_GraphViz 1.1.0 1.2.1 OK

Net_SMTP 1.2.8 1.3.0 OK

Net_Socket 1.0.1 1.0.8 OK

Net_Traceroute 0.21 0.21.1 OK

Net_Ping 2.4.1 2.4.3 OK

Validate 0.6.2 0.8.1 OK

XML_RPC 1.4.5 1.5.1 OK

SOAP 0.10.1 0.11.0 OK

Log 1.9.11 1.10.1 OK

All PEAR module OK

L'installer peut ainsi continuer.

------------------------------------------------------------------------

Centreon Post Install

------------------------------------------------------------------------

Create /usr/local/centreon/www/install/install.conf.php OK

Create /etc/centreon/instCentWeb.conf OK

Nous passons maintenant à l'installation de CentStorage, autrefois appelé ODS (Oreon Data Storage). Ce Module de centreon permet d'historiser en base de données RRD et MySQL pour le moment. Centstorage permettra aussi de peupler des graphs pour un meilleur suivi de vos diverses metrics de supervision.

------------------------------------------------------------------------

Start CentStorage Installation

------------------------------------------------------------------------

Where is your Centreon Run Dir directory?

default to [/var/run/centreon]

>

Do you want me to create this directory ? [/var/run/centreon]

[y/n], default to [n]:

> y

Path /var/run/centreon OK

Where is your CentStorage binary directory

default to [/usr/local/centreon/bin]

>

Do you want me to create this directory ? [/usr/local/centreon/bin]

[y/n], default to [n]:

> y

Path /usr/local/centreon/bin OK

Where is your CentStorage RRD directory

default to [/var/lib/centreon]

>

Attention le répertoire lib de centreon doit se trouver sur une partition assez conséquente pour ne pas risquer un encombrement rapide de la partition. Dans ce répertoire se trouveront toutes les bases RRDTool.

Pensez aussi à placer les bases MySQL dans un endroit assez bien taillé. Les bases de logs et de données de performances nécessitent beaucoup d'espace disque.

Do you want me to create this directory ? [/var/lib/centreon]

[y/n], default to [n]:

> y

Path /var/lib/centreon OK

Finding Nagios group : nagios

Finding nagios group 'nagios' in /etc/group OK

Finding Nagios user : nagios

Finding nagios user nagios in /etc/passwd OK

Preparing Centreon temporary files

/tmp/centreon-setup exists, it will move...

Creating Centreon Directory '/var/lib/centreon/status' OK

Creating Centreon Directory '/var/lib/centreon/metrics' OK

Replace Centstorage Macro OK

Set CentStorage properties OK

Replace Centstorage init script Macro OK

Do you want I install CentStorage init script ?

[y/n], default to [n]:

> y

Do you want I install CentStorage run level ?

[y/n], default to [n]:

> y

Adding system startup for /etc/init.d/centstorage ...

/etc/rc0.d/K30centstorage -> ../init.d/centstorage

/etc/rc1.d/K30centstorage -> ../init.d/centstorage

/etc/rc6.d/K30centstorage -> ../init.d/centstorage

/etc/rc2.d/S40centstorage -> ../init.d/centstorage

/etc/rc3.d/S40centstorage -> ../init.d/centstorage

/etc/rc4.d/S40centstorage -> ../init.d/centstorage

/etc/rc5.d/S40centstorage -> ../init.d/centstorage

Set logAnalyser properties OK

Set nagiosPerfTrace properties OK

Install CentStorage cron OK

Create /etc/centreon/instCentStorage OK

CentStorage est installé, il reste à installer SNMPTT (Uniquement pour les version > Beta 3)!

Where is your SNMP configuration directory

default to [/etc/snmp]

>

/etc/snmp OK

Where is your SNMPTT binaries directory

default to [/opt/snmptt]

> /usr/local/src/centreon-2.0-b3/snmptt

/usr/local/src/centreon-2.0-b3/snmptt

Il ne reste plus qu'à répondre à quelques questions pour installer les plugins de centreon.

------------------------------------------------------------------------

Start CentPlugins Installation

------------------------------------------------------------------------

Where is your CentPlugins lib directory

default to [/var/lib/centreon]

>

Path /var/lib/centreon OK

Finding Nagios user : nagios

Finding nagios user nagios in /etc/passwd OK

Finding Nagios group : nagios

Finding nagios group 'nagios' in /etc/group OK

Preparing Centreon temporary files

/tmp/centreon-setup exists, it will move...

CentPlugins is installed

L'installation automatique est maintenant terminée... Quelques étapes manuelles sont encore nécessaires.

5.4 Recharge de la configuration d'Apache

§ sur Fedora :

# service httpd reload

§ sur Debian :

# /etc/init.d/apache reload

sur OpenSuse :

# /etc/init.d/apache2 reload

Éditez le fichier « /etc/sudoers » et ajoutez la ligne ci-dessous avant la ligne "## END: CENTREON SUDO":

Defaults:CENTREON !requiretty

Puis supprimer les droits d'écriture sur le fichier sudoers :

# chmod -w /etc/sudoers

Si l'interface Web de Nagios a été installée, créer un compte pour accéder à l'interface web de Nagios :

# htpasswd -c /usr/local/nagios/etc/htpasswd.users votre_login

Désactivation de Selinux, éditer le fichier de configuration de SELINUX :

# vi /etc/selinux/config

Et remplacer par le texte en gras :

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - No SELinux policy is loaded.

SELINUX=disabled

# SELINUXTYPE= can take one of these two values:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.SELINUXTYPE=targeted

Vous devez redémarrer votre machine pour que cela soit pris en compte.

6. Installation Web

Nous pouvons maintenant aller sur l'URL suivante : http://SERVER_ADDRESS/centreon/ Nous sommes automatiquement redirigé vers http://SERVER_ADDRESS/centreon/install/setup.php Nous allons maintenant devoir valider les dernières étapes de l'installation.

6.1 Démarrage de l'installation Web

Cliquez sur "Next"

6.2 Validation de la licence

Pour valider, cliquez "I Accept" suivi de "next".

6.3 Validation des variables d'environnement de l'installation.

Attention, sur les distributions Fedora, remplacez "www-data" par "apache". Si vous utilisez une distribution OpenSuse, remplacez "www-data" par "wwwrun". Puis cliquez sur "Next".

§ Validation des Modules PHP et des droits d'accès pour le répertoire de configuration de centreon.

Tant que tout n'est pas vert, effectuez les changements pour que cela le devienne, puis cliquez sur "Next".

6.4 Validation des Modules PEAR

Normalement les modules ont été installés lors de l'installation en mode shell. Tout devrait être vert. Cliquez sur "Next".

6.5 Définir les accès MySQL

Complétez les champs vides suivants : root password, centreon database name, centstorage database name, et les password. La localisation de la base de données est optionnelle. De même pour la localisation de Nagios. Cette option est utilisée uniquement si vous décidez de déporter votre base de données sur un serveur dédié. En version 2.1, 3 bases de données seront alors créés (Centreon -> relatif au fonctionnement de Centreon, Censtorage -> utilisé pour l'historisation, et Centstatus -> la base de données commune à NDO et Centreon).

6.6 Test de connexion MySQL

Si tout est "OK", cliquez "Next" sinon "Back" pour ajuster vos accès à MySQL.

6.7 Création du user "Administrateur"

Veuillez saisir les informations concernant le "Super" Administrateur.

6.8 Activation de LDAP

Si vous désirez activer l'authentification LDAP, cliquez "Yes". Sinon, laissez "No". Ensuite cliquez "Next".

Écriture des fichiers de configuration de Centreon et de Centstorage

Si tout est "vert", Cliquez sur "Next". Sinon veillez à ce que les droits du répertoire "etc" de Centreon soit en écriture pour Apache. Selinux peut bloquer cette étape, pensez à le désactiver, redémarrer la machine et relancer l'installation web pour passer cette étape. Cliquez ensuite sur "Next".

Création des bases de données et mise en place d'une configuration standard.

Cliquez "Next".

6.9 Fin de l'installation.

Pour du support communautaire, consultez les liens présents sur la page (WebSite, forum, Doc). Du support professionnel vous est aussi proposé.

6.10 Première connexion!

Vous pouvez maintenant vous authentifier sur le portail de Centreon. Il ne vous reste plus qu'à configurer vos vérifications.

7. Installation de la base NDO

Dans un terminal, taper les commandes suivantes :

# mysql -u root -p

mysql> CREATE DATABASE `ndo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

mysql> exit;

mysql -u root -p ndo < /usr/local/src/centreon-2.0.1/www/install/createNDODB.sql

# mysql -u root -p

mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON `ndo` . * TO 'centreon'@'localhost';

mysql> exit;

7.1 Configuration de SNMP

Éditez le fichier de configuration de snmpd pour ajouter la communauté « votre_communauté » :

# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.origin

# rm /etc/snmp/snmpd.conf

# vi /etc/snmp/snmpd.conf

et ajoutez la ligne suivante à la fin du fichier :

rocommunity votre_communauté

Pour que les check_snmp fonctionnent, il faut modifier le fichier /etc/snmp/snmpd.conf pour avoir :

# sec.name source community

#com2sec paranoid default public

com2sec readonly default public

#com2sec readwrite default private

Enfin, il faut ouvrir le port udp 161 sur chaque collecteur que l'on veut surveiller. Avant la ligne

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

ajouter :

-A RH-Firewall-1-INPUT -p udp -m udp --dport 161 -j ACCEPT

Redémarrer le service iptables pour prendre en compte la modification, ainsi que le service snmpd :

# /etc/init.d/iptables restart

# /etc/init.d/snmpd restart

7.2 Ajout de services au démarrage

Sur les collecteurs :

# /sbin/chkconfig --level 35 snmpd on

# /sbin/chkconfig --level 35 snmptrapd on

# /sbin/chkconfig --level 35 nagios on

# /sbin/chkconfig --level 01246 nagios off

Sur le serveur central :

# /sbin/chkconfig --level 35 snmpd on

# /sbin/chkconfig --level 35 ndo2db on

# /sbin/chkconfig --level 01246 ndo2db off

# /sbin/chkconfig --level 35 nagios on

# /sbin/chkconfig --level 01246 nagios off

# /sbin/chkconfig --level 35 httpd on

# /sbin/chkconfig --level 35 mysqld on

Nous allons ici installer la base MySQL de NDO. Cette base est la base de NDO 1.4-b7 avec une table en plus : "centreon_acl". Cette table permet de générer une ACL directement dans la base NDO pour optimiser les requêtes SQL (jointure) lors de l'affichage des résultats dans le monitoring.

lancer les commandes selon l'exemple suivant :

# mysql -u root

mysql> CREATE DATABASE `ndo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

mysql> exit

# mysql -u root ndo < /usr/local/src/centreon-2.0/www/install/createNDODB.sql

# mysql -u root

mysql> GRANT SELECT , INSERT , UPDATE , DELETE ON `ndo` . * TO 'centreon'@'localhost';

mysql> exit

Note 1: si vous avez défini un mot de passe pour mysql, il faut ajouter un "-p" après "root", le système vous demandera de saisir un mot de passe.

Note 2: il est aussi possible que vous obteniez une erreur de syntaxe, dans ce cas il faut remplacer 'ndo' par ndo (sans quote).

Depuis la version 2.1.RC6, l'utilisateur ndo de la base MySQL doit avoir le droit de modification sur la table centreon comme ci-dessous. Si ses droits ne sont pas modifiés, vous vous exposez à un message d'erreur dans les logs de MySQL et durant l'installation/migration Web de Centreon.

# mysql -u root

mysql> GRANT SELECT , INSERT , UPDATE , ALTER, DELETE ON `ndo` . * TO 'centreon'@'localhost';

mysql> exit

7.3 Information

Aller à l'interface de Centreon : "-> Configuration -> Nagios -> Nagios.cfg -> Onglet Data -> Broker Module" et changer comme ceci : /usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg

Exporter les fichiers et redémarrer Nagios.

Lancez NDOutils en précisant le fichier de configuration à utiliser. Pensez à consulter le fichier de configuration "/usr/local/nagios/var/nagios.log" pour vérifier son bon lancement :

# /usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg

# tail -f /usr/local/nagios/var/nagios.log | grep ndomod

(Une ligne de la forme "ndomod: Successfully connected to data sink." doit apparaître.)

Modifier le fichier /etc/init.d/nagios pour inclure le lancement de ndo2db au démarrage de nagios :

...

su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"

su - $NagiosUser -c "/usr/local/nagios/bin/ndo2db-3x -c /usr/local/nagios/etc/ndo2db.cfg" <<<

rm -f $NagiosCommandFile

...

pid_nagios

killproc_nagios nagios

skill ndo2db-3x <<<<

8. Setup:NagiosWeb

Lors de l'installation de Centreon, l'installeur propose de mettre à jour la configuration du serveur apache pour l'adapter à l'interface web Centreon. L'avantage est que Centreon est d'entrée de jeu fonctionnel, en revanche, la configuration pour l'interface Nagios se trouve écraser. Pour récupérer la configuration et profiter de l'interface Nagios, il faut créer un mot de passe pour l'utilisateur Nagios et modifier la configuration du serveur Apache.

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios

Insérer les lignes suivantes dans le fichier de configuration httpd.

Pour Debian: /etc/apache2/httpd.conf Pour Fedora: /etc/httpd/conf/httpd.conf

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory "/usr/local/nagios/sbin">

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

</Directory>

Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.users

Require valid-user

</Directory>

Redémarrer apache2 (sur Debian) ou httpd (sur Fedora) pour prendre en compte la nouvelle configuration:

/etc/init.d/apache2 restart

/etc/init.d/httpd restart

Rendez-vous dans Centreon, pour configurer l'utilisateur qui détient les droits sur les cgis.

Configuration > Nagios > cgi

Et remplacez les champs suivants en précisant l'utilisateur nagios créé précédemment:

*Default User Name

*System/Process Information Access

*System/Process Command Access

*Configuration Information Access

*Global Host Information Access

*Global Host Command Access

*Global Service Information Access

*Global Service Command Access

Sauvegardez et exportez la configuration. Vous pouvez désormais accéder à l'interface Nagios via l'adresse http://localhost/nagios/

9. Architecture distribuée

Une architecture distribuée est composée d'un serveur central et de plusieurs serveurs fils. Le serveur central se charge de consolider les données de supervision et fait office d'interface utilisateur, tandis que les serveurs satellites réalisent les vérifications de supervision (checks) et transmettent ces données au serveur central. Ce type d'installation permet de répartir les vérifications à travers plusieurs serveurs de supervision.

Dans la pratique, c'est centcore qui se charge s'assurer la transmission (ssh) des données entre les différents serveurs. Sur le serveur central doit être installée une machine de supervision complète (nagios, centreon, ndoutils, mysql etc.), tandis que sur les différentes machines satellites, l'installation de Nagios et de NDOutils suffit.

10. Echange des clés SSH

Sur le serveur central, générez une clé ssh avec ssh-keygen. Ne saisissez rien, et appuyez successivement sur entrée pour chaque question:

# su - nagios

# ssh-keygen

> Enter file in which to save the key (/usr/local/nagios/.ssh/id_rsa):

> Created directory '/usr/local/nagios/.ssh'.

> Enter passphrase (empty for no passphrase):

> Enter same passphrase again:

> Your identification has been saved in /usr/local/nagios/.ssh/id_rsa.

Ajoutez la nouvelle clé pour le serveur satellite. Remplacez "IP_ADDRESS" par l'adresse IP du serveur satellite. Et terminez en entrant le mot de passe de l'utilisateur Nagios du serveur distant:

# ssh-copy-id -i ~/.ssh/id_rsa.pub nagios@`IP_ADDRESS`

nagios@`IP_ADDRESS`'s password:

Si l'opération s'est bien déroulée, vous devriez pouvoir vous connecter en ssh sans devoir saisir de mot de passe.

10.1 Duplication des plugins

Pour réaliser une telle installation, les mêmes plugins doivent être présents de part et d'autres. Copiez-les depuis le serveur central vers la machine satellite:

# scp /usr/local/nagios/libexec/* nagios@IP_DU_POLLER:/usr/local/nagios/libexec/

Attention toutefois, les plugins binaires ne fonctionnent pas d'une architecture à une autre : ne copiez pas les plugins binaires d'un Centreon 64bits sur des pollers distants 32bits.

11. Configuration de Centreon

Connectez-vous sur l'interface Centreon et configurez le serveur satellite (Status: Enabled, Localhost: no, IP Address etc.)

Configuration > Centreon > Pollers > Add

Ensuite, dupliquez la configuration de ndomod pour le nouveau serveur:

Configuration > Centreon > ndomod.cfg.

Activez la configuration avec 'Status: Enabled', sélectionnez le serveur satellite en choisissant le nom que vous avez saisi lors de la configuration d'un nouveau poller (Requester). Remplissez "Instance Name" avec le nom de votre serveur que vous souhaitez ajouter (Chaque serveur doit avoir un nom unique d'instance). Dans 'IP Address', remplissez l'adresse IP du serveur principal.

De la même manière, dupliquez la configuration de "nagios.cfg":

Configuration > Nagios > nagios.cfg

Attribuez un nom dans "Configuration Name", activez la configuration en cochant "Enabled" puis sélectionnez le serveur satellite visé dans "Serveur Nagios Configured"

12. Configuration de sudo

Pour pouvoir piloter Nagios depuis le serveur principal, il faut configurer sudo sur les serveurs satellites. Éditez le fichier "/etc/sudoers" et insérez les lignes suivantes:

nagios ALL=NOPASSWD: /etc/init.d/nagios restart

nagios ALL=NOPASSWD: /etc/init.d/nagios stop

nagios ALL=NOPASSWD: /etc/init.d/nagios start

nagios ALL=NOPASSWD: /etc/init.d/nagios reload

nagios ALL=NOPASSWD: /usr/sbin/nagiostats

nagios ALL=NOPASSWD: /usr/sbin/nagios *

12.1 Finalisation

Démarrez Centcore sur le serveur principal:

# /etc/init.d/centcore start

Pour terminer l'installation, configurez les hosts/services et exportez la configuration dans l'interface Centreon.

13. Configuration des hôtes

Pour chaque poller à superviser, sélectionnez le serveur satellite

14. Quelques remarques

Les pollers distants (remote pollers) ne sont supportés qu'à partir de Centreon 2 beta 5.

Les NDOutils ne sont pas très bavards quant aux raisons des dysfonctionnements. Assurez-vous que les NDOutils sont compilés avec le support MySQL, étudiez soigneusement le config.log. Si NDO2DB fonctionne, vous devez voir une session MySQL pour l'utilisateur adhoc dans la base de données configurée.

Les procédures pour redémarrer (restart), recharger (reload), ... nagios ainsi que les transferts de configuration aux pollers distants sont appelés à travers un fichier de commandes (/var/lib/centreon/centcore.cmd). Assurez-vous que les propriétaires des processus Apache et Centreon peuvent créer et modifier ce fichier de commandes

http://doc.fedora-fr.org/wiki/Installation_et_configuration_de_MRTG

15. Installation MRTG sur fedora

15.1 Pré requis

- Installation net-snmp

- Installation interpréteur PERL

- Librairies nécessaires (gd, libpng, zlib...)

- Browser de MIB (gtkmib, mbrowse...)

15.2 Présentation de MRTG

MRTG (Multi Router Traffic Grapher) a pour but de créer des graphiques à partir de données récoltées par différentes sources, dont le protocole SNMP (Simple Network Management Protocol), qui est utilisé pour gérer des équipements informatiques. La mise en place de MRTG permet de mettre en place une surveillance et un monitoring sur un réseau, même hétérogène.

15.3 Installation de SNMP

Le système de gestion de réseau est basé sur deux éléments principaux : un superviseur et des agents. Le superviseur est la console qui permet à l'administrateur réseau d'exécuter des requêtes de management.

Les agents sont des entités qui se trouvent au niveau de chaque interface connectant l'équipement managé au réseau et permettant de récupérer des informations sur différents objets.

L'installation se fait simplement grâce à yum :

$ su -c 'yum install net-snmp net-snmp-utils'

15.4 Configuration de SNMP

Le fichier de configuration de SNMP est /etc/snmp/snmpd.conf, commençons donc par faire une sauvegarde de ce fichier, en tant que root :

# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.save

Nous allons pouvoir maintenant appliquer une nouvelle configuration en remplaçant le fichier par ces lignes ( en les personnalisant bien entendu en fonction de vos besoins ).

#fichier de configuration de snmp pour faire fonctionner mrtg en local ( et interrogeable sur le réseau local )

#nom du contact responsable de la machine

syscontact titax

#localisation de la machine

syslocation chez moi

# Création des communautés

# m.secu source communaute

com2sec Local localhost prive

com2sec LocalNet 192.168.1.0/24 public

# Création des groupes

# nom.groupe version nom.secu

group RWGroup v1 Local

group ROGroup v1 LocalNet

# Créations des diverses vues qui seront autorisées aux groupes

view tout included .1

#Configuration des accès

# nom.groupe contexte modele.secu niveau.secu prefixe lecture ecriture notification

access ROGroup "" v1 noauth exact tout none none

access RWGroup "" v1 noauth exact tout tout none

15.5 Installation de MRTG

Tout comme pour SNMP, l'installation de MRTG se fait via yum.

$ su -c 'yum install mrtg'

15.6 Configuration de MRTG

La configuration d'MRTG est simplifiée grâce à l'outil cfgmaker qui va nous permettre de créer un fichier de configuration type pour votre machine. Toutes les commandes qui suivent doivent être exécutées en root.

# cfgmaker prive@localhost > /var/www/mrtg/mrtg.cfg

Il vous faut adapter cette commande en fonction des modifications que vous avez apporté à la configuration de SNMP plus haut. Une fois le fichier créé, vous pouvez l'éditer pour le peaufiner notamment en configurant convenablement le chemin où seront stockées les images de vos graphiques. Afin d'avoir une jolie présentation, nous allons créer la page html grâce à la commande :

# indexmaker /var/www/mrtg/mrtg.cfg > /var/www/mrtg/index.html

Enfin, en dernier lieu, il faut lancer en cron la commande de mise à jour des graphiques de MRTG

# crontab -e

# 0-59/5 * * * * root env LANG=C /usr/bin/mrtg /var/www/mrtg/mrtg.cfg

Enregistrez et quittez pour que les graphiques se mettent à jour toutes les 5 minutes pour arriver à ce résultat (voir figure 4.5) :

Figure 4.5 Exemple des graphes élaborés par MRTG

CHAPITRE 5 : Présentation du système de monitoring mise en place à la FEDAS-TOGO

1. Les interfaces Nagios/Centreon

1.1 La fenêtre principale

Encore appelée interface d'accueil ou home (en anglais) la fenêtre principale présente tous les menus disponibles et permettant d'accéder aux autres interfaces du système de monitoring. Elle permet d'apercevoir directement le résumé global du fonctionnement du parc donc le nombre d'ordinateurs et de services en bon état et en dysfonctionnement (voir Figure 4.1).

Figure 4.6 Page d'accueil

1.2. La fenêtre du centre statistique de nagios (interface centreon) :

Le logiciel nagios étant le moteur du système installé, les données statistiques proviennent de nagios d'où cette interface Nagios Statistique ainsi centreon ici n'a pour rôle que d'afficher les données de nagios.

Elle permet nous d'avoir un état statique global chiffré de tout le système. Ainsi l'interface nous présent les tableaux : de vérification des ordinateurs et services en activité, leur nombre, de vérification du temps de latence, de vérification de temps d'exécution (Voir Figure 4.2).

Figure 4.7 Centre statistique Nagios

1.3. La fenêtre de l'état graphique global

Cette interface nous présente en graphe l'état global de santé de la plate forme de surveillance que nous avons mise en place pour la supervision du parc informatique de la Fedas-Togo (voir Figure 4.3).

Figure 4.8 Etat graphique global

1.4. Interface qui affiche l'état des ordinateurs du réseau (STATUS UP)

Cette fenêtre affichée à la figure 4.4, nous permet de constater que le lundi 22 Octobre 2010, à 18 heures 03 minutes tous les ordinateurs du parc informatique de fedas togo étaient en marche.

Figure 4.9 Etat des ordinateurs (environnement Nagios) : STATUS UP

Figure 4.10 Etat des ordinateurs (environnement centreon) : STATUS UP

1. 5. Interface qui affiche l'état des ordinateurs du réseau (STATUS DOWN et UP)

Contrairement à la fenêtre précédente celle-ci nous permet de constater que le Samedi 23 Octobre 2010, à 19 heures 00 minutes il n'y a que deux ordinateurs du parc informatique qui étaient en marche tous les autres sont éteins.

Figure 4.11 Etat des ordinateurs (STATUS UP et DOWN)

1.6. Interface qui affiche les services

Cette fenêtre nous affiche l'état des services surveillés, la durée à laquelle ils sont en activité, l'heure de la dernière vérification, etc.

Figure 4.12 Etat des services (STATUS OK)

1.7. Interface qui affiche les problèmes liés aux ordinateurs

Cette fenêtre permet de lister les problèmes survenus sur les postes du réseau à une période donnée. Dans notre contexte la figure 4.8 nous énumère tous les ordinateurs inaccessibles au système mise en place en affichant :

Le nom des postes, leur état, leur adresse IP, la dernière vérification du système, la durée du problème etc.....

Figure 4.13 Etat des problèmes liés aux ordinateurs

1.8. Interface qui affiche les problèmes liés aux services

Cette fenêtre permet de répertorier les problèmes survenus sur les postes du réseau à une période donnée. La figure 4.14 ci-dessous nous inventorie tous les services inaccessibles au système mise en place en affichant :

Le nom des postes, le nom des services, leur état, la dernière vérification du système, la durée du problème etc.

Figure 4.14 Etat des problèmes liés aux services

2. Les graphes MRTG

2.1 Interface Principale

Cette fenêtre permet de voir la fenêtre d'accueil du logiciel MRTG installé lorsqu'il n'y a aucune activité dans le réseau.

Figure 4.15 Page d'accueil vide de MRTG (à l'installation)

2.2 Interface Principale avec MRTG en activité

Cette fenêtre permet de voir la fenêtre d'accueil du logiciel MRTG installé lorsqu'il n'y a activité dans le réseau, et la figure 4.16 notre la bande passante qui est occupée pendant cette période donnée.

Figure 4.16 Graphe de la bande passante

3. Coût financier

3.1 Evaluation des systèmes de supervision propriétaires.

Le logiciel RAMS 4.0 (Route Analytics Management System) est un logiciel de supervision réseau de HP sont prix d'achat hors taxe est fixé à 41 224.00 Euro (27 001 000 Fcfa environ). L'installation et la configuration sont fixées à 92 321,00 Euro (60 470 255 Fcfa environ). IBM lui son logiciel de supervision de données le Tivoli Storage Manager est proposé à 2 192.14 Euro hors taxe donc pratiquement 1 500 000 Fcfa.

3.2 Evaluation des systèmes de supervision non propriétaires.

Ici seul la prestation est facturée, dans un projet comme le notre l'implémentation d'un logiciel est fixée 650 Euro s'il s'agit d'un technicien supérieur et 1 200 Euro si c'est un ingénieur. Dans notre projet nous avons eu à installer trois logiciel à savoir nagios, centreon et le MRTG, du coup le coût total de notre projet est évalué 1 200 Euro multiplié par le nombre de logiciel soit 3 600 Euro (2 358 000 Fcfa). Ceci nous permet de voir aisément intérêt et la justification de notre projet ou l'utilisation d'outils libres sur le plan financier.

CONCLUSION

Le service informatique de La Fédérale d'Assurances TOGO, comme nous l'avons vu, dans le souci de permettre à la société d'offrir des services de qualité en réduisant de manière significative les problèmes au bon fonctionnement de son parc informatique a fait recours à la supervision informatique. Ainsi Nous avons tenté dans ce modeste travail de relier deux domaines très vastes de l'informatique actuelle, d'un coté la virtualisation et d'un autre la supervision informatique. Au regard de l'importance dont revêt la supervision par rapport à ses activités d'une part et les difficultés liés à la gestion du parc informatique d'autre part (perte de temps, risque d'indisponibilité, d'obtention des états, difficultés et recherche d'informations entre autres), il s'avérait nécessaire de trouver des solutions en vue de pallier ces insuffisances et de faciliter la gestion du parc informatique. Comme solution, nous avons envisagé un système de monitoring du parc informatique, solution qui selon nous conviendrait le mieux pour la résolution des problèmes existants.

Elle permettra entre autre :

- Le maintien des services offerts aux clients de la Fedas-Togo (optimisation de la disponibilité des services),

- d'avoir une vue globale du système d'information,

- la détection et la prévention de pannes,

- De vérifier la connexion Internet (routeur, bande passante)

- Les remontées des alertes (mails, rapports d'alertes journalier ou log),

- d'effectuer des actions correctives précises.

La réalisation de ce projet nous a permis de nous familiariser avec le système d'exploitation linux dont la maîtrise est nécessaire pour travailler dans les réseaux informatiques et surtout d'acquérir d'importantes connaissances en virtualisation.

Nous nous sommes entre autres habitués l'utilisation des outils comme :

- L'environnement Vmware pour la virtualisation du système d'exploitation sur lequel va fonctionner la plate-forme de surveillance.

- Le système d'exploitation linux plus précisément la version 12 de Fédora nommé « constantine » sur lequel est installé nagios centreon et le MRTG, sans oublier la manière dont nous avons été édifié par l'installation de fédora sans interface graphique.

- L'approche du monde open source avec l'utilisation des logiciels nagios centreon et MRTG.

La mise en place du monitoring Nagios-centreon MRTG permet actuellement à l'administrateur, ã l'ensemble du service informatique, ainsi qu'aux dirigeants d'être informé de l'état du réseau en temps réel.

Et bien sur, il y a toujours place pour l'amélioration de notre architecture, comme perspectives nous pouvons penser à :

- Rajouter d'autres services pour enrichir et compléter les modules de supervision afin d'être plus fiables et plus complets.

- Etendre les modules de détection et de réactions afin de superviser des machines des réseaux hétérogènes.

- Orienter les remontées d'alertes vers une plate-forme d'un opérateur de téléphonie mobile pour des alertes par SMS.

- Scinder la supervision matérielle et la supervision réseau (créer une machine virtuelle pour chaque élément à surveiller)

- L'archivage les données récoltées par les agents d'analyse pour des statistiques et des traitements futures (archivage des rapports d'alertes).

La plate-forme devenant ainsi l'outil de gestion qui permettra au service informatique de pallier aux diverses difficultés de gestion existantes telles que la perte de temps, la difficulté d'obtention des états dont il aura besoin. C'est en cela que nous pouvons affirmer que la supervision informatique se rendra incontournable dans l'amélioration qualitative de la productivité de la société FEDAS-TOGO et surtout accroître à coup sur le chiffre d'affaires de la société qui est la principale raison d'être de toute entreprise.

Web-graphie

Nagios :

http://www.nagios.org

http://nagios.sourceforge.net/docs/2_0 http://forums.bfl-solutions.eu

Centreon :

http://centreon-project.org http://forum.centreon-project.org

SNMP / Traps :

http://fr.wikipedia.org/wiki/Simple_Network_Management_Protocol http://christian.caleca.free.fr/snmp

http://www.frameip.com/snmp

http://www.supinfo-projects.com http://linuxtips.castres-wireless.org/article.php3?id_article=16 http://xavier.dusart.free.fr

http://www.net-snmp.org/wiki/index.php/TUT:snmptrap

RRDtool / MRTG:

http://www.rrdtool.org http://www.mrtg.org

http://oss.oetiker.ch/mrtg/

http://doc.fedora-fr.org/wiki/Installation_et_configuration_de_MRTG

MBSA :

http://www.microsoft.com/technet/security/tools/mbsahome.mspx

UPS :

http://linux.developpez.com/cours/upsusb/

Lexique

.htaccess : Les fichiers .htaccess sont des fichiers de configuration des serveurs web Apache. Ils peuvent être placés dans n'importe quel répertoire du site web (la configuration s'applique au répertoire et à tous les répertoires qu'il contient) et peuvent être modifiés alors que le serveur est en cours d'exécution.

On peut les utiliser pour modifier les droits d'accès, créer des redirections, écrire des messages d'erreurs personnalisés, associer les extensions de fichier à des types MIME, etc.

LIEN : http://httpd.apache.org/docs/2.0/howto/htaccess.html

DMZ : Une zone démilitarisée est un sous-réseau (DMZ) isolé par deux pare-feux (firewall). Ce sousréseau contient des machines se situant entre un réseau interne (LAN - postes clients) et un réseau externe (typiquement, Internet).

La DMZ permet à ces machines d'accéder à Internet et/ou de publier des services sur Internet sous le contrôle du pare-feu externe. En cas de compromission d'une machine de la DMZ, l'accès vers le réseau local est encore contrôlé par le pare-feu interne.

Le DMZ est aussi (sur certain routeurs) le fait de rediriger tout les ports vers un pc précis sur un réseau local.

LIEN : http://fr.wikipedia.org/wiki/Sécurité informatique

GPL : La Licence publique générale GNU, ou GNU GPL pour GNU General Public License en anglais, est une licence qui fixe les conditions légales de distribution des logiciels libres du projet GNU. Richard Stallman et Eben Moglen, deux des grands acteurs de la Free Software Foundation, en furent les premiers rédacteurs. Sa dernière version est la GNU GPL version 2 de 1991 et une troisième version est en cours d'écriture.

Elle a depuis été adoptée, en tant que document définissant le mode d'utilisation, donc d'usage et de diffusion, par de nombreux auteurs de logiciels libres. La principale caractéristique de la GPL est le copyleft, ou gauche d'auteur, qui consiste à « détourner » le principe du copyright (ou droit d'auteur) pour préserver la liberté d'utiliser, d'étudier, de modifier et de diffuser le logiciel et ses versions dérivées.

LIEN : http://www.gnu.org/licenses/gpl.html

LDAP : Lightweight Directory Access Protocol (LDAP) est un protocole permettant l'interrogation et la modification des services d'annuaire. Ce protocole repose sur TCP/IP.

LIEN : http://www.cru.fr/ldap/

Monitoring d'une infrastructure Linux sur base d'outils libres

IMAP : Internet Message Access Protocol (IMAP) est un protocole utilisé par les serveurs de messagerie électronique, fonctionnant pour la réception.

Ce protocole permet de laisser les e-mails sur le serveur dans le but de pouvoir les consulter de différents clients e-mails ou webmail. Il comporte des fonctionnalités avancées, comme les boîtes aux lettres multiples, la possibilité de créer des dossiers pour trier ses e-mails? Le fait que les messages soient archivés sur le serveur fait que l'utilisateur peut accéder à tous ses messages depuis n'importe où sur le réseau et que l'administrateur peut facilement faire des copies de sauvegarde.

IMAP utilise le port TCP 143. Il est particulièrement bien adapté à l'accès à travers des connexions lentes. IMAPS (IMAP over SSL) permet l'accès sécurisé au serveur en utilisant SSL. Il utilise le port TCP 993. L'utilisation du protocole IMAP au dessus de SSL est décrite dans la RFC 2595.

MIB : Une MIB (Management Information Base, base d'information pour la gestion du réseau) est un ensemble d'informations structuré sur une entité réseau, par exemple un routeur ou un commutateur. Ces informations peuvent être récupérées, ou parfois modifiées, par un protocole comme SNMP.

LIEN : http://christian.caleca.free.fr/snmp/la mib.htm

SMTP : Le Simple Mail Transfer Protocol (littéralement « Protocole simple de transfert de courrier »), généralement abrégé SMTP, est un protocole de communication utilisé pour transférer le courrier électronique vers les serveurs de messagerie électronique.

SMTP est un protocole assez simple (comme son nom l'indique). On commence par spécifier le ou les destinataires d'un message puis, l'expéditeur du message, puis, en général après avoir vérifié leur existence, le corps du message est transféré. Il est assez facile de tester un serveur SMTP en utilisant telnet sur le port 25.

LIEN : http://stielec.ac-aix-marseille.fr/cours/caleca/smtp/index.html

SNMP : Le sigle SNMP signifie Simple Network Management Protocol (protocole simple de gestion de réseau en Français). Il s'agit d'un protocole de communication qui permet aux administrateurs réseau de gérer les équipements du réseau et de diagnostiquer les problèmes de réseau à distance.

LIEN : http://www.snmp.com

WAN : Un réseau étendu, souvent désigné par l'acronyme anglais WAN de Wide Area Network, est un réseau informatique couvrant une grande zone géographique, typiquement à l'échelle d'un pays, d'un continent, voire de la planète entière. Le plus grand WAN est le réseau Internet.

LIEN : http://fr.wikipedia.org/wiki/Wan

BIBLIOGRAPHIE

1. La Fédérale d'Assurances Rapport Annuel 2004

2. Jean Pierre FRAGNIERE, Comment réussir un mémoire, 2è édition

DUNOD, 2è trimestre 1996

Document Word 

3. Situation du parc informatique de la FEDAS après la migration vers Windows XP

4. La Fédérale d'Assurances Rapport d'exécution de l'émission réalisée du 1er au 31 Janvier 2004 et proposition d'un nouveau programme d'émission pour l'année 2005

5. Note administrative inter structure

Référence DFT/DMR2003N 12607 du 19 Février 2005

6. Note d'information Janvier 2004 Fédérale d'Assurances Togo Assurance Responsabilité civile 2003 - 2009

7. Attributions et missions des structures à la Fédérale d'Assurances Togo

ANNEXES

* 1 Eric D'HEM Ingénieur réseau spécialiste en monitoring et Directeur de NETvigie

* 2 UDP : en français protocole de datagramme utilisateur, c'est l'un des principaux protocoles de télécommunication utilisés par Internet

* 3 Net saint : c'est l'ancienne appellation du NAGIOS