0% ont trouvé ce document utile (0 vote)
37 vues82 pages

Supervision informatique avec Nagios

Transféré par

Laouina Oussama
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
37 vues82 pages

Supervision informatique avec Nagios

Transféré par

Laouina Oussama
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ecole Marocaine des Sciences de l’Ingenieur

Rapport de P.F.E (Projet de Fin d’Etudes)

Sujet :
« Mise en place d’une solution de supervision
du parc informatique de Dimension Data »

Realisé par : Rabie RACHIDI

Classe : 5SR

Encadré par : [Link] HAFID Moulay Ahmed


(Encadrant EMSI)
(Encadrant Dimension Data)

Année Universitaire : 2012 -2013

1
Dédicaces

A mes chers parents Aucune dédicace ne saurait exprimer mon amour,


mes affections, mon estime et ma profonde considération. Je ne saurais jamais
comment vous remercier pour tous les sacrifices qu’avez consentis pour mon
éducation, vos sages conseils, vos encouragements, tout ce que vous avez fait
et vous continuez à faire pour moi. Que Dieu puissant vous garde vous bénisse
et vous accorde une longue vie.

A ma famille et mes amis.


A mes professeurs, mes encadrants et à tous ceux qui ont contribué de
près ou de loin à la réalisation de ce travail.

Je dédie ce travail espérant que le tout puissant l’accepte et qu’il


m’accorde son inépuisable aide et sa sainte miséricorde.

2
Remerciements

Au terme de ce projet, je tiens à exprimer mes vives et profondes gratitudes à [Link]


HAFID Ahmed pour son parfait encadrement, son soutien et sa compréhension tout au
long de la réalisation de ce projet. Ses conseils, sa disponibilité et ses qualités
scientifiques et humaines ont énormément contribué à la réalisation de ce travail.

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

Il s’agit alors de choisir, installer et configurer un outil de supervision efficace qui


surveille tous les équipements réseaux utilisés au sein de l'entreprise 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

Liste des figures -------------------------------------------------------------------------------------------------------------- 7


Liste des tableaux ----------------------------------------------------------------------------------------------------------- 8
Introduction Générale ----------------------------------------------------------------------------------------------------- 9
Chapitre 1 : Contexte générale du projet ---------------------------------------------------------------------------- 10
I. Organisme d’accueil ------------------------------------------------------------------------------------------------- 11
II. Objectif du projet ----------------------------------------------------------------------------------------------------- 14
III. Planning prévisionnel de réalisation du projet ----------------------------------------------------------------- 15
1. Diagramme de Gantt --------------------------------------------------------------------------------------- 15
2. Matrice des risques ----------------------------------------------------------------------------------------- 16
IV. Conclusion -------------------------------------------------------------------------------------------------------------- 17
Chapitre 2 : Etude de l’existant et spécification des besoins --------------------------------------------------- 18
I. Description de l’existant -------------------------------------------------------------------------------------------- 19
1. Topologie physique ----------------------------------------------------------------------------------------- 19
2. Topologie logique ------------------------------------------------------------------------------------------- 20
II. Critique de l’existant ------------------------------------------------------------------------------------------------- 21
III. Cahier des charges ---------------------------------------------------------------------------------------------------- 21
IV. Solution proposée ---------------------------------------------------------------------------------------------------- 22
V. Conclusion -------------------------------------------------------------------------------------------------------------- 22
Chapitre 3 : Etude des solutions de supérvision -------------------------------------------------------------------- 23
I. Etude de choix -------------------------------------------------------------------------------------------------------- 24
1. Les offres éditeurs ------------------------------------------------------------------------------------------ 24
2. Les offres libres ---------------------------------------------------------------------------------------------- 24
3. Choix du logiciel --------------------------------------------------------------------------------------------- 24
II. Etude comparative --------------------------------------------------------------------------------------------------- 25
III. Pourquoi choisir Nagios --------------------------------------------------------------------------------------------- 27
IV. Présentation de l’outil de supérvision Nagios ------------------------------------------------------------------ 28
1. Présentation de l’outil Nagios --------------------------------------------------------------------------- 28
2. Fonctionnalités de l’outil ---------------------------------------------------------------------------------- 28
3. Architecture de Nagios ------------------------------------------------------------------------------------ 29
4. Les Plugins Nagios------------------------------------------------------------------------------------------- 30
5. Processus de fonctionnement de l’outil Nagios ------------------------------------------------------ 31

5
Sommaire

V. Les compléments de Nagios ---------------------------------------------------------------------------------------- 33


1. NDOutils ------------------------------------------------------------------------------------------------------- 33
2. Centreon ------------------------------------------------------------------------------------------------------ 34
3. NSClient ------------------------------------------------------------------------------------------------------- 36
4. NRPE ----------------------------------------------------------------------------------------------------------- 36
VI. Conclusion -------------------------------------------------------------------------------------------------------------- 37
Chapitre 4 : Réalisation du projet -------------------------------------------------------------------------------------- 38
I. Partie test de la solution -------------------------------------------------------------------------------------------- 39
1. Les outils de travail ----------------------------------------------------------------------------------------- 39
2. Les pré-requis ------------------------------------------------------------------------------------------------ 41
3. Mise en place de la maquette ---------------------------------------------------------------------------- 42
4. Les interfaces Nagios --------------------------------------------------------------------------------------- 45
5. Les interfaces Centreon------------------------------------------------------------------------------------ 48
6. Exemple d’utilisation --------------------------------------------------------------------------------------- 50
7. La notification par mail ------------------------------------------------------------------------------------ 57
II. Partie déploiement de la solution--------------------------------------------------------------------------------- 58
1. Supervision des équipements réseau ------------------------------------------------------------------ 58
2. Captures d’écran de la solution -------------------------------------------------------------------------- 58
III. Conclusion -------------------------------------------------------------------------------------------------------------- 62
Conclusion générale ------------------------------------------------------------------------------------------------------- 63
Webographie ---------------------------------------------------------------------------------------------------------------- 64
Annexes ----------------------------------------------------------------------------------------------------------------------- 65
Annexe 1 ---------------------------------------------------------------------------------------------------------------------- 66
Annexe 2 ---------------------------------------------------------------------------------------------------------------------- 72
Annexe 3 ---------------------------------------------------------------------------------------------------------------------- 75
Annexe 4 ---------------------------------------------------------------------------------------------------------------------- 77
Annexe 5 ---------------------------------------------------------------------------------------------------------------------- 79

6
Liste des figures

Figure 1 : Dimension Data à travers le monde. ------------------------------------------------------------------------- 12


