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
|