Supervision informatique avec Nagios
Supervision informatique avec Nagios
Sujet :
« Mise en place d’une solution de supervision
du parc informatique de Dimension Data »
Classe : 5SR
1
Dédicaces
2
Remerciements
A mon tuteur de stage [Link] HAFID pour son accueil, son encouragement,
et son implication effective pour la réussite du projet.
Mes vifs remerciements s'adressent également aux membres du jury qui ont
accepté d'évaluer mon travail.
Mes vifs remerciements vont aussi à mes professeurs pour leurs directives, leurs
conseils et leur assistance qu’ils n’ont cessé de me témoigner durant la réalisation de
notre projet.
Je tiens à remercier enfin tous ceux qui ont contribué de prés et/ou de loin à la
réalisation de ce travail espérant qu’ils trouvent dans mon rapport l’expression de ma
profonde connaissance.
3
Résumé
J’ai effectué mon stage de fin d’études d’ingénierie, d’une durée de 4 mois, à partir
du 1er Avril 2013, au sein de l’entreprise Dimension DATA – Temara, c’est une SSII Sud-
Africain.
Le sujet qui m’a été confié s’intitule sur :
La Mise en place d’une solution de supervision du parc informatique de Dimension Data
Mon travail a consisté, dans un premier temps, à définir les besoins de l’entreprise,
me documenter sur les différentes techniques de supervision, ensuite de choisir celle la
plus adoptée.
La solution qui a été adoptée est Nagios complété par l'interface Centreon, qui va
faciliter la tâche de configuration et de modifications appliquées sur le système de
supervision. Ce dernier permet aussi la génération des graphes pour chaque équipement
lié au réseau.
Cette solution a été complétée par un système de notification celui intégré dans
Nagios. Ce mécanisme va informer, en cas de problème, l'administrateur de supervision
de l'emplacement de l'erreur et de son niveau de criticité.
4
Sommaire
5
Sommaire
6
Liste des figures
7
Liste des tableaux
8
Introduction Générale
Actuellement toutes les entreprises sont équipées d’un réseau local au minimum,
et de réseaux de longues distances pour les plus importantes d’entre elles. Leurs parcs
informatiques englobent une dizaine voir une centaine d’équipements, engendrés par
des serveurs de bases de données et des serveurs de traitements.
Vu que ces systèmes informatiques sont au cœur des activités des entreprises, leur
maitrise devient primordiale. Ils doivent fonctionner pleinement et en permanence pour
garantir la fiabilité et l’efficacité exigées, et surtout travailler à réduire les problèmes de
défaillances, les pannes, les coupures et les différents problèmes techniques qui peuvent
causer des pertes considérables.
C'est dans ce cadre que se situe mon projet qui consiste à superviser le réseau de
Dimension Data. Ce rapport étale les différentes étapes de réalisation du projet, qui est
reparti en quatre grands chapitres:
9
Chapitre 1 :
Contexte générale du projet
10
Chapitre 1 : Contexte générale du projet
I. Organisme d’accueil
1. Historique de Dimension-Data
Historique de Dimension-Data
Fondée il y a 29 ans en Afrique du sud, par trois jeunes, ambitieux Sud-africains.
Ainsi leur cycle de développement a été comme suit :
Fondée par Jeremy Ord, Richard Came and Bruce Watson, en Afrique du
1983
sud.
1987 Cotée à la bourse de Johannesburg.
1993 Les revenus ont augmenté à 34 millions de dollars.
1994 Dimension Data en Afrique du Sud est devenue Cisco gold Partner.
1995 Elargie dans les logiciels et les services du secteur.
1996 Stratégie d’expansion internationale
2000 Coté à la bourse de Londres.
Dimension Data en Afrique du Sud conclut Black Economic
2004
Empowerment transaction.
2005 Dimension Data awarded Cisco Global Partner of the Year award.
2009 Augmentation du chiffre d’affaire jusqu’au 4 milliard de dollars
Nippon Telegraph and Telephone a annoncé une prise de contrôle
2010
convenu de Dimension Data en £ 2,12 milliards.
Tableau 1 : Historique de Dimension Data.
Dimension Data est un groupe qui est aujourd’hui implanté dans 51 pays. Il est un
intégrateur de services, spécialisé dans les infrastructures informatiques et fait partie du
groupe NTT.
2. Dimension-Data Maroc
Dimension data Maroc vient de voir le jour au Maroc le 1er novembre 2009, en
marge d’une participation dans « la Télédistribution et la Communication ». Dimension
Data vient de s’offrir une participation à hauteur de 51% dans le capital de la société
marocaine TELCOM « Télédistribution et Communication ». Telcom est une société de
services dans les télécommunications créée en 1999. Elle possède un statut juridique de
société Anonyme à Responsabilité Limitée.
Par ailleurs, dans un premier temps, c'est à partir des bureaux de Temara et
Casablanca qu’est assurée la gestion de DIMENSION DATA Maroc. Dimension data est un
acteur majeur des télécommunications au Maroc. Ses principaux clients sont :
11
Chapitre 1 : Contexte générale du projet
3. Fiche d'identité
Raison sociale Dimension Data (Anciennement Telcom)
Siège social Lot 30 Zone Industrielle Assinaia, Temara,
Rabat
Gérant Jean-Pascal BECHTEL et Réda MEZIANE
Registre de commerce 51461 de Rabat
Patente 25770288
Identification Fiscale 333 27 96
Forme juridique SARL
Capital social 5 000 000 DHS soit l’équivalent de 435.000 €
Logo
12
Chapitre 1 : Contexte générale du projet
La direction de déploiement
Ce Projet de fin d’Etudes a été réalisé au sein de la direction de déploiement qui
joue un rôle primordial dans la société Dimension Data Maroc, qui s’occupe de la partie
installation du réseau mobile et du réseau fixe.
13
Chapitre 1 : Contexte générale du projet
14
Chapitre 1 : Contexte générale du projet
15
Chapitre 1 : Contexte générale du projet
Actions
Type de Niveau Priorit
Réf Risques Impact Probabilité préventives
risque d’impact é
engagées
R1 Cahier des charges Dépréciation de Fonctionnel Forte Majeur Recherche plus Modér
fonctionnel est l'image de détaillé sur le ée
incomplet marque du sujet
projet Le benchmark
- Impact sur le Maquettage
délai
R2 Incompréhension Retard de Fonctionnel Forte Significatif Demande Critique
de certaines l’implémentatio d’assistance et
spécifications n recherches
Impact sur la approfondies
qualité
16
Chapitre 1 : Contexte générale du projet
IV. Conclusion
Ce chapitre m’a permis de se familiariser avec l’environnement du travail en
présentant l’entreprise, l’objectif du projet et le planning prévisionnel. Le chapitre
suivant attaquera une étude approfondie de l'existant.
17
Chapitre 2 :
Etude de l’existant et spécification des besoins
18
Chapitre 2 : Etude de l’existant et spécification des besoins
I. Description de l’existant
Ce présent travail s’est déroulé dans un environnement comportant un parc
informatique composé d’une dizaine de machines et de serveurs locaux et distants, dont
le nombre est capable de se dupliquer en fonction du temps et des clients.
1. Topologie Physique
19
Chapitre 2 : Etude de l’existant et spécification des besoins
2. Topologie Logique
Adressage IP des Vlan
N° Vlan Nom Vlan Vlan @ IP Etat
9 MARBAVLDManagement [Link] Up
10 MARBAVLDGB1 [Link] Up
11 MARBAVLDGA2 [Link] Up
12 MARBAVLDGA3 [Link] Up
13 MARBAVLDGB1 [Link] Up
14 MARBAVLDGB2 [Link] Up
15 MARBAVLDGB3 [Link] Up
16 MARBAVLDGC1 [Link] Up
17 MARBAVLDGC2 [Link] Up
18 MARBAVLDGC3 [Link] Up
40 - [Link] Up
95 - [Link] Up
96 - [Link] Up
97 MARBAVLDWIFI [Link] Up
98 MARBAVLVWIFI [Link] Up
99 MARBAVLDGuest [Link] Up
110 MARBAVLVGB1 [Link] Up
111 MARBAVLVGA2 [Link] Up
112 MARBAVLVGA3 [Link] Up
113 - [Link] Up
114 MARBAVLVGB2 [Link] Up
115 MARBAVLVGB3 [Link] Up
116 MARBAVLVGC1 [Link] Up
117 MARBAVLVGC2 [Link] Up
118 MARBAVLVGC3 [Link] Up
200 - [Link] Up
800 SERVER [Link] Down
900 AP [Link] Up
990 MARBAVLDPSTN [Link] Up
999 MARBAVLDServer [Link] Up
1001 UNUSED_PORTS - -
1002 fddi-default - -
1003 token-ring-default - -
1004 fddinet-default - -
1005 trnet-default - -
Tableau 4 : Adressage IP des Vlan
20
Chapitre 2 : Etude de l’existant et spécification des besoins
Travail demandé :
Évaluer la conformité du système d’information avec les besoins de l’utilisateur. Il
s’agit de voir si le système a des lacunes, lesquelles et comment on peut les gérées, en
proposant une solution de monitoring qui influerait sur la productivité de l’entreprise.
Entreprise d’accueil :
Dimension Data Entreprise (SSII)
Plan du travail :
Le but principal du projet est de pouvoir établir un audit qui permettra de détecter
tous les échecs système qui peuvent survenir au sein de l’entreprise Dimension Data et
en déduire une solution de monitoring (Nagios ou Zabbix) qui remplit les conditions
suivantes :
Récupération des informations permettant la détection des pannes,
l’indisponibilité des serveurs et de leurs services.
Des renseignements supplémentaires de monitoring sur la charge CPU,
Espace disque, mémoire disponible, input/output, etc…
Coûts financiers les plus réduits possibles.
Gestion des alertes.
Notification par mail ou SMS en cas de problème.
Générer des rapports mensuels sur le fonctionnement des serveurs.
Générer des graphes (cartographie du réseau,…)
21
Chapitre 2 : Etude de l’existant et spécification des besoins
V. Conclusion
Ce chapitre a présenté les problèmes que rencontre la société et qui ont été
identifiés suite à l’étude de l’existant et à sa critique, ce qui m’a permis de cerner la
problématique de mon projet. Le chapitre suivant attaquera une étude approfondie sur
les différentes solutions de supervision.
22
Chapitre 3 :
Etude des solutions de supervision
23
Chapitre 3 : Etude des solutions de supervision
I. Etude de choix
De nombreuses plateformes de supervision existent aujourd’hui. Certaines se
contentent de gérer en temps réel l’état du réseau et préserve une vue globale sur le
fonctionnement de son architecture, d’autres permettent également de connaître l’état
des différents services, et d’autres qui offrent la possibilité de ressortir de nombreuses
statistiques du réseau permettant une analyse assez fine.
3. Choix du logiciel
Les différentes solutions commerciales déjà présentées (HPOpenview, Patrol,
BigBrother, etc..) nécessitent un investissement important pour leur mise en place, et
pour des raisons propres à l’entreprise, toutes ces solutions sont à écarter de ma liste de
choix. Parmi les solutions les plus connues, recommandées et surtout Libres, je citerai
Nagios et Zabbix. Voici une Benchmark des deux logiciels choisis.
24
Chapitre 3 : Etude des solutions de supervision
25
Chapitre 3 : Etude des solutions de supervision
Parmi ces solutions libres, les deux logiciels Zabbix et Nagios sont les plus
répandus et les plus utilisés. Par rapport à mon projet, ce sont les deux solutions les plus
adaptées permettant de satisfaire pratiquement tous les besoins de la société, par les
différentes fonctionnalités qu’elles offrent. Et compte tenu de ce critère Zabbix et Nagios
restent à égalité et il me sera impossible de les départager.
Une des particularités captivantes de Nagios est sa modularité, on a ainsi estimé
que Nagios a été plus adapté aux besoins de mon projet que Zabbix. En effet, grâce à ses
plugins, Nagios possède une architecture facilement adaptable à l’environnement. Ces
derniers pouvant être ajoutés, modifiés ou même personnalisés et permettent de
spécifier les tâches pour aboutir au résultat voulu.
De plus Nagios est une solution stable, dispose d’une grande communauté de
développeurs et est utilisé aussi bien dans les petites et moyennes infrastructures que
dans les grands parcs informatiques et utilisé surtout par plusieurs entreprises de
renommé, tels que Yahoo (100 000 serveurs), Yellow pipe Web Hosting (7000 serveurs) …
Bien que ce dernier soit réputé par sa configuration fastidieuse, il peut être couplé
à Centreon un logiciel qui lui servira de couche applicative afin de faciliter la
configuration et d’établir des interfaces IHM plus ergonomiques et compréhensibles.
26
Chapitre 3 : Etude des solutions de supervision
27
Chapitre 3 : Etude des solutions de supervision
Nagios est un logiciel libre distribué sous licence GPL qui permet de superviser un
système d’information complet. Utilisé par de nombreuses sociétés, il fait l’objet de
contribution et recherche très active.
Etant le successeur de NetSaint dont la première version date de 1999, ce logiciel
est considéré comme une évolution de ce dernier auquel a été ajoutée, entre autre, la
gestion du protocole SNMP. Il apparaît sous le nom de Nagios le 10 mai 2002 aux
conditions de la GNU General Public License.
Cet outil repose sur une plate-forme de supervision, fonctionnant sous Linux et
sous la plupart des systèmes Unix. Il centralise les informations récoltées périodiquement
par le fonctionnement modulaire dont il est caractérisé, ce qui le rend beaucoup plus
attractif que ses produits concurrents. En revanche sa configuration peut se révéler
complexe.
2. Fonctionnalités de l’outil
Les fonctionnalités de Nagios sont très nombreuses, parmi les plus communes
nous pouvons citer les suivantes :
28
Chapitre 3 : Etude des solutions de supervision
3. Architecture de Nagios
L’architecture de Nagios se base sur le paradigme serveur-agent. D’une manière
spécifique, un serveur faisant office de point central de collecte des informations tandis
que les autres machines du réseau exécutent un agent chargé de renvoyer les
informations au serveur.
L’architecture globale de Nagios peut être décomposée en 3 parties coopératives
entre elles :
Un noyau qui est le cœur du serveur Nagios, lancé sous forme de démon et
responsable de la collecte et l’analyse des informations, la réaction, la prévention,
la réparation et l’ordonnancement des vérifications (quand et dans quel ordre).
C’est le principe de répartition des contrôles au mieux dans le temps qui nous évite
la surcharge du serveur et des machines à surveiller.
Des exécutants : ce sont les plugins dont un grand nombre est fourni de base,
responsables de l’exécution des contrôles et tests sur des machines distantes ou
locales et du renvoie des résultats au noyau du serveur Nagios
Une IHM : C’est une interface graphique accessible par le web conçue pour rendre
plus exploitable les résultats. Elle est basée sur les CGI (Common Gateway
Interface) fournis par défaut lors de l’installation de Nagios qui interprètent les
réponses des plugins pour les présenter dans l’interface.
Cette interface sert à afficher de manière claire et concise une vue d’ensemble du
système d’information et l’état des services surveillés, de générer des rapports et de
visualiser l’historique. D’une manière générale avoir la possibilité de détecter en un
simple coup d’œil, les services ou hôtes ayant besoin d’une intervention de leur
administrateur.
29
Chapitre 3 : Etude des solutions de supervision
La relation entre le noyau et les plugins est assuré d’une part par les fichiers de
configuration (définitions des commandes) et d’autre part par le code retour d’un plugin.
Cette relation peut se résumer par ce tableau :
Nagios est livré avec un « package » de greffons standards regroupant les plus
utilisés. Pour une utilisation basique et simple, ils devraient être suffisants. En voilà
quelques exemples:
check_http : Vérifie la présence d'un serveur web.
check_load : Vérifie la charge CPU locale.
check_ping : Envoie une requête Ping à un hôte.
check_pop : Vérifie la présence d'un serveur POP3.
check_procs : Compte les processus locaux.
check_smtp : Vérifie la présence d'un serveur SMTP.
check_snmp : Envoie une requête SNMP (passée en argument) à un hôte.
check_ssh : Vérifie la présence d'un service SSH.
check_tcp : Vérifie l'ouverture d'un port TCP (passé en argument).
check_users : Compte le nombre d'utilisateurs sur la machine locale.
Il est possible de créer son propre plugin et l’interfacer avec Nagios tout en
respectant les conventions des codes de retours précédemment expliqués. La vivacité de
la communauté Open Source et celle de Nagios 2 en particulier permet de disposer d'un
grand nombre de plugins supplémentaires.
30
Chapitre 3 : Etude des solutions de supervision
Comme on peut le constater sur la figure 4, les plugins peuvent fonctionner soit en
effectuant des tests en local, à distance par le biais de divers moyen comme l’installation
des agents NRPE ou NSClient ou autres.
31
Chapitre 3 : Etude des solutions de supervision
Nous avons alors la possibilité de travailler avec des services. Lors de la création
d'un service, il faut l'associer à un ou plusieurs hôtes puis à une commande.
Ensuite Nagios remplace automatiquement la variable de l'adresse IP dans la
commande, grâce à la liste d'hôtes associée au service. Puis on doit définir
manuellement dans le service les autres variables nécessaires à la commande.
Une fois que Nagios a reçu les informations dont il avait besoin sur l'état des hôtes,
celui-ci peut construire des notifications sur l'état du réseau, afin d'en informer
l'administrateur.
Lorsque Nagios effectue une notification, il attribue des états aux hôtes, ainsi
qu'aux services.
Un hôte peut avoir les états suivants:
Up : en fonctionnement
Down : éteint
Inaccessible
En attente
Les différents états d'un service sont:
OK
Attention
Critique
En attente
Inconnu
Schéma de supervision de réseau avec Nagios
32
Chapitre 3 : Etude des solutions de supervision
Utilités de NDOutils
Il faut d’abord savoir que lorsque les greffons effectuent des tests, ils retournent
au processus/ordonnanceur Nagios, deux types de données qui sont les états des hôtes
et leurs services, ainsi que les données de performances qui par la suite seront
enregistrées dans des fichiers plats.
Pour obtenir une information Nagios est obligé de lire et traiter ces fichiers en
entier. Aussi chaque rafraichissement d’une page web depuis l’interface de Nagios
implique une analyse complète de ces fichiers.
NDOutils vient alors optimiser l’exploitation de ces données en les exportant vers
une base de données MySQL, ce qui a les avantages suivantes :
Stockage des données à long terme.
Permettre à un logiciel tiers comme « Centreon » d’accéder de manière
optimisée aux données d’états et performances de Nagios et de partager ses
données.
Optimisation de l’exploitation des données et amélioration des
performances ; il est plus rapide de rechercher des informations dans une
base de données structurée, plutôt que dans un fichier de journalisation qu’il
faut parcourir entièrement à chaque utilisation.
Architecture de NDOutils
NDOutils se compose de deux modules :
Ndomod : lancé automatiquement avec Nagios et responsable de
l’exportation des données extraits des fichiers plats pour les déposer dans un
socket (Unix, tcp).
Ndo2db : démon nécessitant un script d’initialisation et responsable de
l’ouverture de socket (Unix ou TCP) et place les données trouvées dans une
base de donnée MySQL.
33
Chapitre 3 : Etude des solutions de supervision
2. Centreon
Présentation de Centreon
Centreon est une couche applicative Web venant se greffer à Nagios pour offrir
une administration moins rudimentaire basée sur deux fonctionnalités principales :
Une seconde interface de monitoring : Centreon propose une interface plus
sobre, ainsi qu'une façon différente de traiter les données remontées par
Nagios.
Puissante interface de configuration : Centreon autorise en effet à
l'utilisateur de modifier intégralement la configuration de Nagios depuis son
navigateur internet, plutôt qu'en modifiant manuellement les fichiers
éparpillés sur le disque.
Cet outil utilise ses propres bases de données MySQL crées automatiquement lors
de son installation pour récupérer toutes les données d’états et de performances de
Nagios pour les traiter et les afficher dans sa propre interface graphique.
Cet outil construit ses propres graphiques grâce aux RRDTools, des bases de
données particulièrement adaptées à la construction graphique.
Utilités de Centreon
Sans aucun doute, Nagios est considéré comme étant une solution très puissante.
Cependant, on peut lui reprocher d’être très compliquée à configurer vu le nombre
important de fichiers dont elle dispose.
La modification manuelle de ces fichiers de configuration, à chaque ajout une hôte,
un service, une commande.., augmentera le risque d’affronter beaucoup plus d’erreurs.
On a donc choisi de coupler Nagios à Centreon pour remédier à ce problème en
évitant la modification à la main de ces fichiers textes. Centreon n’ayant pas seulement le
grand avantage de gérer automatiquement les nombreux fichiers de configuration de
Nagios mais aussi une interface multiutilisateurs, intuitive et personnalisable avec
intégration des droits d’accès en plus d’un compte rendu graphique plus pratique et
élégant que celui offert par Nagios.
Architecture de Centreon
Centreon et Base de données
Centreon interagit principalement avec la base de données MySQL pour remonter
les données fournies par Nagios et stockées dans la base grâce à NDO.
34
Chapitre 3 : Etude des solutions de supervision
Centreon et démons
Pour un fonctionnement sain, Centreon a besoin que ses deux démons soient
lancés :
Centstorage : Centstorage est l'outil qui exploite les données remontées par
Nagios pour Centreon. C'est un programme écrit en Perl, associé à Centreon.
A chaque modification du fichier de données perfdata, centstorage met à
jour deux bases de données « Centstorage » et « RRD ».
Centcore : Dans le cas où l’architecture adoptée est distribuée (serveur
centrale pour la supervision et d’autres serveurs fils), Centcore permettra à
cette architecture de bien communiquer ensemble, en se chargeant de la
transmission des données entre ses différents serveurs. Aussi Responsable
du déploiement de la configuration de Centreon vers Nagios.
35
Chapitre 3 : Etude des solutions de supervision
3. NSClient
Présentation de NSClient
C’est un plugin permettant de récupérer un nombre important d’information à
surveiller sur une machine Windows.
Le plugin se livre avec un ensemble de commandes check qui nous permet de
dégager d’importantes informations comme :
CLIENTVERSION : retourne la version de l’agent NSClient.
CPULOAD : retourne la charge moyenne du système.
UPTIME : retourne la durée écoulée depuis le dernier redémarrage de la
machine.
USEDDISKSPACE : retourne la taille et le pourcentage du disque utilisé.
MEMUSE : retourne la taille de la mémoire utilisée, et la taille restante.
SERVICESTATE : retourne le statut (démarré, arrêté) d’un ou plusieurs
services Windows.
PROCSTATES : vérifie si un ou plusieurs processus sont démarrés.
COUNTER : interroge n’importe quel compteur de performance.
Architecture de NSClient
NSClient se base sur une architecture client/serveur. La partie cliente nommée
check_nt, doit être disponible sur le serveur Nagios et on doit vérifier son existence
parmi les plugins délivrés avec Nagios-plugins sinon l’installer. La partie serveur
NSClient++ est à installer sur chacune des machines Windows à surveiller.
4. NRPE
Présentation de NRPE
NRPE (Nagios Remote Plugin Executor) est un agent de supervision qui vous
permet de récupérer les informations à distance lors de la supervision d’un serveur Linux.
Il a le grand avantage d’exécuter les commandes dans la machine à superviser ce qui
permet ainsi de répartir les charges.
36
Chapitre 3 : Etude des solutions de supervision
Il est livré avec un ensemble de commandes check définis par défaut dans son
fichier de configuration et nécessite l’installation des plugins Nagios aussi.
Architecture de NRPE
NRPE se base sur une architecture client/serveur. La partie cliente nommée
check_nrpe, doit être disponible sur le serveur Nagios et on doit vérifier son existence
parmi les plugins délivrés avec Nagios-plugins sinon l’installer. La partie serveur NRPE est
à installer sur chacune des machines Windows à surveiller.
Mécanisme du NRPE
Procédure de fonctionnement :
Le serveur Nagios demande l'exécution d’un plugin sur la machine distante.
Le daemon NRPE hébergé sur la machine distante, reçoit la requête
d'exécution du plugin.
Le plugin est exécuté sur la machine distante.
Le daemon NRPE de la machine distante envoie le résultat du plugin au
serveur Nagios.
Le serveur Nagios interprète les résultats reçus.
VI. Conclusion
Ce chapitre présente les solutions de supervision existantes ainsi qu’une étude
comparative entre elles et finalement la solution la plus adéquate à la société et ces
compléments. Le chapitre suivant focalisera sur la mise en place de la solution
37
Chapitre 4 :
Réalisation du projet
38
Chapitre 4 : Réalisation du projet
Linux Debian
Debian est une organisation communautaire et démocratique, dont le but est le
développement de systèmes d'exploitation basés exclusivement sur des libres. Il se
distingue de la plupart des distributions fondées sur elle par son caractère non
commercial et par le mode de gouvernance coopératif de l'association qui gère la
distribution.
Chaque système, lui-même nommé Debian, réunit autour d'un noyau de système
d'exploitation de nombreux éléments pouvant être développés indépendamment les uns
des autres, pour plusieurs architectures matérielles. Ces éléments, programmes de base
complétant le noyau et logiciels applicatifs, se présentent sous forme de « paquets » qui
peuvent être installés en fonction des besoins.
39
Chapitre 4 : Réalisation du projet
GNS3
GNS3 est un simulateur d'équipements Cisco. Cet outil permet donc de charger de
véritable IOS Cisco et de les utiliser en simulation complète sur un simple ordinateur,
il permet d'avoir un routeur Cisco virtuel sur son ordinateur. A noter simplement que
GNS3 ne fournit pas d'IOS, il faut se les procurer à l'aide d'un compte Cisco CCO par
exemple. Ou grâce à Google.
GNS3 est parfait pour se préparer aux certifications Cisco CCNA, CCNP, CCIP ou
CCIE, c’est un logiciel libre qui fonctionne sur de multiples plateformes, incluant
Windows, Linux, et MacOS.
NSClient++
NSClient++ est un service pour toutes versions de Windows (NT, 2000, 2003, XP et
Vista) qui combine les fonctionnalités d’un agent de supervision dédié à l’environnement
Windows ainsi que les fonctions de transport NRPE et NSCA pour cet environnement.
40
Chapitre 4 : Réalisation du projet
41
Chapitre 4 : Réalisation du projet
J’ai relié ces cartes réseaux sur GNS3 avec un routeur 7200, après j’ai attribué à
chacun de ces interfaces réseaux une adresse IP puis sur les machines virtuelles j’ai
configuré la carte réseaux et j’ai spécifié la passerelle.
42
Chapitre 4 : Réalisation du projet
Cette maquette explique le lien entre les machines virtuelles, pour assurer la
connectivité entre les machines j’ai configuré le protocole de routage Rip V2 sur le
routeur, ensuite j’ai envoyé des paquets ICMP depuis les machines virtuelles vers le
routeur ainsi depuis le routeur vers les machines virtuelles et finalement les machines
virtuelles entre elles.
Voici un aperçu sur le résultat obtenu après le Ping :
43
Chapitre 4 : Réalisation du projet
44
Chapitre 4 : Réalisation du projet
45
Chapitre 4 : Réalisation du projet
L’interface Home de Nagios est la page d’accueil qui présente la version de nagios
installé :
46
Chapitre 4 : Réalisation du projet
L’interface Hosts représente l’état (Up|Down) de tous les hôtes supervisées dans
Nagios.
47
Chapitre 4 : Réalisation du projet
L’interface suivante est la première vue après l’authentification, elle nous propose
l’essentiel des informations importantes qui sont : l’état de fonctionnement du
système d’information supervisé, le nombre d’alertes actuelles, etc.
48
Chapitre 4 : Réalisation du projet
49
Chapitre 4 : Réalisation du projet
6. Exemple d’utilisations
Utilisation des Template pour l’ajout et la supervision des serveurs Windows
depuis le serveur Nagios, il faut utiliser le plugin standard check_nt pour interroger le
démon distant NSClient++ en mode NSClient. Ce plugin possède de nombreuses options:
-H : Hostname
-p : 12489 (port par défaut)
-s : password (définit dans le fichier .NSCI)
-w : seuil d’avertissement (warning), -c : seuil critique
-V : Variable à interroger (MEMUSE, USEDDISKSPACE, UPTIME,..).
Voici les étapes nécessaires pour l’ajout et la supervision d’un serveur Windows
depuis l’interface de Centreon :
Etape 1 : Ajout des commandes check
Dans l’interface Configuration/Commands, On doit ajouter les commandes check
qui nous permettront de relever les informations de supervision voulues depuis le
serveur distant.
50
Chapitre 4 : Réalisation du projet
51
Chapitre 4 : Réalisation du projet
52
Chapitre 4 : Réalisation du projet
L’option Add nous ramène à une interface où nous devrons définir notre nouvelle
Template. Tous les Services Template créés dans la partie précédente doivent
s’associer à notre Host Template.
53
Chapitre 4 : Réalisation du projet
L’option Add nous renvoie vers une interface ou nous devons définir notre
nouveau nœud ainsi de configurer son (nom, adresse IP, Host Template,…).
54
Chapitre 4 : Réalisation du projet
55
Chapitre 4 : Réalisation du projet
L’interface Monitoring/Event logs nous donne accès à tout historique des journaux
d’évènements concernant Centreon (Nagios).
56
Chapitre 4 : Réalisation du projet
57
Chapitre 4 : Réalisation du projet
77
58
Chapitre 4 : Réalisation du projet
59
Chapitre 4 : Réalisation du projet
L’interface suivante history représente l’historique des alertes annoncé par Nagios.
60
Chapitre 4 : Réalisation du projet
61
Chapitre 4 : Réalisation du projet
III. Conclusion
Dans ce chapitre j'ai penché sur l'aspect pratique de mon projet, en détaillant les
étapes de la mise en place et l'utilisation de ma solution, et j'ai ainsi pu prouver l'apport
important de Centreon à Nagios, qui est principalement, la facilité de la configuration,
mais aussi la livraison de comptes rendus et d'analyses plus rapidement et d'une
manière beaucoup plus précise pour le seul but de gagner et optimiser la gestion de son
temps.
62
Conclusion générale
Et comme je l’ai déjà explicité dans mon étude, la supervision est l’un des moyens
indispensables pour favoriser la croissance de rendement d’une entreprise. Le propos de
ce projet était de choisir et mettre en place une solution de supervision qui répandait aux
besoins organisationnels et financiers de l’entreprise.
J'ai proposé différentes solutions de supervision avec une étude comparative tout
en citant les différentes fonctionnalités qu’offre chacune d’elles. Finalement j’ai opté
pour la solution de supervision Nagios avec une interface de configuration Centreon qui
permettrait de superviser tout le parc informatique de l’entreprise (Commutateur,
Routeurs, Imprimantes, Serveurs, les périphériques, les applications …).
63
Webographie
NSClient ++
[Link]
NRPE
[Link]
[Link]
64
Annexes
65
Annexes 1
66
Annexes 1
67
Annexes 1
Version :
Cisco Application Deployment Engine OS version: [Link] Copyright (c) 2012
Cisco Systems.
advertisement version: 2
Management address(es):
-------------------------
Device ID: MARBTWLC01
Entry address(es):
IP address: [Link]
Platform: AIR-WLC4402-12-K9, Capabilities: Host
Interface: GigabitEthernet1/0/2, Port ID (outgoing port): Unit - 0 Slot - 0
Port - 1
68
Annexes 1
Version :
Manufacturer's Name: Cisco Systems Inc. Product Name: Cisco Controller
Product Version: [Link] RTOS Version: [Link] Bootloader Version:
[Link] Build Type: DATA + WPS
advertisement version: 1
Management address(es):
-------------------------
Device ID: MDS-DD-01(FOX1449GV9H)
Entry address(es):
IP address: [Link]
Platform: DS-C9124-1-K9, Capabilities: Router Switch IGMP CVTA phone port
Interface: FastEthernet1/0/33, Port ID (outgoing port): mgmt0
Holdtime : 132 sec
Version :
Cisco Nexus Operating System (NX-OS) Software, Version 4.1(3a)
advertisement version: 2
Management address(es):
IP address: [Link]
-------------------------
Device ID: MARBASWAGA_1
Entry address(es):
IP address: [Link]
Platform: cisco WS-C2960-48PST-L, Capabilities: Switch IGMP
Interface: GigabitEthernet1/0/1, Port ID (outgoing port):
GigabitEthernet0/1
Holdtime : 173 sec
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(50)SE4,
RELEASE SOFTWARE (fc1)
Technical Support: [Link]
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Fri 26-Mar-10 09:14 by prod_rel_team
advertisement version: 2
Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27,
value=00000000FFFFFFFF010221FF000000000000B4148958FD00FF0000
VTP Management Domain: 'MARBA'
Native VLAN: 1
Duplex: full
Management address(es):
IP address: [Link]
-------------------------
Device ID: MARBASWAGA_2
Entry address(es):
IP address: [Link]
Platform: cisco WS-C2960-48PST-L, Capabilities: Switch IGMP
Interface: GigabitEthernet1/0/3, Port ID (outgoing port):
GigabitEthernet0/1
Holdtime : 162 sec
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(50)SE4
, RELEASE SOFTWARE (fc1)
69
Annexes 1
advertisement version: 2
Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27,
value=00000000FFFFFFFF010221FF000000000000B414895DF600FF0000
VTP Management Domain: 'MARBA'
Native VLAN: 1
Duplex: full
Management address(es):
IP address: [Link]
-------------------------
Device ID: MARBASWAGB_1
Entry address(es):
IP address: [Link]
Platform: cisco WS-C2960-48PST-L, Capabilities: Switch IGMP
Interface: FastEthernet1/0/45, Port ID (outgoing port): FastEthernet0/48
Holdtime : 170 sec
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(50)SE4,
RELEASE SOFTWARE (fc1)
Technical Support: [Link]
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Fri 26-Mar-10 09:14 by prod_rel_team
advertisement version: 2
Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27,
value=00000000FFFFFFFF010221FF000000000000B414895DFA80FF0000
VTP Management Domain: 'MARBA'
Native VLAN: 1
Duplex: full
Management address(es):
IP address: [Link]
-------------------------
Device ID: MARBASWAGB_1
Entry address(es):
IP address: [Link]
Platform: cisco WS-C2960-48PST-L, Capabilities: Switch IGMP
Interface: FastEthernet1/0/41, Port ID (outgoing port): FastEthernet0/47
Holdtime : 148 sec
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(50)SE4,
RELEASE SOFTWARE (fc1)
Technical Support: [Link]
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Fri 26-Mar-10 09:14 by prod_rel_team
advertisement version: 2
Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27,
value=00000000FFFFFFFF010221FF000000000000B414895DFA80FF0000
VTP Management Domain: 'MARBA'
Native VLAN: 1
Duplex: full
Application: VoIP using vlan 113
Management address(es):
70
Annexes 1
IP address: [Link]
-------------------------
Device ID: MARBASWAGB_1
Entry address(es):
IP address: [Link]
Platform: cisco WS-C2960-48PST-L, Capabilities: Switch IGMP
Interface: GigabitEthernet1/0/4, Port ID (outgoing port):
GigabitEthernet0/2
Holdtime : 125 sec
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(50)SE4,
RELEASE SOFTWARE (fc1)
Technical Support: [Link]
Copyright (c) 1986-2010 by Cisco Systems, Inc.
Compiled Fri 26-Mar-10 09:14 by prod_rel_team
advertisement version: 2
Protocol Hello: OUI=0x00000C, Protocol ID=0x0112; payload len=27,
value=00000000FFFFFFFF010221FF000000000000B414895DFA80FF0000
VTP Management Domain: 'MARBA'
Native VLAN: 1
Duplex: full
Management address(es):
IP address: [Link]
MARBASWCGA#
71
Annexes 2
I. Installation de Nagios
Installation des librairies et Pré-requis nécessaires
Apache2 : apache2, apache2-mod-php5, apache2-mod-perl
PHP5 : php5, php5-gd,php5-Ldap,php5-mysql
Librairies GD : gd, libpng, libjpeg
Compilateur : gcc, gcc-c++
Interpréteur perl : perl,perl-config-Inifiles,perl-crypt-dos,perl-digest-hmac
Installation de Nagios
Pour éviter des problèmes de sécurité, il est préférable de lancer «Nagios» avec un
compte utilisateur normal.
Création d’un compte utilisateur et un groupe dédié au processus nagios.
Création d'un groupe "nagcmd" permettant l'exécution des commandes externes à
travers l'interface web.
Rajout des utilisateurs Nagios et Apache à l'intérieur du groupe "nagcmd".
# cd /usr/sbin
# useradd nagios
# passwd nagios
# groupadd nagios
# groupadd nagcmd
# usermod -G nagios,nagcmd nagios
# usermod -G nagcmd wwwrun
72
Annexes 2
73
Annexes 2
74
Annexes 3
Installation de NSClient
Coté Client (Machine Windows)
Il faudra installer et configurer NSClient++ sur le serveur Windows
Télécharger la version NSClient-[Link].
Décompressé le client sous le répertoire C:\NSClient++-Win32-0.3.8.
Ouvrir une commande DOS ([Link])
Entrer les commandes suivantes :
C:\cd NSClient++-Win32-0.3.8
C:\cd NSClient++-Win32-0.3.8\NSClient++.exe/install
L’installation est donc achevée, vérifions donc que le service est autorisé à
"Interagir avec le bureau" (marquer Local system account et Allow service to interact
with desktop dans l’onglet « Log On » du gestionnaire de service) en ouvrant le
gestionnaire des services.
On passe maintenant à la modification du fichier de configuration sous
c://nsclient/[Link].
Décommenter dans la première section [modules] tous les modules sauf
[Link] et [Link]
Décommenter la ligne allowed_hosts dans la section [Settings] et ajoutant
l'adresse du serveur Nagios aussi pour des mesure de sécurité on a la possibilité
d’attribuer un password pour accéder à NSClient.
[Setting]
;# OBFUSCATED PASSWORD
; This is the same as the password option but here you can store the
password in an obfuscated manner.
; *NOTICE* obfuscation is *NOT* the same as encryption, someone with
access to this file can still figure out the
; password. Its just a bit harder to do it at first glance.
;obfuscated_password=Jw0KAUUdXlAAUwASDAAB
# PASSWORD
This is the password (-s) that is required to access NSClient
remotely. If you leave this blank everyone will be able to access the
daemon remotly.
password=administrateur
# ALLOWED HOST ADDRESSES
This is a comma-delimited list of IP address of hosts that are allowed
to talk to the all daemons. If leave this blank anyone can access the
deamon remotly (NSClient still requires a valid password).The syntax
is host or ip/mask so [Link]/24 will allow
anyone on that subnet access
allowed_hosts= [Link]
Démarrage NSClient:
C:\cd NSClient++-Win32-0.3.8\NSClient++.exe/start
Arrêt NSClient
C:\cd NSClient++-Win32-0.3.8\NSClient++.exe/stop
75
Annexes 3
Maintenant que tout est prêt dans la machine Windows distante à superviser, on a
plus qu’à ajouter la machine au serveur Nagios et essayer de récupérer les informations
nécessaires grâce à la commande check_nt qui permet d’interroger à distance l’agent
NSClient.
76
Annexes 4
Installation de NRPE
Coté Client (Serveur Linux)
Accéder au serveur Linux à superviser en tant que root et suivre les étapes
suivantes :
Création d’un utilisateur et groupe.
# cd /usr/sbin
# useradd nagios
# passwd nagios
# groupadd nagios
# usermod -G nagios nagios
77
Annexes 4
Vérifier que les requêtes (TCP sur port 12489) ne sont pas bloquées par un firewall
sinon ajouter une règle pour autoriser le Firewall IPtable.
78
Annexes 5
Installation de Postfix
L’installation de postfix en elle-même est très simple, il suffit de taper la ligne de
commande :
# apt-get install postfix-mysql
79
Annexes 5
hosts = [Link]
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
select_field = 'virtual'
table = domaines
where_field = domaine
additional_conditions = AND etat=1
/etc/postfix/mysql-virtual_comptes.cf
hosts = [Link]
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = comptes
select_field = CONCAT(SUBSTRING_INDEX(email,'@',-
1),'/',SUBSTRING_INDEX(email,'@',1),'/')
where_field = email
additional_conditions = AND etat=1
/etc/postfix/mysql-virtual_aliases.cf
hosts = [Link]
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = alias
select_field = destination
where_field = source
additional_conditions = AND etat=1
/etc/postfix/mysql-virtual_aliases_comptes.cf
hosts = [Link]
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = comptes
select_field = email
where_field = email
additional_conditions = AND etat=1
80
Annexes 5
/etc/postfix/mysql-virtual_comptes.cf
hosts = [Link]
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = comptes
select_field =
CONCAT(SUBSTRING_INDEX(email,'@',1),'/',SUBSTRING_INDEX(email,'@',1),'
/')
where_field = email
additional_conditions = AND etat=1
/etc/postfix/mysql-virtual_quotas.cf
hosts = [Link]
user = postfix
password = Mot de passe Mysql Postfix
dbname = postfix
table = comptes
select_field = quota
where_field = email
Configuration de Postfix
Maintenant on doit configurer le fichier principal de Postfix. Par défaut le fichier
est vide, car nous avons choisi « pas de configuration » pendant l’installation.
81
Annexes 5
82