Figure 2 : Organigramme de la direction générale de Dimension Data. ------------------------------------------ 13
Figure 3 : Diagramme de GANT --------------------------------------------------------------------------------------------- 16
Figure 4 : Liste des fichiers reçus ------------------------------------------------------------------------------------------- 19
Figure 5 : Topologie physique de Dimension Data - Temara--------------------------------------------------------- 19
Figure 6 : Architecture de Nagios ------------------------------------------------------------------------------------------ 29
Figure 7 : Fonctionnement des plugins ----------------------------------------------------------------------------------- 31
Figure 8 : Schéma de supervision de réseau avec Nagios ------------------------------------------------------------ 32
Figure 9 : Architecture NDOutils ------------------------------------------------------------------------------------------- 34
Figure 10 : Interaction entre Nagios et Centreon ---------------------------------------------------------------------- 35
Figure 11 : Architecture NSClient ------------------------------------------------------------------------------------------ 36
Figure 12 : Mécanisme du NRPE ------------------------------------------------------------------------------------------- 37
Figure 13 : Interface d’ajout de carte réseau virtuelle ---------------------------------------------------------------- 42
Figure 14 : Maquette de test réalisé sous GNS3 ------------------------------------------------------------------------ 42
Figure 15 : Ping réussi du routeur vers les machines virtuelles ----------------------------------------------------- 43
Figure 16 : Ping réussi depuis le serveur 2003 -------------------------------------------------------------------------- 43
Figure 17 : Ping réussi depuis le serveur Nagios ------------------------------------------------------------------------ 44
Figure 18 : Interface d’authentification Nagios ------------------------------------------------------------------------- 45
Figure 19 : Interface de page d’accueil de Nagios ---------------------------------------------------------------------- 46
Figure 20 : Interface Map ---------------------------------------------------------------------------------------------------- 46
Figure 21 : Interface Hosts --------------------------------------------------------------------------------------------------- 47
Figure 22 : Interface Services ----------------------------------------------------------------------------------------------- 47
Figure 23 : Interface d’authentification Centreon ---------------------------------------------------------------------- 48
Figure 24 : Interface de vue globale --------------------------------------------------------------------------------------- 48
Figure 25 : Interface de la santé globale Centreon--------------------------------------------------------------------- 49
Figure 26 : Interface des statistiques Nagios ---------------------------------------------------------------------------- 49
Figure 27 : Interface des rapports------------------------------------------------------------------------------------------ 50
Figure 28 : Interface des listes des commandes ------------------------------------------------------------------------ 51
Figure 29 : Interface de définition des commandes ------------------------------------------------------------------- 51
Figure 30 : Interface de liste des Template des services -------------------------------------------------------------- 52
Figure 31 : Interface de liste des Template des hôtes ----------------------------------------------------------------- 52
Figure 32 : Interface d’association des Template de services à un Template d’hôte -------------------------- 53
Figure 33 : Interface de configuration des hôtes ----------------------------------------------------------------------- 54
Figure 34: Interface d’ajout d’un nœud ---------------------------------------------------------------------------------- 54
Figure 35 : Interface d'exportation ---------------------------------------------------------------------------------------- 55
Figure 36 : Résultat d'exportation ----------------------------------------------------------------------------------------- 56
Figure 37 : Interface des journaux d'évènements ---------------------------------------------------------------------- 56
Figure 38 : Interface de configuration des notifications -------------------------------------------------------------- 57
Figure 39 : Exemple de notification---------------------------------------------------------------------------------------- 57
Figure 40 : Interface Map du réseau supérvisé ------------------------------------------------------------------------- 59
Figure 41 : Interface Hosts --------------------------------------------------------------------------------------------------- 60
Figure 42 : Interface Alerts/History ---------------------------------------------------------------------------------------- 60
Figure 43 : Interface de choix d’équipement ---------------------------------------------------------------------------- 61
Figure 44 : Interface de choix des options ------------------------------------------------------------------------------- 61
Figure 45 : Interface final trends ------------------------------------------------------------------------------------------- 62

7
Liste des tableaux

Tableau 1 : Historique de Dimension Data. ---------------------------------------------------------- 11


Tableau 2 : Fiche d’identité de Dimension Data. --------------------------------------------------- 12
Tableau 3 : Matrice des risques ------------------------------------------------------------------------- 17
Tableau 4 : Adressage IP des Vlan ---------------------------------------------------------------------- 20
Tableau 5 : Etude comparative-------------------------------------------------------------------------- 26
Tableau 6 : Signification des codes de retours ------------------------------------------------------ 30

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.

La supervision des réseaux s’avère nécessaire et indispensable. Elle permet entre


autre d’avoir une vue globale du fonctionnement et des problèmes pouvant survenir sur
un réseau mais aussi d’avoir des indicateurs sur la performance de son architecture.

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:

Le premier chapitre a pour but de présenter le contexte général du projet, son


objectif ainsi que le planning de réalisation.

Le deuxième chapitre présente l'étude de l'existant et la spécification du besoin, il


consiste à effectuer un premier repérage des besoins fonctionnels et opérationnels, en se
basant sur une étude détaillée de l’existant où je cernerai la problématique de mon sujet
et je présenterai la solution adoptée pour ce dernier.

Le troisième chapitre détaille l'étude des solutions de supervision. Dans ce


chapitre, je me suis focalisée sur les différentes solutions de supervision existantes sur le
marché pour justifier le choix de la solution que je juge la plus appropriée à la société, et
enfin le dernier chapitre est consacré à la réalisation du projet ainsi que sa mise en
œuvre.

9
Chapitre 1 :
Contexte générale du projet

Ce chapitre se focalise sur la présentation de l’organisme d’accueil, l’objectif du projet


et la planification prévisionnel de ce dernier.

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

 Opérateurs Télécoms: Inwi, Médi-Télécom, Maroc Telecom.


 Équipementier Télécoms: Huawei, Nokia, Alcatel, Motorola, Harris, Ericsson,
Siemens, Sagem. Autres: Administrations Publiques, Gendarmerie Royale,
Marine Nationale, Forces Armées Royales (FAR), Offices publics, Autoroutes
du Maroc, RTM (chaîne de télévision).

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

Tableau 2 : Fiche d’identité de Dimension Data.

4. Dimension Data à travers le monde

Figure 1 : Dimension Data à travers le monde.

12
Chapitre 1 : Contexte générale du projet

Dimension Data opère aujourd’hui dans 51 pays répartis à travers 5 zones


géographiques clés : Moyen-Orient, Afrique, les Amériques (Nord et Sud), Europe, Asie et
Australie. Chacune de ces unités d’affaires régionales fonctionne sous l’égide de la
DIMENSION DATA Group Head Office situé sur le campus à Bryanston à Johannesbu.

5. Organigrammes de Dimension Data Temara


Afin d’assurer une bonne prestation de services à ses clients, Dimension data est
basé sur l’interaction de plusieurs directions et départements complémentaires comme
le montre l’organigramme :

Figure 2 : Organigramme de la direction générale de Dimension Data.

 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

II. Objectif du projet


Le stage consiste à mettre en place un outil qui surveille en temps réel les
applications métiers et les équipements réseau suivant la démarche suivant :
 Etudier les besoins internes de supervision applicative de l’entreprise
 Rechercher et étudier les solutions du marché, que ça soit des outils libres ou
propriétaires.
 Installer la solution, la configurer et généraliser la supervision à l’ensemble
des équipements réseau de Dimension Data

L’objectif du projet est de:


 Vérifier la disponibilité des applications de Dimension Data.
 Contrôler les performances des applications sur les sites de Dimension Data,
en vérifiant si les temps de réponses répondent aux exigences.
 Vérifier la pertinence des informations de retours des applications.
 Affichage des graphes de temps de réponse et des rapports de disponibilité.
 Alerter les administrateurs en cas de problèmes (indisponibilité, temps de
réponse très long, etc.)

La solution à mettre en place doit effectuer des contrôles des applications, en


période définies et sur plusieurs sites de l’entreprise, et alerter le personnel technique
en cas d’incident. Cela permettra d’optimiser la réactivité et avoir une vision globale de la
performance des applications du point de vue utilisateur et sur chaque site.
Pour atteindre ces objectifs précédemment fixés, j’ai établi un planning que j’ai
respecté afin d’estimer les délais de réalisation tout en assurant une grande qualité de
travail.

14
Chapitre 1 : Contexte générale du projet

III. Planning prévisionnel de réalisation du projet


1. Diagramme de Gant

15
Chapitre 1 : Contexte générale du projet

Figure 3 : Diagramme de GANT

2. Matrice des risques

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

R3 Mes compétences Dépassement Organisationn moyenne Important -Renforcement et Stable


sont insuffisantes du délai el perfectionnement
par rapport aux Démotivation - Assistance
qualifications externe
requises par le -
cahier de charges Responsabilisatio
n et motivation
R4 Problèmes liés aux Impact sur le Technique moyenne Majeur Travail dupliquée Stable
matériels délai sur 2 à 3
machines
Sauvegarde
hebdomadaire
des réalisations
R7 Difficultés/bug liées Impacte sur le Technique Forte Critique -Changement/ Modér
à l’environnement délai réaffectation des ée
du travail tâches.
-Augmenter la
masse horaire
-Réservation du
matériel
R8 Le produit final ne -Dépréciation de Fonctionnel Forte Majeur -Recherche plus Critique
correspond pas à la l'image de détaillé sur le
demande du client marque du métier
projet -benchmark
- Impact sur le -Maquettage
délai
Tableau 3 : Matrice des risques

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

Dans ce chapitre, J’ai fait une étude de l’existant où je cernerai la problématique de


mon sujet, ensuite j’ai élaboré le cahier des charges et finalement je vais présenter la
solution adoptée.

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.

Pour la confidentialité de l’architecture réseau interne de l’entreprise, il n’était pas


possible de livrer l’architecture réelle de l’organisme, alors l’administrateur réseau m’a
fourni des informations sur les équipements réseau sous format (.txt)

Figure 4 : Liste des fichiers reçus


Généralement ces fichiers contenant le résultat des commandes (#show version,
#show ip interface brief, #show vlan, #show cdp neighbors, #show cdp neighbors) sur
les équipements réseau (Voir Annexe 1). A travers cela j’ai pu extraire la topologie
physique et logique que j’ai validé avec lui par la suite.

1. Topologie Physique

Figure 5 : Topologie physique de Dimension Data - Temara

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

II. Critique de l’existant


Ayant un nombre important d’équipements réseau à gérer, l’administrateur est
incapable de vérifier leur disponibilité (en ligne ou pas), de déterminer la qualité des
services qu’ils offrent, ni détecter la défaillance des équipements (charge CPU, Etat
mémoire, surcharge du disque….), ni les surcharges et pénurie temporaire des
ressources. Le seul moyen de détecter ces anomalies ne peut se faire que par la
réception des différentes plaintes et réclamations des personnels de l’entreprise.
Le but de ce projet est donc de trouver une solution optimale pour la gestion des
équipements réseau et le monitoring de ses équipements en premier lieu, offrir la
possibilité de devenir « pro actif » face aux problèmes rencontrés en un second lieu, et
finalement et le plus important, de pouvoir détecter et interpréter en un simple coup
d’œil les causes et origines des problèmes rencontrés afin de les déceler le plus
rapidement possible.

III. Cahier des charges


 Titre du projet :
Etude du système d’information et implémentation d’une solution de supervision
du parc informatique de Dimension Data

 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

Une interface graphique claire pour l’interaction utilisateur/Logiciel.


Equipements réseaux (Commutateur, Concentrateur, Routeur, Serveur,
Imprimantes, Ordinateurs, Téléphone IP..).

IV. Solution proposée


La gestion des serveurs distants et le monitoring des équipements étant le plus
grand souci de l’administrateur, j’ai jugé nécessaire de mettre en évidence un outil pour
contrôler le fonctionnement du réseau, d’étudier les données collectées et de définir des
seuils d’alertes qui peuvent servir pour le déclenchement des alertes lors de détection
des problèmes.
Il s’agit donc et sans doute d’une mise en place d’un système de supervision qui
pourra grâce aux différentes fonctionnalités qu’il offre, anticiper les pannes en suivant
méticuleusement le fonctionnement du système et en surveillant le statut des serveurs,
des divers services réseaux et d’offrir des renseignements supplémentaires voir la charge
CPU, espace disque, mémoire disponible, etc.
Un système de supervision offrira à l’administrateur la possibilité de réagir le plus
rapidement possible face aux pannes qui peuvent intervenir afin d’éviter un arrêt de
production de trop longue durée.

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

Ce chapitre se focalise sur les différentes solutions de supervision existantes sur le


marché ainsi que le choix de la solution la plus appropriée à la société, et la détaillé
par la suite.

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.

1. Les offres éditeurs


S’assurant que la supervision est un marché porteur, les sociétés se pressent de
plus en plus à investir dans des produits permettant la supervision et une meilleure
gestion des réseaux.
Deux familles apparaissent, celles proposant des solutions généralistes pour la
supervision des réseaux, des serveurs, des applications, des sites web,… comme les
logiciels Patrol (BMC), d’Unicenter (Computer Associate), de la gamme openview (HP)...
D’autres offrent une supervision des domaines plus spécifiques citant comme logiciel
panorama (Altaworks) qui gère uniquement l’aspect sécurité ou PathWAI (Candle) qui se
penche principalement sur la supervision des applications. Ces solutions n’ont qu’un
seul point commun : un prix élevé.

2. Les offres libres


Il existe des solutions de supervision libres et professionnelles. Parmi les plus
répandues, reconnues du moment, nous pouvons citer Nagios, Zabbix, BigBrother2 et
OpenNMS. L’avantage de ces logiciels libres est la gratuité, la disponibilité du code
source et la liberté d’étudier et de modifier le code selon nos besoins et de le diffuser. De
plus, il existe une communauté importante d’utilisateurs et de développeurs qui
participent à l’amélioration des logiciels et apportent une assistance par la mise en ligne
des documentations et les participations aux forums.

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

II. Etude comparative


Nagios Zabbix
Définition --Conçu pour les plateformes Unix. --Multiplateformes.
--Modulaire. --Homogène.
--Moteur en C, perl, Sharp… --Moteur en C, interface web utilisateur
--Interface web en PHP, base de données en PHP, base de données SQL (MySQL,
SQL. Oracle…).
--Configuration plus ou moins complexe. --Configuration centralisée sur une
même interface graphique.
--Peut superviser de 3 manières :
--Peut superviser de 3 manières :
--L’utilisation des journaux d’exploitation
par l’envoie des évènements issus des --Lancement d’un processus sur les
fichiers log en temps réel vers un serveur machines à superviser pour collecter des
central offrant les informations données locales, grâce à l’agent Zabbix
nécessaires à la supervision. (obtenir des infos sans utiliser SNMP).
--Supervision active des services et --Requêtes SNMP.
infrastructure qui nous permet de garder --Check externes qui sert à tester les
l’historique des performances. services réseaux (rien à installer sur
l’équipement surveillé, tests limités à
des Ping ou test de protocoles).
Fonctionnalités --Offre une interface web basée sur les --Offre une interface web de
CGL avec gestion des droits pour la consultation et d’administration.
consultation. --Peut générer des graphes.
--Génère des rapports de surveillance. --Peut générer des alertes en envoyant
--Il a la possibilité de superviser à des mails.
distance à travers un firewall. --Supervise des équipements SNMP.
--Il peut définir des serveurs esclaves qui --Gère les pannes et les performances.
prennent le relais si le serveur maitre
tombe en panne.
--Surveillance des ressources des serveurs
(CPU, mémoire…).
--Surveillance des services réseaux.
--Arrêt temporaire de la supervision
locale ou globale.
--Génère des graphes par l’interfaçage
avec RRDTools.
Architecture Architecture généralement basée sur : Architecture généralement basée sur :
--Le moteur de l’application qui sert à --Serveur Zabbix, le cœur et moteur de
ordonnancer les tâches de supervision l’application programmé en C.
écrit en C. --Agent Zabbix pour la collection des
--Une interface web réalisée à l’aide des informations locales.
GCI, décrivant la vue d’ensemble su --Une interface web d’administration et
système et les anomalies possibles. consultation des données.
--Plusieurs plugins qui peuvent être --Une base de données SQL.
complétés en fonction des besoins.

25
Chapitre 3 : Etude des solutions de supervision

Avantages --Des plugins qui étendent les possibilités --Multiplateforme.


de Nagios. --Utilise peu de ressources.
--Une très grande communauté qui --Plus léger grâce à son homogénéité (Pas
participe activement au développement. de plug-in à ajouter).
-Un moteur performant --Mise à jour facile.
--solution complète permettant le --Configuration et utilisation aisée.
reporting, la gestion des pannes et --Interface vaste mais claire.
d’alarmes, gestion des utilisateurs…
--Des plugins permettent aux utilisateurs
de développer facilement leurs propres
vérifications de services.
--Possibilité de repartir la supervision
entre plusieurs administrateurs. -Offre la
possibilité de développer ses propres
modules.
Inconvénients --Configuration complexe mais peut --L’agent Zabbix communique les données
s’améliorer en ajoutant Centreon. en claire nécessité de sécuriser les
--Interface peu ergonomique et intuitive. données.
--Peu d’interfaçage avec d’autres
solutions commerciales.
-Communauté de développeurs limitée.
Tableau 5 : Etude comparative

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

III. Pourquoi choisir l’outil Nagios


1. Pourquoi choisir Nagios ?
Nagios est une solution stable, dispose d’une grande communauté de
développeurs et est utilisé aussi bien dans les petites et moyennes infrastructures.
Très évolutif (intégration très simple de nouveaux services).
Très éprouvé, mûr, stable, fiable, sécurisé et léger.
Administration très simple.
Une forte communauté d'utilisateurs (250 000+) et de développeurs actifs.
Une forte communauté de développeurs de scripts (plugin) presque tous les types
de services sont pris en compte.

2. Problématique et pertinence de Nagios


Taille assez importante du parc des serveurs et services.
Parc géographiquement distribué.
Besoin de suivi des incidents d'exploitations sur les Actifs du réseau et systèmes.
Besoin de plus de Pro-activité dans la résolution des incidents et problèmes sur le
réseau.
Besoin de reporting sur les incidents pour des prises de décisions évolutives du
parc.
Besoin de surveillance de l'utilisation de la bande passant sur les routeurs cibles.
Disponibilité d'une vue cartographique de tous les serveurs, services, routeurs ....
Etre informé en temps réel de l'état de santé de tous les Actifs serveurs et réseaux
du SI.
En définitive, augmenter de la qualité de services de la Direction des Services
Informatiques.

3. Les Actifs à Monitorer par Nagios


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.
Monitoring système (Fichiers logs, Espace Disque Dur, La RAM, charge CPU,
Température interne...).
Monitoring des Services (Http, DNS, ftp, tous services TCP/IP....).
Monitoring des Applications (Base de données: SQL server, Oracle (instances,
espace data file ...), Exchanges ..... serveur d'Applications ....).
Monitoring réseaux (Routeurs, Switch, firewall .....).
Monitoring des autres équipements ayant un accès réseaux TCP/IP (robot,
onduleurs; imprimantes .....).

27
Chapitre 3 : Etude des solutions de supervision

IV. Présentation de l’outil de supervision Nagios


1. Présentation de l’outil Nagios

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 :

La supervision des services réseaux (SMTP, http…), des hôtes et des


ressources systèmes
(CPU, charge mémoire…)
La détermination à distance et de manière automatique l‟état des objets et les
ressources nécessaires au bon fonctionnement du système grâce à ses plugins.
Représentation coloriée des états des services et hôtes définies.
Génération de rapports.
Cartographie du réseau.
Gestion des alertes.
Surveillance des processus (sous Windows, Unix…).
Superviser des services réseaux : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP,
etc.)
La supervision à distance peut utiliser SSH ou un tunnel SSL.
Les plugins sont écrits dans les langages de programmation les plus adaptés à leur
tâche (Bash, C++, Python, Perl, PHP, C#, etc.)
Toutes ces fonctionnalités sont assurées grâce la gestion et supervision du réseau
et ses différentes entités d’une manière centralisée.

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.

Figure 6 : Architecture de Nagios

29
Chapitre 3 : Etude des solutions de supervision

4. Les Plugins Nagios


Nagios fonctionne grâce à des plugins écris en Perl ou en C. Sans eux, il est
totalement incapable de superviser et se résume en un simple noyau.
Ces plugins sont des programmes externes au serveur, des exécutables qui
peuvent se lancer en ligne de commande afin de tester une station ou service. Ils
fonctionnent sous le principe d’envoi de requêtes vers les hôtes ou services choisis lors
d’un appel du processus de Nagios, et la transmission du code de retour au serveur
principale qui par la suite se charge d’interpréter les résultats et déterminer l’état de
l’entité réseau testée.

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 :

Code retour Etat Signification


1 Ok Tout va bien
2 Warning Le seuil d’alerte est dépassé
3 Critical Le service a un problème
4 Unknown Impossible de connaitre l’etat du service
Tableau 6 : Signification des codes de retours

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.

Figure 7 : Fonctionnement des plugins

5. Processus de fonctionnement de l’outil Nagios


Nagios, par l'intermédiaire de son plugin, contact l'hôte souhaité et l'informe des
informations qu'il souhaite recevoir comme suite :

 Le plugin correspondant installé sur la machine concernée reçoit la requête


envoyée par Nagios et ensuite va chercher dans le système de sa machine les
informations demandées.
 Il renvoi sa réponse au plugin Nagios, qui ensuite le transmet au moteur de Nagios
afin d'analyser le résultat obtenu et ainsi mettre à jour l'interface web.
 Il existe deux types de récupération d'informations:
La récupération active
La récupération passive.
 La différence entre les deux types est l'initiative de la récupération. Dans le
premier type, à savoir le type actif, c'est Nagios qui a toujours cette initiative. C'est
lui qui décide quand il envoie une requête lorsqu'il veut récupérer une
information.
 Alors que lors d'une récupération passive, l'envoi d'information est planifié en
local, soit à partir d'une date, soit en réaction à un événement qui se déroule sur la
machine administrée.
 La demande d'informations se fait grâce à l'exécution d'une commande de la part
de Nagios. Une commande doit obligatoirement comporter des arguments afin de
pouvoir chercher les bonnes informations sur les bonnes machines.
 Ces arguments sont l'adresse IP de l'hôte sur lequel aller chercher l'information, la
limite de la valeur de l'information recherchée pour laquelle l'état 'attention' sera
décidé, idem pour la valeur 'critique', et enfin d'autres options qui varient selon le
plugin utilisé.

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

Figure 8 : Schéma de supervision de réseau avec Nagios

32
Chapitre 3 : Etude des solutions de supervision

V. Les compléments de Nagios


1. NDOutils
 Présentation de NDOutils
NDOutils est un greffon chargé de transmettre les données remontées par Nagios
(configuration des serveurs supervisés, les états des hôtes, les données de
performance…) vers une base de données MySQL plutôt que de ne les garder que dans
les fichiers plats.
De cette façon, les données seront plus souples à gérer. Grace à la possibilité de
stockage à long terme, les données sont facilement exploitées et l’information devient
aisément transformable de la manière que l’on souhaite. NDOutils interagi avec Nagios
indépendamment de Centreon.

 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

Figure 9 : Architecture NDOutils

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

Lors de son installation Centreon crée automatiquement trois schémas dans la


base de données MySQL :
Centstatus : C’est la base dans laquelle NDOutils stocke les données extraites
des fichiers plats de Nagios et sur laquelle Centreon pointe pour pouvoir
remonter les mêmes données. Ces données sont visualisées dans l’interface
monitoring de Centreon.
Centstorage : Traite et stocke les données de performances remontés de
Nagios via NDOutils vers la base de données MySQL, avant leurs intégration
en base RRD. Responsable de la création des parties métrologiques de
Centreon qui sont le reporting et la génération des graphs. Ces données sont
visualisées dans la partie « Reporting » et « Views » de Centreon.
Centreon : Collecte les informations de configuration, et stocke les fichiers
objets de Nagios (Host, Services, Périodes, etc...). Grâce aux fonctions
d'Import/Export, Centreon peut générer de nouveaux fichiers de
configuration pour Nagios.

 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.

Figure 10 : Interaction entre Nagios et Centreon

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.

Figure 11 : Architecture NSClient

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.

Figure 12 : Mécanisme du NRPE

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

Ce chapitre contient la mise en place de la solution, les outils de travail, ainsi


quelques captures écrans des interfaces de Nagios/Centreon.

38
Chapitre 4 : Réalisation du projet

I. Partie test de la solution


1. Les outils de travail
 VMware Workstation 9
VMware Workstation propose un outil de virtualisation de système d'exploitation
(OS) sur une machine hôte. L'application s'appelle ici un hyperviseur et peut créer des
machines virtuelles (VM) complètes avec gestion du son, de la vidéo, du réseau, de la
quantité de RAM, des disques durs, des processeurs etc.

VMware Workstation peut intercepter des périphériques USB lors de leur


connexion pour les intégrer à l'OS invité. Le logiciel autorise de lancer plusieurs VM
simultanément, les mettre en pause pour les reprendre plus tard dans l'état laissé
précédemment, etc. Enfin, VMware Workstation met à disposition des utilisateurs une
connexion VNC pour l'accès au bureau à distance du système invité et faciliter ainsi les
démonstrations logicielles sur un OS propre.

 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

 Microsoft Visio 2010


Microsoft Visio (officiellement Microsoft Office Visio) est un logiciel de diagrammes
et de synopsis pour Windows qui fait partie de la suite bureautique Microsoft Office mais
se vend séparément. On peut ainsi créer des diagrammes de Gantt, des réseaux de
PERT ou encore des diagrammes. Dans Visio, les graphiques utilisés pour créer des
diagrammes sont vectoriels.

 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.

Il est disponible actuellement en version 32 et 64 bits. Du fait de ces triples


fonctions, le fichier de configuration de NSClient++ est assez long mais également assez
simple. Il est aujourd’hui considéré comme l’agent de supervision standard Nagios pour
plateformes Windows.

40
Chapitre 4 : Réalisation du projet

2. Pré-requis (Préparation de la maquette de test)


 Sous VMware Workstation
Installation d’une machine virtuelle VMware qui dispose d’un système
d’exploitation open source Debian 6.0.6 amd64 bits qui va servir d’un serveur de
supervision.
Installation d’une machine virtuelle VMware qui dispose d’un système
d’exploitation Windows 2003 Server qui va servir d’un serveur de test des services
superviser par nagios.
Installation d’une machine virtuelle VMware qui dispose d’un autre système
d’exploitation open source Debian 6.0.6 amd64 bits qui va servir d’un serveur de
test des services superviser par nagios.

 Sous le Serveur Debian qui héberge Nagios


Installation des outils de compilation tels que gcc g++ cpp make automake build-
essential qui sont capables de compiler divers langages de programmation,
dont C, C++, Objective-C, Java, Ada et Fortran…
Installation du serveur web et PHP. Pour le serveur web, Installation et
configuration d’Apache. J’ai choisi ce serveur http étant donné le plus populaire et
Installation et configuration du serveur mysql, ses librairies et les connexions perl
ainsi que les librairies RRDTool pour les graphiques.
Installation du protocole SNMP qui va me permettre de gérer les équipements du
réseau, de superviser et de diagnostiquer des problèmes réseaux et matériels à
distance.
Installation les librairies GD, pour créer et manipuler des images avec PHP dans
mon cas la carte Nagios.
Installation de Nagios accompagné de ses plugins et de NDOutils qui permet
l’exportation des données Nagios vers la base de données MySQL.
Création de deux groupes Nagios le premier nagcmd pour autoriser la soumission
de commandes externes depuis l'interface web, ainsi qu’un groupe nagios. Par la
suite j’ai ajouté l’utilisateur nagios dans le groupe nagcmd, ainsi que l’utilisateur
d’apache « www-data ».
Configuration de Nagios pour qu'il s'exécute automatiquement au démarrage du
système puis j’ai démarré Nagios.
Installation et configuration de postfix et mailx pour pouvoir paramétrer l’envoi
des mails pour indiquer à l’administrateur la perte d’un hôte ou d’un service.

 Sous Virtual Network Editor


Il ne resté qu’à faire communiquer ces machines entre elles, pour cela j’ai créé
trois cartes réseaux virtuelles sur VMware comme suit :

41
Chapitre 4 : Réalisation du projet

Figure 13 : Interface d’ajout de carte réseau virtuelle

3. Mise en place de la maquette de test

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.

Figure 14 : Maquette de test réalisé sous GNS3

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 :

Figure 15 : Ping réussi du routeur vers les machines virtuelles

Figure 16 : Ping réussi depuis le serveur 2003

43
Chapitre 4 : Réalisation du projet

Figure 17 : Ping réussi depuis le serveur Nagios

 Installation de Nagios et Centreon sur le serveur Debian


En plus des plugins Nagios a besoin de satisfaire certaines dépendances. Les Pré-
requis à l’installation sont donc :
Dépendances LAMP : Apche2, PHP5, MySQL
Librairies Perl
Les librairies graphiques : GD, libgd libpng, libjpeg…
Compilateur : gcc, gcc-gc++
Les étapes d’installation et de configuration de « Nagios3-2.3 » et ses plugins «
Nagios-plugins-1.4.15 », « Centreon-2.1.10 » et « NDOUtils-1.4b9 » seront détaillées
dans l’Annexe 2.

44
Chapitre 4 : Réalisation du projet

 Installation de NSClient sur la machine Windows


Pour la supervision des serveurs Windows, je vais installer le greffon NSClient sur la
machine Windows 2003 Server et vérifier la présence de la commande « check_nt »
parmi les plugins installé de Nagios.
Les étapes d’installation seront détaillées dans l’Annexe 3.

 Installation de NRPE sur le serveur Debian de test


Pour la supervision des serveurs Linux, je vais installer le greffon « NRPE-2.1.12 »
sur la machine Debian de test et vérifier la présence de la commande « check_nrpe »
parmi les plugins installé de Nagios.
Les étapes d’installation seront détaillées dans l’Annexe 4.

 Notification par mail


En plus d’être informé visuellement par l’interface de Centreon ou Nagios, on peut
paramétrer l’envoi des mails pour indiquer la perte d’un hôte ou d’un service. Cela
permet d’avoir des informations supplémentaires, et d’avoir un historique de l’activité
durant la nuit lorsque l’on ouvre sa boite mail le matin. En premier lieu on aura besoin
d’installer les éléments postfix et mailx et avoir accès au serveur SMTP.
Les étapes d’installation seront détaillées dans l’Annexe 5.

4. Les interfaces Nagios


Interface d’authentification Nagios

Figure 18 : Interface d’authentification Nagios

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é :

Figure 19 : Interface de page d’accueil de Nagios

L’interface Map représente la hiérarchie de tout le réseau supervisé par Nagios :

Figure 20 : Interface Map

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.

Figure 21 : Interface Hosts

L’interface Services représente l’état de chaque service de chaque haute supervisé


par Nagios :

Figure 22 : Interface Services

47
Chapitre 4 : Réalisation du projet

5. Les interfaces Centreon


L’interface d’authentification Centreon

Figure 23 : Interface d’authentification Centreon

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.

Figure 24 : Interface de vue globale

48
Chapitre 4 : Réalisation du projet

L’interface Global Health suivante représente un état de santé globale du réseau


supervisé.

Figure 25 : Interface de la santé globale Centreon

L’interface Nagios Statistics représente les performances de notre supervision


(temps de check, latence etc..) et des graphiques traçant historiques de
performance de chacun de nos instances.

Figure 26 : Interface des statistiques Nagios

49
Chapitre 4 : Réalisation du projet

L’interface Reporting Hosts nous permet d’avoir des statistiques de fiabilité de


chaque hôte sur une période de temps données.

Figure 27 : Interface des rapports

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

Figure 28 : Interface des listes des commandes

Figure 29 : Interface de définition des commandes

 Etape 2 : Associer chaque commande à un Template de service :


L’option Add nous renvoie vers une interface ou nous devons définir notre Service
Template et l’associer à sa commande relative. Ainsi on définit les Template
propre à chaque commande crée dans l’étape 1.

51
Chapitre 4 : Réalisation du projet

Figure 30 : Interface de liste des Template des services

 Etape 3 : Associer les Services Template à un Host Template :


Dans l’interface commandes/hosts/Template on crée le Template Windows-
servers.

Figure 31 : Interface de liste des Template des hôtes

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.

Figure 32 : Interface d’association des Template de services à un Template d’hôte

Comme on le voit dans l’interface commandes/Hosts/Template/Relation, une liste


des services Template apparaît, on doit donc sélectionner et ajouter les services qu’on
voudra lier à ce Host Template.
Il ne nous reste maintenant qu’à ajouter les coordonnées du serveur Windows à
configurer (nom, adresse IP, Host Template,…) à travers l’interface
Configuration/Hosts/Add comme suite :
A chaque ajout d’un serveur Windows on n’a pas à refaire les mêmes étapes, on
doit seulement lui affecter le Host Template adéquat pour que tous les services associés
à ce Template apparaissent automatiquement.

53
Chapitre 4 : Réalisation du projet

L’interface Configuration/Hosts représente les hôtes qu’on a configurés dans


centreon pour qu’elles puissent être supervisées par la suite dans nagios

Figure 33 : Interface de configuration des hôtes

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,…).

Figure 34: Interface d’ajout d’un nœud

54
Chapitre 4 : Réalisation du projet

 Etape4 : Exportation de la configuration vers Nagios


Lorsque nous modifions la configuration dans Centreon, nous ne faisons que
modifier l’état de la base Centreon. Les modifications ne sont pas encore prises en
compte par les différents collecteurs Nagios. Pour effectuer cette mise à jour, il faut se
rendre au menu Configuration/Nagios puis cocher :
Move export files : pour déplacer physiquement les fichiers de configuration dans
l'arborescence Nagios.
Restart Nagios : Pour le redémarrage de Nagios afin que la configuration soit
prise en compte.
Puis cliquer sur Export

Figure 35 : Interface d'exportation

55
Chapitre 4 : Réalisation du projet

Si l’exportation se passe sans erreur, nous devrions avoir le résultat suivant :

Figure 36 : Résultat d'exportation

L’interface Monitoring/Event logs nous donne accès à tout historique des journaux
d’évènements concernant Centreon (Nagios).

Figure 37 : Interface des journaux d'évènements

56
Chapitre 4 : Réalisation du projet

7. Notification par mail


Nagios possède déjà les commandes de notification host-notifie-by-email et
service-notifie-by-email dans la partie configuration/commandes/notifications qui
seront paramétrées à des hôtes ou services lors de leur création, ainsi on gardera la
même configuration à chaque nouvel ajout.
Il nous reste qu’à informer le système des utilisateurs et groupes d’utilisateurs à
notifier lors de l’apparition d’un problème et de sélectionner la durée de
notification voir la figure suivante.

Figure 38 : Interface de configuration des notifications

Cette interface modélise la configuration d’envoi de notification, où nous devrons


sélectionner les utilisateurs concernées par la réception de ces notifications, ainsi on
définira l’intervalle, la période et le type de notification…etc. Ainsi on recevra un mail
sous la forme suivante :

Figure 39 : Exemple de notification

57
Chapitre 4 : Réalisation du projet

II. Partie déploiement de la solution


Pour mettre en place ce projet de supervision, et pour faciliter l’approche de
déploiement de ma solution dans l’entreprise ainsi d’éviter tout risques d’incompatibilité
j’ai réalisé une maquette sur GNS3 présentant le réseau de Dimension data, avec le
même plans d’adressage utilisé pour garantir la fiabilité de la solution.

1. Supervision des équipements réseaux


Pour la supervision des équipements, j’ai suit la procédure de déploiement de
logiciel dans l’Active Directory pour que je puisse installer le package NSClient++.msc sur
les machine connectés au domaine. Cela me permettrai de minimisé les charges
administratives.
Ensuite au lieu de superviser équipement par équipement, j’ai supervisé catégorie
par catégorie sauf pour les serveurs. Par exemple j’ai appliqué à l’ensemble des
imprimantes les mêmes conditions de supervision. Pareil pour les machines et les
commutateurs.
Par contre les serveurs et routeurs ainsi que les commutateurs de niveau 3, chacun
d’eux nécessite une supervision particulière, dans ce cas j’ai supervisé équipement par
équipement.
Maintenant je vais expliquer pour chaque catégorie où équipement les services de
supervision que j’ai utilisé :
Generic host : pour les machines J’ai activé les commandes (check_ping,
check_host_alive, check_memory, et check_cpu).
Printers : l’essentiel pour les imprimantes c’est qu’ils soient toujours en état de
marche « UP » donc j’ai tout simplement activé la commande check_ping pour
connaître l’état de l’imprimante.
Router-Cisco : pour les routeurs Cisco j’ai supervisé le ping par la commande
check_ping, check_snmp, et check_users pour retourner le nombre d’utilisateurs
connecté.
Servers-Linux : pour les serveurs linux j’ai utilisé les commandes check_http et
check_https pour vérifier la disponibilité du service web ainsi les commandes
check_disk, check_cpu, check_memory et bien sur check_ping/check_host_alive.
Servers-Win2k3 : pour le serveur de stockage et d’impression j’ai supervisé la
mémoire disque par check_disk, la charge par check_load, check_host_alive.
Switch-Cisco : pour les switchs j’ai supervisé l’état des interfaces/ports, la
mémoire, le CPU et le Ping.

2. Captures d’écran de la solution


Voici quelques captures d’écran de la solution final, j’ai choisi celles les plus
intéressante :

77
58
Chapitre 4 : Réalisation du projet

L’interface Map qui représente la hiérarchie de tout le réseau supervisé.

Figure 40 : Interface Map du réseau supérvisé

59
Chapitre 4 : Réalisation du projet

L’interface Hosts représente l’état de chaque équipement supervisé par Nagios.

Figure 41 : Interface Hosts

L’interface suivante history représente l’historique des alertes annoncé par Nagios.

Figure 42 : Interface Alerts/History

60
Chapitre 4 : Réalisation du projet

L’interface suivante Trends interface de reporting permet de choisir un


équipement du réseau supervisé, ensuite choisir les options de reporting pour
avoir l’historique de l’état de ce dernier

Figure 43 : Interface de choix d’équipement

Figure 44 : Interface de choix des options

61
Chapitre 4 : Réalisation du projet

Figure 45 : Interface final trends

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

Le domaine de la supervision est un domaine important de l’administration


systèmes et réseaux. En constante évolution, les solutions libres de supervision ont
prouvé qu’elles avaient leur place dans la sphère professionnelle.

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 …).

L'association de Nagios et de Centreon a permis la constitution d'une solution de


monitoring à la fois puissante et efficace.

Centreon agit comme un intermédiaire entre l'administrateur et les fichiers de


configuration de Nagios. Il enregistre dans une base de données les configurations
effectuées par l'administrateur, puis il modifie les fichiers de configuration de Nagios en
fonction du contenu de la base de données. Ce qui a permis de simplifier grandement le
travail de l'administrateur, contrairement à l'utilisation de Nagios seul.

Ce stage m’a permis d’acquérir maintes connaissances dans le monde de la


supervision des réseaux informatiques, et surtout la maitrise de l’environnement Unix.

63
Webographie

Les tutoriels pour l’installation de Nagios


[Link]
[Link]
[Link]
b%C3%AAte-et-pourtant
[Link]
ajouter-des-hotes
[Link]
[Link]
[Link]
[Link]
[Link]
bian_Squeeze

Les manuels d’utilisation de Centreon


[Link] :
[Link]
[Link]

Etude comparative entre Nagios et Zabbix


[Link]
[Link]

Un tutoriel pour l’installation et la configuration de POSTFIX.


[Link]

NSClient ++
[Link]

NRPE
[Link]
[Link]

64
Annexes

65
Annexes 1

 Contenu du fichier reçu [Link]


MARBASWCGA#sh ip interface brief
Interface IP-Address OK? Method Status Protocol
Vlan1 unassigned YES NVRAM up up
Vlan9 [Link] YES NVRAM up up
Vlan10 [Link] YES NVRAM up up
Vlan11 [Link] YES NVRAM up up
Vlan12 [Link] YES NVRAM up up
Vlan13 [Link] YES NVRAM up up
Vlan14 [Link] YES NVRAM up up
Vlan15 [Link] YES NVRAM up up
Vlan16 [Link] YES NVRAM up up
Vlan17 [Link] YES NVRAM up up
Vlan18 [Link] YES NVRAM up up
Vlan40 [Link] YES NVRAM up up
Vlan95 [Link] YES NVRAM up up
Vlan96 [Link] YES NVRAM up up
Vlan97 [Link] YES NVRAM up up
Vlan98 [Link] YES NVRAM up up
Vlan99 [Link] YES NVRAM up up
Vlan110 [Link] YES NVRAM up up
Vlan111 [Link] YES NVRAM up up
Vlan112 [Link] YES NVRAM up up
Vlan113 [Link] YES manual up up
Vlan114 [Link] YES NVRAM up up
Vlan115 [Link] YES NVRAM up up
Vlan116 [Link] YES NVRAM up up
Vlan117 [Link] YES NVRAM up up
Vlan118 [Link] YES NVRAM up up
Vlan200 [Link] YES NVRAM up up
Vlan900 [Link] YES NVRAM up up
Vlan990 [Link] YES NVRAM up up
Vlan999 [Link] YES NVRAM up up
FastEthernet1/0/1 unassigned YES unset down down
FastEthernet1/0/2 unassigned YES unset up up
FastEthernet1/0/3 unassigned YES unset up up
FastEthernet1/0/4 unassigned YES unset up up
FastEthernet1/0/5 unassigned YES unset up up
FastEthernet1/0/6 unassigned YES unset up up
FastEthernet1/0/7 unassigned YES unset down down
FastEthernet1/0/8 unassigned YES unset down down
FastEthernet1/0/9 unassigned YES unset down down
FastEthernet1/0/10 unassigned YES unset down down
FastEthernet1/0/11 unassigned YES unset down down
FastEthernet1/0/12 unassigned YES unset down down
FastEthernet1/0/13 unassigned YES unset down down
FastEthernet1/0/14 unassigned YES unset down down
FastEthernet1/0/15 unassigned YES unset down down
FastEthernet1/0/16 unassigned YES unset down down
FastEthernet1/0/17 unassigned YES unset down down
FastEthernet1/0/18 unassigned YES NVRAM down down
FastEthernet1/0/19 unassigned YES unset down down
FastEthernet1/0/20 unassigned YES unset down down
FastEthernet1/0/21 unassigned YES unset down down
FastEthernet1/0/22 unassigned YES unset down down
FastEthernet1/0/23 unassigned YES unset down down
FastEthernet1/0/24 unassigned YES unset down down

66
Annexes 1

FastEthernet1/0/25 unassigned YES unset down down


FastEthernet1/0/26 unassigned YES unset down down
FastEthernet1/0/27 unassigned YES unset down down
FastEthernet1/0/28 unassigned YES unset down down
FastEthernet1/0/29 unassigned YES unset down down
FastEthernet1/0/30 unassigned YES unset down down
FastEthernet1/0/31 unassigned YES unset down down
FastEthernet1/0/32 unassigned YES unset down down
FastEthernet1/0/33 unassigned YES unset up up
FastEthernet1/0/34 unassigned YES unset up up
FastEthernet1/0/35 unassigned YES unset up up
FastEthernet1/0/36 unassigned YES unset up up
FastEthernet1/0/37 unassigned YES unset up up
FastEthernet1/0/38 unassigned YES unset down down
FastEthernet1/0/39 unassigned YES unset down down
FastEthernet1/0/40 [Link] YES NVRAM up up
FastEthernet1/0/41 unassigned YES unset up up
FastEthernet1/0/42 [Link] YES NVRAM up up
FastEthernet1/0/43 unassigned YES unset down down
FastEthernet1/0/44 unassigned YES unset down down
FastEthernet1/0/45 unassigned YES unset up up
FastEthernet1/0/46 unassigned YES unset down down
FastEthernet1/0/47 unassigned YES unset down down
FastEthernet1/0/48 unassigned YES unset down down
GigabitEthernet1/0/1 unassigned YES unset up up
GigabitEthernet1/0/2 unassigned YES unset up up
GigabitEthernet1/0/3 unassigned YES unset up up
GigabitEthernet1/0/4 unassigned YES unset up up
Loopback0 unassigned YES NVRAM up up
MARBASWCGA#sh vlan

VLAN Name Status Ports


---- -------------------------------- --------- ----------------------------
---
1 default active Fa1/0/6, Fa1/0/10, Fa1/0/11,
Fa1/0/12, Fa1/0/13, Fa1/0/14, Fa1/0/15, Fa1/0/16
Fa1/0/17, Fa1/0/19,
Fa1/0/20, Fa1/0/21, Fa1/0/22, Fa1/0/23, Fa1/0/24, Fa1/0/25
Fa1/0/26, Fa1/0/39,
Fa1/0/43, Fa1/0/44, Fa1/0/46, Fa1/0/47, Fa1/0/48
9 MARBAVLDManagement active
10 MARBAVLDGA1 active Fa1/0/9
11 MARBAVLDGA2 active
12 MARBAVLDGA3 active
13 MARBAVLDGB1 active
14 MARBAVLDGB2 active
15 MARBAVLDGB3 active
16 MARBAVLDGC1 active
17 MARBAVLDGC2 active
18 MARBAVLDGC3 active
37 VLAN0037 active
40 CORPGUEST active
95 CORPMOBILE active
96 CORPWIFI active
97 MARBAVLDWIFI active
98 MARBAVLVWIFI active
99 MARBAVLDGuest active
110 MARBAVLVGA1 active
111 MARBAVLVGA2 active

67
Annexes 1

112 MARBAVLVGA3 active


113 MARBAVLVGB1 active
114 MARBAVLVGB2 active
115 MARBAVLVGB3 active
116 MARBAVLVGC1 active
117 MARBAVLVGC2 active
118 MARBAVLVGC3 active
200 voicecom active Fa1/0/8
800 server active
900 AP active
990 MARBAVLDPSTN active Fa1/0/2
999 MARBAVLDServer active Fa1/0/1, Fa1/0,Fa1/0/4,
Fa1/0/5, Fa1/0/7, Fa1/0/27, Fa1/0/28, Fa1/0/29,
Fa1/0/30
Fa1/0/31, Fa1/0/32,
Fa1/0/33, Fa1/0/34, Fa1/0/35, Fa1/0/36, Fa1/0/37, Fa1/0/38
1001 UNUSED_PORTS active
1002 fddi-default act/unsup
1003 trcrf-default act/unsup
1004 fddinet-default act/unsup
1005 trbrf-default act/unsup
MARBASWCGA#sh cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone,
D - Remote, C - CVTA, M - Two-port Mac Relay

Device ID Local Intrfce Holdtme Capability Platform Port ID


e41f1377a7e5 Fas 1/0/35 129 H CSACS-112 eth0
MARBTWLC01 Gig 1/0/2 120 H AIR-WLC44 Unit - 0
Slot - 0 Port - 1
MDS-DD-01(FOX1449GV9H)
Fas 1/0/33 135 R S I C DS-C9124- mgmt0
MARBASWAGA_1 Gig 1/0/1 177 S I WS-C2960- Gig 0/1
MARBASWAGA_2 Gig 1/0/3 166 S I WS-C2960- Gig 0/1
MARBASWAGB_1 Fas 1/0/45 174 S I WS-C2960- Fas 0/48
MARBASWAGB_1 Fas 1/0/41 152 S I WS-C2960- Fas 0/47
MARBASWAGB_1 Gig 1/0/4 129 S I WS-C2960- Gig 0/2
MARBASWCGA#sh cdp neighbors detail
-------------------------
Device ID: e41f1377a7e5
Entry address(es):
IP address: [Link]
Platform: CSACS-1121-K9, Capabilities: Host
Interface: FastEthernet1/0/35, Port ID (outgoing port): eth0
Holdtime : 126 sec

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

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=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

 Téléchargement et installation de Nagios


# cd /usr/local/src
# wget [Link]
[Link]
# tar xzf [Link]
# cd nagios-3.2.3
# ./configure –prefix=/usr/local/nagios –with-command-group=nagcmd –
enable-event-broker
# make all
# make install
# make install-init
# make install-config
# make install-commandmode
# make install-webconf
On peut tester s’il n y a aucune erreur dans la configuration de nagios suite à
l’exécution de la commande suivante :
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/[Link]
Cette commande de vérification se fera automatiquement grâce à Centreon et à
chaque modification de la configuration de Nagios.

72
Annexes 2

Il vaut mieux changer la permission du répertoire /usr/local/nagios/var/rw afin de


pouvoir effectuer des actions depuis l’interface de nagios.
# chown nagios:nagcmd /usr/local/nagios/var/rw

II. Installation NDOUtils-1.4b9


 Installation des librairies et Pré-requis nécessaires
MySQL: mysql, mysql-client.
 Installation de NDOutils.
# cd /usr/local/src
# wget [Link]
[Link]
# tar xzf [Link]
# cd ndoutils-1.4b9
# ./configure --prefix=/usr/local/nagios --enable-mysql --disable-
pgsql --withndo2db-user=nagios --with-ndo2db-group=nagios --with-
mysql=/usr/lib/mysql
# make

Installation des binaires et installation des fichiers de configuration des binaires


Ndo2db et ndomod.
# cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
# cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db
# cp src/log2ndo src/file2sock /usr/local/nagios/bin
# cp config/[Link]-sample /usr/local/nagios/etc/ndo2db/cfg
# cp config/[Link]-sample /usr/local/nagios/etc/[Link]
# chmod 774 /usr/local/nagios/bin/ndo*
# chown nagios:nagios /usr/local/nagios/bin/ndo*
# chown nagios:nagios /usr/local/nagios/etc/ndo*

Récupération du script d’utilisation :


# cp daemon-init /etc/init.d/ndo2db
# chmod +x /etc/init.d/ndo2db

III. Installation Centreon-2.1.10


# cd /usr/local/src
# wget [Link]
# tar xzf [Link]
# cd centreon-2.1.10
# ./[Link] -i

73
Annexes 2

you accept GPL license ?


[y/n], default to [n]:
> y
Do you want to install : Centreon Web Front
[y/n], default to [n]:
> y
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]:
> y
Do you want me to create this directory ? [/usr/local/centreon]
[y/n], default to [n]:> y
Path /usr/local/centreon OK
Do you want me to create this directory ? [/etc/centreon]
[y/n], default to [n]:> y
/usr/local/nagios/bin/nagios OK
Where is your NDO ndomod binary ?
default to [/usr/sbin/ndomod.o]>
/usr/local/nagios/bin/ndomod.o OK
Do you want me to configure your sudo ? (WARNING)
[y/n], default to [n]:> y
Configuring Sudo OK
Do you want to add Centreon Apache sub configuration file ?
[y/n], default to [n]:> y
Create „/etc/apache2/conf.d/[Link]‟ OK
Configuring Apache OK
Do you want to reload your Apache ?
[y/n], default to [n]:> y
Reloading Apache service OK
Do you want me to create this directory ? [/var/run/centreon]
[y/n], default to [n]:> y
Path /var/run/centreon OK
Do you want me to create this directory ? [/var/lib/centreon]
[y/n], default to [n]:> y
Path /var/lib/centreon OK
Do you want me to install CentStorage init script ?
[y/n], default to [n]:> y
CentStorage init script installed OK
Do you want me to install CentStorage run level ?
[y/n], default to [n]:> y
Do you want me to install CentCore init script ?
[y/n], default to [n]:> y
CentCore init script installed OK
Do you want me to install CentCore run level ?
[y/n], default to [n]:> y
Do you want me to create this directory ?
[/var/lib/centreon/centplugins]
[y/n], default to [n]:> y
Path /var/lib/centreon/centplugins OK
La suite d’installation de Centreon se faite à travers l’interface graphique où on définisse
l’administrateur de Nagios, l’accès à la base de données, les noms des bases de Centreon.

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

 Coté Serveur (Serveur Nagios)


Juste on doit vérifier la présence de la commande check_nt sous
/usr/local/nagios/libexec sinon le télécharger et l’ajouter parmi les autres commandes.
Depuis le terminal du serveur nagios testons si la machine Windows distante
répond en tapant la commande suivante qui doit renvoyer la version de NSClient++
installée :
# cd /usr/local/nagios/libexec
# ./check_nt -H [Link] –s admin –p 12489 –v CLIENTVERSION
NSClient++ [Link]

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

Téléchargement, décompression et Installation des plugins Nagios Nagios-plugins-


1.4.15.
# mkdir downloads
# cd downloads
# wget [Link]
[Link]
# tar xzf [Link]
# cd nagios-plugins-1.4.6
# ./configure
# make
# make install
# chown [Link] /usr/local/nagios
# chown –R [Link] /usr/local/nagios/libexec

Téléchargement, décompression et Installation du plugin nrpe-2.12.


# wget [Link]
[Link]
# tar xzf [Link]
# cd nrpe-2.12
# ./configure
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config
# make install-xinetd

L’installation est donc achevée, Passons à la configuration de


/usr/local/nagios/etc/nagios/[Link].
Allowed_host = [Link]

Et ajouter la ligne suivante dans /etc/services :


nrpe 5666/tcp # NRPE

Finalement lancer le deamon XINETD relatif à NRPE :


# /etc/init.d/xinetd start

77
Annexes 4

On peut aussi utiliser les commandes suivante pour stopper, redémarrer ou


déterminer l’état du processus (démarré, stoppé) :
# /etc/init.d/xinetd stop
# /etc/init.d/xinetd status
# /etc/init.d/xinetd restart

 Coté Serveur (Serveur Nagios)


Au niveau du serveur Nagios on refait les mêmes étapes pour l’installation de
NRPE.
Les plugins sont déjà installés.
Téléchargement, décompression et Installation du plugin nrpe-2.12.
# wget [Link]
[Link]
# tar xzf [Link]
# cd nrpe-2.12
# ./configure
# make all
# make install-plugin
# make install-daemon
# make install-daemon-config
# make install-xinetd

Finalement lancer le deamon XINETD relatif à NRPE :


# /etc/init.d/xinetd start

Depuis le terminal du serveur nagios testons si la machine Windows distante


répond en tapant la commande suivante qui doit renvoyer la version de NSClient++
installée :
# cd /usr/local/nagios/libexec
# ./check_nrpe –H [Link]

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

Notification par mail

 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

Ensuite choisir « pas de configuration » pendant l’installation. Les plus curieux


d’entre vous auront constatés qu’on installe un paquet un peu spécial de postfix avec
une extension « -mysql ». Cette version nous simplifie les choses, on utilisera une base de
données MySQL pour stocker nos différents comptes email et noms de domaine.

 Création des tables SQL pour Postfix


On a besoin de créer 3 tables pour Postfix :
Une table « domaines » qui contient la liste des noms de domaine hébergés sur le
serveur.
Une table « comptes » qui contient toutes les adresses emails virtuelle de la forme
« contact@[Link] ».
Une table « alias » qui contient différents alias email que nous n’utiliserons pas.
Pour créer ces tables, le plus simple reste de copier/coller ce code SQL dans
phpmyadmin. En revanche, vous devez d’abord créer une base de données « postfix »
avec un utilisateur « postfix » ayant tous droits sur cette base.
USE postfix;
CREATE TABLE `domaines` (
`domaine` varchar(255) NOT NULL default '',
`etat` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`domaine`)
) ENGINE=MyISAM;
CREATE TABLE `comptes` (
`email` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`quota` int(10) NOT NULL default '0',
`etat` tinyint(1) NOT NULL default '1',
`imap` tinyint(1) NOT NULL default '1',
`pop3` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`email`)
) ENGINE=MyISAM;
CREATE TABLE `alias` (
`source` varchar(255) NOT NULL default '',
`destination` text NOT NULL,
`etat` tinyint(1) NOT NULL default '1',
PRIMARY KEY (`source`)
) ENGINE=MyISAM;

79
Annexes 5

 Configuration de Postfix pour le lier à la BDD


Maintenant que la base de données est fonctionnelle avec toutes les tables et un
utilisateur valide, nous devons créer 5 fichiers de configurations pour expliquer à Postfix
comment utiliser cette base de données. Les fichiers se ressemblent donc il faut faire
attention aux erreurs d’inattention:
/etc/postfix/mysql-virtual_domaines.cf

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

Après la configuration de ces fichiers on doit les sécurises :


#chmod u=rw,g=r,o= /etc/postfix/mysql-virtual_*.cf
#chgrp postfix /etc/postfix/mysql-virtual_*.cf

 Création de l’utilisateur et groupe vmail


Pour avoir une configuration assez propre et sécurisé, nous pouvons créer un
utilisateur et un groupe vmail qui se chargera de gérer/stocker les courriels sur le
serveur. Nous devons préciser des UID et GID précis (5000) car nous en auront besoin
plus tard dans un fichier de configuration.
# Créer un groupe vmail avec le gid 5000
groupadd -g 5000 vmail
# Créer un utilisateur vmail avec un uid 5000 et son répertoire
personel dans /var/spool/vmail
useradd -g vmail -u 5000 vmail -d /var/spool/vmail/ -m

 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

Voici un exemple de fichier de configuration configuré :


smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
disable_vrfy_command = yes
smtpd_helo_required = yes
append_dot_mydomain = no
myhostname = REVERSE_DNS
myorigin = REVERSE_DNS
mydestination = REVERSE_DNS, [Link], localhost
relayhost =
mynetworks = [Link]/8, IP_PUBLIQUE_SERVEUR
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_maps = mysql:/etc/postfix/mysql-
virtual_aliases.cf,mysql:/etc/postfix/mysql-virtual_aliases_comptes.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domaines.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_comptes.cf
virtual_mailbox_base = /var/spool/vmail/
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-
virtual_quotas.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "La boite email de votre destinataire
est pleine, merci de réessayez plus tard."
virtual_overquota_bounce = yes
smtpd_sender_restrictions =
permit_mynetworks,
warn_if_reject reject_unverified_sender
smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauth_destination,
reject_non_fqdn_recipient
smtpd_client_restrictions =
permit_mynetworks

Une fois la configuration terminée, vous pouvez redémarrer Postfix et vérifier sa


configuration :
# /etc/init.d/postfix restart
# /etc/init.d/postfix check

82

Vous aimerez peut-être aussi