Belkhouche
Belkhouche
Belkhouche
Thème :
Réalisé par :
A l'aide de DIEU tout puissant, qui trace le chemin de ma vie, j'ai pu arriver à
réaliser ce modeste travail que je dédie:
A ma plus belle étoile qui puisse exister dans l'univers, ma très chère mère celle a qui je
souhaite une longue vie et bonne santé ;
A mon père qui n'a pas cessé de m'encourager
A ma Seurre et sa fille, a mes frères
A ma petite famille mon époux et mon fils et a tout mes amis
Table des matières
Page 1
Chapitre III: SUPERVISION RESEAU
III.1.Introduction .................................................................................................................................. 30
III.2.Présentation .................................................................................................................................. 30
III.2.1 Définition de la supervision .................................................................................................... 30
III.2.2.Objectifs ................................................................................................................................. 31
III.2.3.Principe .................................................................................................................................. 31
III.3. Le protocole SNMP ....................................................................................................................... 32
III.3.1.Présentation ........................................................................................................................... 32
III.3.2 .Fonctionnement .................................................................................................................... 32
III.3.2.1 Les agents ........................................................................................................................ 32
III.3.2.2 Les systèmes de management de réseaux....................................................................... 32
III.3.2.3 La MIB .............................................................................................................................. 33
III.3.2.4.Les commandes SNMP .................................................................................................... 33
III.3.2.5 Echange de message........................................................................................................ 34
III.3.3. SNMP en pratique ................................................................................................................. 35
III.4. Conclusion .................................................................................................................................... 35
Page 2
V.3.2. Personnalisation de la configuration ...................................................................................... 48
V.3.3. Configurez l'interface Web ..................................................................................................... 49
V.4. Nsclient++ ..................................................................................................................................... 53
V.4.1. Configuration de Nagios pour surveiller vos machines Windows........................................... 54
V.5.Conclusion...................................................................................................................................... 55
Conclusion générale ............................................................................................................................. 61
Bibliographie ........................................................................................................................................ 63
Page 3
Page 4
Liste des figures
Page 5
Page 6
Liste des acronymes
A
API: application program interface
ACSE: Association Control Service Eléments
AE: Application Elément
ASE :Application Service Elément
D
DNS: Domain Name system
F
FTP: File Transfert Protocol
H
HTTP: Hyper Texte Transfert Protocol
I
IP: Internet Protocol
ISO: International Organization for Standardization
IANA: Internet Assigned Numbers Authority.
L
LSM: Local System Manager
M
MIB: : Management Information Base
N
NSCA: : Nagios Service Check Acceptor
NRPE: Nagios Remote Plugin Execut
O
OSI: Open Source Inder
OID: Object Identifier
R
RPC: Remote Procedure Call
Page 7
ROSE: Remote Operation Service Elements
S
SNMP: Simple Network Management Protocol
T
TCP: Transmission Control Protocol
U
UDP: User Datagram Protocol
Page 8
Page 9
Introduction générale
C'est pourquoi les administrateurs réseau font appel à des logiciels de surveillance et de
supervision de réseaux. Ces logiciels vérifient l'état du réseau ainsi que des machines
connectées et permettent à l'administrateur d'avoir en temps réel une vue de l'ensemble du
parc informatique. Il peut être. informé (par email, par SMS) en cas de problème. Grâce à un
tel système.
Dans ce domaine, un logiciel fait office de référence: Nagios. En effet Nagios est très
performant et possède une prise en main assez intuitive. Il s'installe sur une machine
possédant un système d'exploitation Linux, mais peut superviser aussi bien des machines
Linux que Windows.
Une partie théorique contenant cinq chapitres ; le premier chapitre comporte une introduction
à l’architecture client/serveur, le deuxième chapitre comporte les notions de base
d’administration réseau, le troisième chapitre détaille les notions de la supervision réseaux, le
quatrième chapitre comporte l’étude de l’outil de supervision Nagios et le dernier chapitre
comporte la configuration et l’administration d'un serveur de supervision dans un réseau
locale.
Une partie pratique qui fait l’objectif de notre projet, elle est réservée pour la configuration
sous Linux l’outil de supervision Nagios dans un réseau local.
Page 10
Page 11
Chapitre I
LE MODELE CLIENT/SERVEUR
I.1 Introduction
Le modèle client-serveur s'articule autour d'un réseau auquel sont connectés deux types
d'ordinateurs le serveur et le client. Le client et le serveur communiquent via des protocoles.
Les applications et les données sont réparties entre le client et le serveur de manière à réduire
les coûts. Le client-serveur représente un dialogue entre deux processus informatiques par
l’intermédiaire d’un échange de messages. Le processus client sous-traite au processus
serveur des services à réaliser. Les processus sont généralement exécutés sur des machines,
des OS et des réseaux hétérogènes.
Page 12
Chapitre I Le modèle client/serveur
Service
Le modèle client serveur est une relation entre des processus qui tournent sur des machines
séparées. Le serveur est un fournisseur de services. Le client est un consommateur de
services.
Partage de ressources
Protocole asymétrique
Transparence de la localisation
L’architecture client serveur doit masquer au client la localisation du serveur (que le service
soit sur la même machine ou accessible par le réseau). Transparence par rapport aux systèmes
d’exploitation et aux plates-formes matérielles. Idéalement, le logiciel client serveur doit être
indépendant de ces deux éléments
Message
Un client demande un service. Le serveur décide de la façon de le rendre une mise à niveau du
logiciel serveur doit être sans conséquence pour le client tant que l’interface message est
identique.
Evolution
Une architecture client serveur doit pouvoir évoluer horizontalement (évolution du nombre
de clients) et verticalement (évolution du nombre et des caractéristiques des serveurs).
Page 13
Chapitre I Le modèle client/serveur
L’interface utilisateur
Ainsi que la logique des traitements (formuler la requête), laissant au serveur de bases de
données la gestion complète des manipulations de données
En fait, les différences sont essentiellement liées aux services qui sont assurés par le serveur.
On distingue couramment:
Dans ce cas, le serveur assure des taches de gestion, stockage et de traitement de donnée .c'est
le cas le plus connu de client- serveur est utilisé par tous les grands SGBD:
La base de données avec tous ses outils (maintenance, sauvegarde….) est installée sur un
poste serveur.
Sur les clients, un logiciel d'accès est installé permettant d'accéder à la base de données du
serveur
Tous les traitements sur les données sont effectués sur le serveur qui renvoie les informations
demandées par le client.
Dans ce cas la présentation des pages affichées par le client est intégralement prise en charge
par le serveur. Cette organisation présente l'inconvénient de générer un fort trafic réseaux.
Page 14
Chapitre I Le modèle client/serveur
Dans ce cas, le serveur effectue des traitements a la demande du client .Il peut S'agir de
traitement particulier sur des données, de vérification de formulaire de saisie, de traitements
d'alarmes
Ces traitements peuvent être réalisés par des programmes installés sur des serveurs mais
également intégrés dans des bases de données, dans ce cas, la partie donnée et traitement sont
intégrés.
I.6.1.Notion de port
Lors d'une communication en réseau, les différents ordinateurs s'échangent des informations
qui sont généralement destinées à plusieurs applications (le client mail et le navigateur
internet par exemple).
Seulement ces informations transitent par la même passerelle. Il faut donc savoir pour quelle
application telle information est destinée. On attribue donc des ports pour chaque application.
Un port est comme une porte en schématisant. Les informations sont multiplexées (comme
dans les voitures récentes) et passent par la passerelle. A leur arrivée (vers le serveur) ou à
leur réception (vers votre machine) elles sont dé multiplexées et chaque information distincte
passe par le port qui lui est associé. Les informations sont ensuite traitées par l'application
correspondante.
Les ports ce sont vus attribuer une assignation par défaut pour aider à la configuration des
réseaux.
Page 15
Chapitre I Le modèle client/serveur
21 FTP
23 Telnet
25 MTP
53 DNS
80 HTTP
110 POP3
119 NNTP
Les ports 0 à 1023 sont les ports reconnus ou réservés et sont assignés par l'IANA (Internet
Assigned Numbers Authority).
Les ports 1024 à 49151 sont appelés ports enregistrés et les ports 49152 à 65535 sont les ports
dynamiques (ou privés).
I.6.2Notion de protocoles
Un protocole est une série d'étapes à suivre pour permettre une communication harmonieuse
Entre plusieurs ordinateurs.
HTTP : (Hyper Texte Transfert Protocol) : c'est celui que l'on utilise pour
FTP : (File Transfert Protocol) : C'est un protocole utilisé pour transférer des fichiers.
SMTP : (Simple Mail Transfert Protocol) : c'est le protocole utilisé pour envoyer des
mails.
Telnet : utilisé surtout pour commander des applications côté serveur en lignes
IP (internet Protocol) : L'adresse IP vous attribue une adresse lors de votre connexion à un
serveur.
Page 16
Chapitre I Le modèle client/serveur
-Les protocoles où les machines s'envoient des accusés de réception (pour permettre une
gestion des erreurs). Ce sont les protocoles "orientés connexion"
-Les autres protocoles qui n'avertissent pas la machine qui va recevoir les données sont les
protocoles "non orientés connexion"
Port : Entrée réseau de la machine sur laquelle un serveur « écoute » en attendant des
connexions / requêtes
Exemple
Il devient possible de communiquer suivant un protocole application (par exemple DNS). [3]
Page 17
Chapitre I Le modèle client/serveur
Les applications client/serveur ne voient les couches de communication qu’à travers API
socket
Page 18
Chapitre I Le modèle client/serveur
C’est logiciel qui assure les dialogues entre clients et serveurs hétérogènes, ou entre 2
applicatifs n’ayant pas les même API. Fait de l’« adaptation de protocole » des couches 5, 6, 7
du modèle OSI
Conversion :
Services utilisé pour la communication entre machine mettant en œuvre des formats de
données différentes
Adressage :
Permet d’identifier la machine serveur sur laquelle est localisé le service demandé afin
d’en déduire le chemin d’accès. Dans la mesure du possible.
Sécurité :
Permet de garantir la confidentialité et la sécurité des données à l’aide de mécanismes
d’authentification et de cryptage des informations.
Communication :
Permet la transmission des messages entre les deux systèmes sans altération. Ce
service doit gérer la connexion au serveur, la préparation de l’exécution des requêtes,
la récupération des résultats et la déconnexion de l’utilisation.
Page 19
Chapitre I Le modèle client/serveur
I.9. RCP
Technique permettant d’appeler une procédure distante comme une procédure locale en
rendant transparente les messages échangés
Page 20
Chapitre I Le modèle client/serveur
Synchrone : le serveur attend la requête du client ; et pendant que le serveur fait le traitement,
le client attend,
Asynchrone : pendant qu’un des acteurs traite les informations, l’autre acteur, au lieu
d’attendre, continue de « vivre sa vie ». Il est interrompu (par une interruption système) quand
l’autre acteur lui envoie de nouveau de l’information, afin qu’il aille traiter ce flot entrant. [3]
I.10.Conclusion
Le modèle client /serveur est la base de tous les services réseaux informatique, c'est pour cela
nous sommes intéressé par l'étude de se modèle. Le but de ce chapitre c’est décrire les
différentes notions de base de ce modèle comme le middleware, les protocoles, les sockets et
l’appel de procédure à distance. Afin de mieux configurer et administrer les différents
services qui font l'objectif de notre projet. La configuration de la carte réseaux est une étape
fondamentale et importante pour faire cette configuration sur la distribution l'linux Ubuntu,
qui fait l’objet du deuxième chapitre de notre mémoire.
Page 21
Chapitre I Le modèle client/serveur
Page 22
Chapitre II
II.1 Introduction
Le terme administration de réseaux recouvre l'ensemble des fonctions qui sont nécessaires
pour l'exploitation, la sécurité, le suivi et l'entretien du réseau. II est nécessaire de pouvoir
initialiser de nouveaux services, installer de nouvelles stations raccordées au réseau,
superviser l'état du réseau global et de chacun de ses sous ensembles, suivre de manière fine
l'évolution des performances, évaluer et comparer diverses solutions, mettre fin à des
situations anormales. L'administrateur a besoin de trois grands types d'actions pour agir et
suivre son réseau :
Des actions en temps réel pour connaître l'état de fonctionnement de son réseau (surveillance
et diagnostic des incidents, mesure de la charge réelle, maintenance, contrôle, information aux
utilisateurs,...) et agir sur celui-ci (réparation, ajout de nouveaux utilisateurs, retraits,...),
assurer la sécurité (contrôler les accès, créer/retirer des droits d'accès,...).
Des actions différées pour planifier, optimiser, quantifier et gérer les évolutions du réseau
(statistiques, comptabilité, facturation, prévention, évaluation de charges,...).
Des actions prévisionnelles qui lui permettent d'avoir une vision à moyen et long terme,
d'évaluer des solutions alternatives, de choisir les nouvelles générations de produits,
d'envisager les configurations, de décider du plan d’extension, de vérifier la pertinence de la
solution réseau pour un problème donné…
L'ensemble de ces objectifs ne peut être satisfait par un outil unique. I1 est nécessaire de faire
appel à plusieurs techniques de l'informatique et des mathématiques pour répondre à ces
divers besoins. Nous distinguerons les fonctions liées à la gestion au jour le jour du réseau,
communément appelées outils d'administration les outils de configuration et les outils
d'analyse et de mesure.
Page 23
Chapitre II Administration et configuration réseau
Dans un environnement réseau les procédures les plus fréquemment citées sont :
Sauvegardes
Gestion de l’espace disque
Implantation de logiciel
Implantation de nouvelles versions
Modification de configuration
Rechargement de fichier
Gestion des droits d’accès
Page 24
Chapitre II Administration et configuration réseau
D’un gestionnaire local, LSM (Local System Manager) qui permet d'accéder à la base de
données MIB (Management Information base) locale. Celle-ci est constituée des mesures
effectuées localement et d'informations d'état ou de routage.
D’un agent d'administration global appelé SMAE (System Management Application Entity)
qui gère entre autre les interactions entre les SMAE, les interfaces humaines. SMAE utilise
les services ISO, ROSE (Remote Operation Service Eléments) et ACSE (Association Control
Service Eléments). SMAE est donc, au sens de la couche application un AE (Application
Elément) et est constitué d'un ensemble d'ASE (Application Service Elément). Chaque ASE
offrant lui même un ensemble de primitives pour l'administration du réseau.
L'exécution d'une primitive est faite par invocation d'appels de procédures (ASE) distants
appelés RO (Remote Operation) par l'ISO. Pour ces appels l'ISO préconise l'utilisation
d'associations d'application mises en œuvre à travers l'ACSE (Application Control Service
Elément). La communication sur ces associations, donc entre deux processus d'administration,
est régie par le protocole CMIP (Common Management Information Process), CMIP est
largement inspiré des travaux et implémentations de DECnet.[11]
le niveau fonctionnel
le niveau organisationnel,
le niveau informationnel,
le niveau communication
Page 25
Chapitre II Administration et configuration réseau
Les cartes réseaux sont souvent détectées au démarrage. Si ce n'est pas le cas il faudra charger
les modules correspondants.
Pour obtenir la liste des interfaces réseaux qui ont été détectées, on peut utiliser la
commande : ifconfig -a
Les sections qui commencent par ethX correspondent aux cartes Ethernet, ou X est le numéro
de la carte.
Une fois votre carte reconnue par le noyau, vous devez au moins préciser l'adresse IP et
masque de sous-réseau de la carte. Dans le cas d'un réseau local connecte à Internet, vous
devez aussi ajouter l'adresse IP de la passerelle et l'adresse IP d'un ou plusieurs serveurs DNS.
Adresse IP :
Pour attribuer une adresse IP a une interface réseau, on peut utiliser la commande :
Pour voir si la carte réseau est bien configurée, on peut utiliser la commande : ifconfig eth0
Passerelle et routage :
Page 26
Chapitre II Administration et configuration réseau
Tester le réseau
Pour tester si la carte réseau fonctionne, on peut essayer de communiquer avec une autre
machine avec la commande :
Ping <adresse ip>
La commande Ping envoi un paquet a l'adresse IP puis attend que la machine réponde. Elle
affiche ensuite le temps qu'a pris toute l'opération, en millisecondes.
Informations sur les interfaces
Pour vérifier les statuts de toutes les interfaces on peut utiliser la commande :
netstat –i
Nom d'hôte (hostname)
Le fichier /etc/hostname contient le nom de la machine et du domaine. Il est lu au démarrage
du système ou lorsqu'on lance :
/etc/init.d/hostname
Configuration automatique au démarrage
Le fichier /etc/network/interfaces permet de configurer les cartes réseau. Ce fichier est lu au
démarrage du système et lorsqu'on utilise les commandes ifup et ifdown.
Si l'interface eth0 doit être configurée automatique grâce à un serveur DHCP en remplis le
fichier interfaces par : iface eth0 inet dhcp
Résolution de noms
Le fichier /etc/host.conf indique comment les noms doivent être résolus (c'est-à-dire
comment passer d'une adresse IP a un nom, et inversement). Par exemple :
Serveurs DNS
Le fichier /etc/resolv.conf contient les adresses IP des serveurs DNS (domain name system).
Par exemple : nameserver 192.168.0.4, nameserver 127.0.0.1, search ubuntu-fr.lan
Fichier hosts
Page 27
Chapitre II Administration et configuration réseau
Ce fichier indique que Nabila correspond a l'adresse IP 192.168.0.4 qui sera accessible par cet
alias.
Fichier networks
Le fichier /etc/networks permet d'affecter un nom logique à un réseau
Localhost 127.0.0.1
Nabila.ubuntu-fr.lan 192.168.0.4
Cette option permet par exemple d'adresser un réseau sur son nom, plutôt que sur son adresse.
II.5. Conclusion
Administrer un réseau, c'est tirer le meilleur parti de la structure que l'on utilise. C'est un
système dual car la conception d'une administration dépend étroitement de la structure gérée
mais le comportement futur de cette structure dépendra fortement de son administration.
Dans le prochain chapitre, nous présentons les notions de base de la supervision des réseaux.
Page 28
Chapitre II Administration et configuration réseau
Page 29
Chapitre III
SUPERVISION RESEAU
III.1.Introduction
Les réseaux sont de partout à l’heure actuelle. Ils sont devenus indispensables au bon
fonctionnement général de nombreuses entreprises et administrations. Tout problème ou
panne peut avoir de lourdes conséquences aussi bien financières qu’organisationnelles. La
supervision des réseaux est alors nécessaire et indispensable. Elle permet entre autre d’avoir
une vue globale du fonctionnement et problèmes pouvant survenir sur un réseau mais aussi
d’avoir des indicateurs sur la performance de son architecture. De nombreux logiciels qu’ils
soient libres ou propriétaires existent sur le marché. La plupart s’appuie sur le protocole
SNMP.
Dans une première partie nous allons faire une présentation de la supervision et tout ce qui
touche au monitoring de réseau. Dans une seconde partie, nous verrons le fonctionnement du
protocole le plus utilisé actuellement : le protocole SNMP.
III.2.Présentation
En informatique, la supervision est une technique de suivi, qui permet de surveiller, analyser,
rapporter et d’alerter les fonctionnements normaux et anormaux des systèmes informatiques.
Entre outre, La supervision informatique consiste à indiquer et/ou commander l’état d’un
serveur, d’un équipement réseau ou d’un service software pour anticiper les plantages ou
diagnostiquer rapidement une panne
Page 30
Chapitre III Supervision réseau
III.2.2.Objectifs
Il faut pouvoir surveiller de manière continu l’état des systèmes d’information afin d’éviter un
arrêt de production de trop longue durée. C’est là ou la supervision intervient. Elle doit
permettre d’anticiper les problèmes et de faire remonter des informations sur l’état des
équipements.
Plus le système est important et complexe, plus la supervision devient compliquée sans les
outils indispensables.
III.2.3.Principe
Une grande majorité des logiciels de supervision sont basés sur le protocole SNMP qui existe
depuis de nombreuses années. Nous en faisons la description dans la deuxième partie.
La plupart de ces outils permettent de nombreuses fonctions dont voici les principales :
La tache de l’administrateur est alors simplifiée. Il n’a plus qu’à faire une vérification ou
réaliser une action en fonction d’une alerte déclenchée. Chaque outil doit aussi lui donner une
vision globale du système d’information pour localiser les problèmes le plus rapidement
possible.
Page 31
Chapitre III Supervision réseau
III.3.1.Présentation
SNMP signifie Simple Network Management Protocol (protocole simple de gestion de réseau
en Français). C'est un protocole qui permet comme son nom l'indique, de gérer les
équipements réseaux ainsi que les machines informatiques. Ce protocole est donc utilisé par
les administrateurs réseaux pour détecter à distance les problèmes qui surviennent sur leur
réseau.
Chaque machine, que ce soit sous Windows ou sous Linux possède de nombreuses
informations capitales pour l'administrateur réseaux. On retrouve des informations comme la
quantité de RAM utilisé, l'utilisation du CPU, l'espace disque et encore bien d'autre
indicateurs.
III.3.2 .Fonctionnement
Sur une machine à superviser, pour que SNMP envoie les informations que l'on souhaite il
faut qu'un agent soit installé sur celle-ci. Cet agent écoute sur le port 161 et attend que le
serveur lui envoie des requêtes pour lui répondre.
L'agent pourra aussi envoyer des alertes lui même si l'administrateur l'a configuré. Par
exemple pour surveiller l'occupation CPU l'administrateur définira une valeur critique pour
laquelle une alerte doit lui être émise.
Pour finir l'agent pourra aussi agir sur l'environnement local. C'est pourquoi ce protocole est
critique car il peut servir a d'autres personnes mal intentionnées pour prendre le contrôle a
distance de certains équipements sur le réseau.
Page 32
Chapitre III Supervision réseau
III.3.2.3 La MIB
• Présentation
Pour que SNMP fonctionne, il est nécessaire qu'un protocole d'échange soit définit. Il y a
aussi une standardisation des informations que ce protocole peut transporter. C'est un
protocole Internet, il doit être utilisable sur des plates-formes hétérogènes (matériel comme
système d'exploitation).
C'est pour cette raison que l'on parlera de MIB (Management Information Base).En effet, la
MIB est une base de données des informations de gestion maintenue par l'agent. C’est cette
base à laquelle on va demander les informations.
• Structure de la MIB
La structure de la MIB est hiérarchique : les informations sont regroupées en arbre. Chaque
information a un OID (Object identifier), une suite de chiffres séparés par des points, qui
l'identifie de façon unique et un nom, indiqué dans le document qui décrit la MIB.
Page 33
Chapitre III Supervision réseau
set-request : Le Manager SNMP met à jour une information sur un agent SNMP
Les alertes sont transmises lorsqu’un événement non attendu se produit sur l’agent. Ce dernier
informe le manager via une « trap ». Plusieurs types d’alertes sont alors possibles : ColdStart,
WarmStart, LinkDown, LinkUp, AuthentificationFailure.
Pour chaque envoi de message, une réponse est retournée à l’exception de la commande
« trap ». Les réponses sont du type suivant :
Voici un schéma récapitulant les échanges pouvant être effectués entre un agent et le
manager :
Le protocole SNMP est principalement utilisé avec UDP/IP. (Il peut aussi utiliser TCP).
L’utilisation d’UDP permet un échange de message plus rapide que l’utilisation de TCP.
L’inconvénient est qu’il est possible de perdre des trames lors de l’échange de messages
(mode non connecté). Les ports UDP sont donc le 162 pour le manager et le 161 pour les
agents.
Page 34
Chapitre III Supervision réseau
Concrètement, dans le cadre d'un réseau, SNMP est utilisé: pour administrer les équipements
et pour surveiller le comportement des équipements Une requête SNMP est un datagramme
UDP habituellement à destination du port 161. Les schémas de sécurité dépendent des
versions de SNMP (v1, v2 ou v3). Dans les versions 1 et 2, une requête SNMP contient un
nom appelé communauté, utilisé comme un mot de passe. Il y a un nom de communauté
différent pour obtenir les droits en lecture et pour obtenir les droits en écriture.
Dans bien des cas, les colossales lacunes de sécurité que comportent les versions 1 et 2 de
SNMP limitent l'utilisation de SNMP à la lecture des informations car la communauté circule
sans chiffrement avec ces deux protocoles. Un grand nombre de logiciels libres et
propriétaires utilisent SNMP pour interroger régulièrement les équipements et produire des
graphes rendant compte de l'évolution des réseaux ou des systèmes informatiques (MRTG,
Cacti, Nagios, Zabbix...)
III.4. Conclusion
La supervision est devenue indispensable dans tout système d’information. Elle est à la base
du bon fonctionnement d’une architecture réseau et permet de réagir rapidement en cas de
problèmes ou pannes. Elle se base à l’heure actuelle principalement sur le protocole SNMP
qui depuis de nombreuses années a quand même du mal à évoluer. En effet, de nombreux
logiciels sont encore basés sur la version 1 du protocole qui commence un peu à vieillir et qui
n’est pas du tout sécurisé. En effet la version 2, apportant notamment la sécurité n’a été
qu’une phase de transition vers la v3 qui est encore très peu utilisée.
Page 35
Chapitre III Supervision réseau
Page 36
Chapitre IV
IV.1. Introduction
La complexité et la grande quantité d'informations que Voyer sur des réseaux d'ordinateurs
motiver la création d'équipements et de logiciels pour la gestion et le suivi de ces
environnements informatiques. Une de ces ressources est le Nagios, outil qui vous permet de
gérer plusieurs périphériques et services disponibles sur un réseau informatique. Le logiciel
est conçu pour les entreprises cherchant des solutions pour gérer les réseaux locaux
d'infrastructure ouverte et efficace. Il comprend des fonctions de surveillance, correction de
gestion et de la faute. En outre, il a un grand nombre de plugins qui peuvent être regroupées,
ce qui en fait un logiciel robuste et fiable.
Nagios est un logiciel qui fournit un ensemble de moyens et services pour assurer une
supervision particulièrement simple, fiable, évolutive et non-propriétaire d'un parc
informatique.
Nagios est un logiciel de supervision de réseau libre sous licence GPL qui fonctionne sous
Linux.
Il a pour fonction de surveiller les hôtes et services spécifiés, alertant l'administrateur des états
des machines et équipements présents sur le réseau.
Bien qu'il fonctionne dans un environnement Linux, ce logiciel est capable de superviser
toutes sortes de systèmes d'exploitation (Windows XP, Windows 2000, Windows 2003
Server, Linux) et également des équipements réseaux grâce au protocole SNMP.
Cette polyvalence permet d'utiliser Nagios dans toutes sortes d'entreprises, quelque soit la
topologie du réseau et les systèmes d'exploitation utilisés au sein de l'entreprise.
Page 37
Chapitre IV Système de supervision Nagios
Le projet Nagios fournit en standard bon nombre de greffons de base, mais la simplicité de
leur mode de fonctionnement nous a permis d'en écrire un certain nombre pour nos besoins
propres, que ce soit pour superviser dans notre environnement ou pour vérifier que nos
clients peuvent bien se connecter chez nous. [7]
Page 38
Chapitre IV Système de supervision Nagios
Les plugins (greffons) sont des programmes exécutables ou des scripts (perl, Shell, etc..) qui
peuvent être lancés depuis une ligne de commande pour tester un hôte ou un service.
Le résultat de l'exécution d'un plugin est utilisé par Nagios pour déterminer le statut des hôtes
ou des services sur le réseau.
Page 39
Chapitre IV Système de supervision Nagios
En mode polling, Nagios exécute un plugin pour réaliser un test à des intervalles de
temps réguliers. Il analyse ensuite la réponse et adopte un comportement en fonction
de celle-ci. Ce mode de fonctionnement entraîne une génération du trafic sur le réseau.
En mode passif, Nagios reste à l’écoute de tout ce qu’on peut lui dire. Pour
communiquer avec lui, il suffit d’installer le programme client send_nsca sur les
serveurs à superviser et de faire tourner le démon nsca sur le serveur Nagios. Dans
notre configuration, c’est le démon snmptrapd de Net-SNMP qui utilise ce programme
client via le script ‘traitement-trap’.
Quelque soit le mode de fonctionnement, Nagios remonte des alertes aux administrateurs
définis dans ses fichiers de configuration, que soit par mail, sms. Nagios met aussi en
permanence à jour sont interface web qui reflète donc en temps réel l’état du réseau et des
services.
Il est possible d'utiliser des agents de supervision permettant de récupérer des informations à
distances. Ils offrent la possibilité de profiter de la puissance offerte par les plugins. Il existe 2
types d'agents :
Le principe de fonctionnement des agents NRPE (pour Nagios Remote Plugin Executor) est
simple : les plugins sont installés sur l'équipement à superviser, compilés en fonction de son
architecture car c'est elle qui va les exécuter, ainsi que le démon NRPE faisant office de
serveur. Sur la plateforme de supervision Nagios, le plugin check_nrpe fera alors office de
client nrpe, récupérant les informations en interrogeant le démon nrpe sur l'équipement
concerné.
Le plugin check_nrpe sur le serveur Nagios initiera une connexion vers l'agent nrpe de la
machine cible et lui demandera alors l'exécution d'une vérification. L'agent nrpe lancera alors
le plugin configuré en local pour obtenir l'information et retournera le code retour de
l'exécution ainsi que sa sortie standard.
Les agents ncsa (pour Nagios Service Check Acceptor) diffèrent des agents nrpe car la
vérification est plannifiée en local sur l'équipement supervisé, exécutée, puis le résultat est
Page 40
Chapitre IV Système de supervision Nagios
envoyé au serveur Nagios. De même que pour nrpe, l'architecture ncsa demande la présence
du plugin check_ncsa sur la plateforme Nagios.
Pour notre projet, nous avons décidé d'utiliser le type de récupération active, c'est-à-dire que
Nagios prend l'initiative d'envoyer une requête pour obtenir des informations. Ceci évite donc
de configurer les postes à superviser. [5]
Page 41
Chapitre IV Système de supervision Nagios
En attente
Inconnu
Surveillance des services réseaux (SMTP, POP3, HTTP, NNTP, PING, etc.).
Surveillance des ressources des hôtes (charge processeur, utilisation des disques, etc.).
Système simple de plugins permettant aux utilisateurs de développer facilement leurs
propres vérifications de services.
Notifications des contacts quand un hôte ou un service a un problème et est résolu (via
email, pager, ou par méthode définie par l’utilisateur).
Possibilité de définir des gestionnaires d’évènements qui s’exécutent pour des
évènements sur des hôtes ou des services, pour une résolution des problèmes
Interface web, pour voir l’état actuel du réseau, notification et historique des
Problèmes, fichiers etc.
Inconvénients
Configuration compliquée qui oblige une très bonne connaissance de Nagios.
Graphes pas assez clairs.
Administration compliquée. [2]
Page 42
Chapitre IV Système de supervision Nagios
Comme les plugins NRPE et NSCA (disponible seulement sous Linux et Mac OS X),
NSClient se base sur une architecture client/serveur. La partie cliente (nommée check_nt),
doit être disponible sur le serveur Nagios. La partie serveur (NSClient++) est à installer sur
chacune des machines Windows à surveiller.
Check_nt
Le plugin Check_nt est un plugin récent qui permet de superviser très facilement des PC dont
le système d'exploitation est Windows.
Check_nt permet de récupérer sur un système Windows les informations suivantes :
L'espace occupé sur le disque dur, le temps depuis le démarrage de l'ordinateur, la version du
plugin NsClient ++, occupation du processeur, occupation de la mémoire, état d'un service.
Fonctionnement de check_nt
Lorsque Nagios veut connaître une information sur un PC, il exécute le plugin check_nt.
Celui envoie une requête au PC. Sur le PC, le programme NsClient++ reçoit la requête, va
chercher les informations dans les ressources du PC et renvoie le résultat au serveur Nagios.
Usage
Pour aller chercher les informations sur un PC grâce à check_nt, Nagios exécute une
commande ayant la syntaxe suivante :
check_nt -H host -v variable [-p port] [-w warning] [-c critical][-l params]
Avec :
-H : Adresse IP de l'hôte à superviser
-v : ce qu'il faut superviser (ex : CPULOAD
-p : Port sur lequel il faut envoyer la requête
-w : Seuil pour lequel le résultat est considéré comme une alerte
-c : Seuil pour lequel le résultat est considéré comme critique
-l : Paramètres supplémentaires (nécessaire ou non en fonction du paramètre "v")
Pour notre projet, nous utiliserons ce plugin pour superviser tous les postes Windows sauf
pour contrôler l'espace des dossiers des profils des utilisateurs. En effet, ce plugin ne permet
pas d'effectuer cette vérification. Nous utiliserons un autre plugin pour cela.
Page 43
Chapitre IV Système de supervision Nagios
Check_nrpe
Le plugin Check_nrpe est un plugin qui permet de superviser des PC dont le système
d'exploitation est Windows ou Linux.
Check_nrpe utilise une connexion SSL (Secure Socket Layout) pour aller chercher les
informations sur les postes. Ceci permet de crypter les trames d'échanges.
Fonctionnement de check_nrpe
Lorsque Nagios veut connaître une information sur un PC, il exécute le plugin check_nrpe.
Celui envoie une requête au PC. Sur le PC, le programme NsClient++ (ou nrpe si linux) reçoit
la requête, va chercher les informations dans les ressources du PC et renvoie le résultat au
serveur Nagios.
Usage :
Pour aller chercher les informations sur un PC grâce à check_nrpe, Nagios exécute une
commande ayant la syntaxe suivante :
check_nrpe -H <adresse de l'hôte à superviser> -c <nom de la commande à exécuter sur le
serveur>
Puis sur les postes à superviser, dans le fichier de configuration (NSC.ini pour Windows,
nrpe.conf pour Linux), on doit définir la commande à exécuter pour chaque nom de
commande.
Exemple pour Windows :
Command [check_cpu]=inject checkCPU warn=80 crit=90 5 10 15
Exemple pour Linux:
Command[check_cpu]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
Ces deux commandes vérifient la charge du processeur.
On remarque alors que la mise en place de nrpe dans une grande entreprise est très complexe
car il faut configurer toutes les commandes sur chaque hôte à superviser (contrairement à
check_nt qui ne nécessite pas de configuration). En revanche, nrpe offre une meilleure
sécurité puisque les échanges client – serveur sont sécurisés (grâce à SSL).
Check_snmp
Le plugin Check_snmp est un plugin qui permet de superviser tous les équipements. En
revanche, il est très instable pour superviser les PC.
Nous utiliserons check_snmp pour superviser le routeur.)
Fonctionnement de check_snmp
Page 44
Chapitre IV Système de supervision Nagios
La MIB (Management Information Base) est une base de données sur le routeur qui stocke
toutes les informations de celui-ci (statistiques, débit, état des interfaces…).
Lorsque Nagios veut connaître une information sur le routeur, il exécute le plugin
check_snmp. Celui envoie une requête au routeur. Le routeur reçoit la requête, va chercher les
informations dans sa MIB et renvoie le résultat au serveur Nagios.
Usage :
Pour aller chercher les informations sur le routeur grâce à check_snmp, Nagios exécute une
commande ayant la syntaxe suivante :
check_snmp -H <adresse de l'hote à superviser> –o <adresse de l'information a récupérer
dans la MIB> -C<communauté SNMP>
Check_ping
Le plugin Check_ping est un plugin qui permet de vérifier qu'un hôte est bien joignable.
Usage :
Pour vérifier qu'un hôte est joignable, Nagios exécute une commande ayant la syntaxe
suivante :
check_ping -H <adresse de l'hôte> -w <temps maxi de
réponse>,<Pourcentage de réussite des pings> -c<temps maxi de réponse>,<Pourcentage de
réussite des pings>
Avec:
-w : Seuil pour lequel le résultat est considéré comme une alerte
-c : Seuil pour lequel le résultat est considéré comme critique [6]
IV.4 Conclusion
Nous avons présentés dans ce chapitre les notions de base de la supervision par Nagios qui est
indispensable dans tout système d’information. Elle est à la base du bon fonctionnement
d’une architecture réseau et permet de réagir rapidement en cas de problèmes ou pannes. Dans
le prochain chapitre nous présentons les étapes de configuration et administration de notre
projet« Nagios ».
Page 45
Page 46
Chapitre V
CONFIGURATION ET ADMINISTRATION
V.1 Introduction
Nagios est un outil libre et open-source qui est utilisé pour contrôler et monitorer les éléments
et les services sur un réseau. Lorsqu'il détecte un problème il envoie des messages d'alerte,
soit par mail, soit par d'autres techniques. Il peut aussi être configuré afin qu'un personnel
désigné peut accéder à des informations, des services ou des équipements particulièrs. Ce
chapitre vous explique comment mettre en place Nagios sur un Ubuntu 9.10 server.
Avant d'installer Nagios, il est préférable d'installer le serveur web Apache (c'est plus
commode pour tester le bon fonctionnement de Nagios). Sans entrer dans les détails
d'installation d'Apache, vous pouvez déjà avoir un serveur web fonctionnel en installant le
paquet apache2.
Ensuite, il ne vous reste plus qu'à installer Nagios proprement dit, installer le paquet nagios-
text.
Installer le paquet nagios3 (apache2 s'installera automatiquement car c'est une dépendance).
V.3. Configuration
Pour configurer le serveur Apache de telle manière que Nagios soit accessible, le paquet
Nagios fait un lien symbolique /etc/apache2/conf.d/nagios.conf vers
etc/nagios3/apache.conf.
/etc/init.d/apache2 restart
Page 47
Chapitre V Configuration et administration de Nagios
/usr/sbin/useradd nagios
passwd nagios
Sur les versions server d’Ubuntu, vous allez devoir créer manuellement un groupe
d'utilisateur nagios (il n'est pas créé par défaut).
/usr/sbin/groupadd nagios
Créez un nouveau groupe nagcmdqui permettra d'exécuter certaines commandes externes par
l'intermédiaire de l'interface WEB. Placez ensuite dans ce groupe les utilisateurs nagios et
apache.
/usr/sbin/groupadd nagcmd
Créez un compte nagiosadmin pour se connecter à l'interface Web de Nagios. N'oubliez pas le
motde passe, vous en aurez besoin plus tard.
/etc/nagios3/
Ces fichiers d'exemple peuvent fonctionner correctement pour démarrer avec Nagios. Vous
allez avoir besoin d'effectuer une petite modification avant de continuer...
Page 48
Chapitre V Configuration et administration de Nagios
make install-webconf
/etc/init.d/apache2 restart
Démarrage de Nagios
/etc/init.d/nagios3 restart
Vous devriez pouvoir maintenant accéder à l'interface Web de Nagios avec l'adresse ci-
dessous. Le nom d'utilisateur (nagiosadmin) et le mot de passe définis précédemment vous
sont demandés. http://localhost/nagios/
Page 49
Chapitre V Configuration et administration de Nagios
Cliquez sur le lien "Service Detail" de la barre de navigation pour voir ce qui est surveillé sur
votre machine locale. Quelques minutes seront nécessaires à Nagios pour vérifier tous les
services associés à votre machine.
Page 50
Chapitre V Configuration et administration de Nagios
Maintenant, nous allons lister les principaux fichiers de configuration de Nagios. Ils ne sont
pas tous mentionnés, seulement les plus importants. Ces fichiers se trouvent dans le répertoire
/etc/nagios du répertoire d’installation de Nagios.
Page 51
Chapitre V Configuration et administration de Nagios
Fichiers Description
cgi.cfg Configuration du site web et des cgi (authorization).
Nous allons à présent voir à titre d’exemple quelques extraits choisis de ces fichiers de
configuration. Le but est aussi pédagogique puisqu’il va nous permettre de concrétiser ce que
nous avons vu depuis le début.
Page 52
Chapitre V Configuration et administration de Nagios
V.4. Nsclient++
NSClient se base sur une architecture client/serveur. La partie cliente (nommée check_nt),
doit être disponible sur le serveur Nagios. La partie serveur (NSClient++) est à installer sur
chacune des machines Windows à surveiller.
Page 53
Chapitre V Configuration et administration de Nagios
Une fois le client et le serveur installé, il faut configurer Nagios de la manière suivantes. Il
faut dans un premier temps éditer votre fichier de configuration des hosts (hosts.cfg par
défaut) et y ajouter votre machine Windows:
Define host {
use generic-hosthost_name nabila
Puis ajouter les services offerts par NSClient (dans le fichier services.cfg):
# Charge CPU
# WARNING si charge > 80% pendant plus de 5 minutes
# CRITICAL si charge > 90% pendant plus de 5 minutes
define service {
use generic-service
host_name benaissa
Page 54
Chapitre V Configuration et administration de Nagios
service_description CPU
check_command check_nt!CPULOAD!-l 5,80,90}
# Etat de la mémoire vive libre
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name benaissa
service_description MEM
check_command check_nt!MEMUSE!-w 80 -c 90}
# Etat de la mémoire disque libre (sur disque c:)
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name benaissa
service_description DISK
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90}
Pour monitorer des clients Windows avec Nagios il faut passer par l’installation d’un agent
nagios, ici le choix se portera sur NSClient
mais il en existe d’autres comme NCNET. NSClient communiquera directement avec Check
NT (voir schéma fonctionnel).
Page 55
Chapitre V Configuration et administration de Nagios
vim /usr/nagios/etc/nagios.cfg
#cfg_file=/usr/nagios/etc/objects/windows.cfg
vim /usr/nagios/etc/objects/windows.cfg
Ensuite suivant les services que vous voulez surveiller il faut rajouter le nom d’hôte toujours
dans le même fichier :
vim /usr/nagios/etc/objects/commands.cf
Il faudra se rappeler de ce mot de passe car on l’utilisera plus tard pour la config client.
Page 56
Chapitre V Configuration et administration de Nagios
Une fois télécharger il faut dézipper l’archive par exemple dans C : maintenant il faut ouvrir
une invite de commande dans C:\NSClient Et tapez ce qui suit :
nsclient++.exe /install
nstray.exe
Page 57
Chapitre V Configuration et administration de Nagios
Ensuite il faut changer le password dans la section [Settings] pour que le client communique
avec Nagios. On a entré le password pour nagios un peu plus haut, bien entendu il faut que ce
soit le même.
Ensuite il faut vérifier la ligne ou se configure le port sur lequel NSClient va communiquer
par défaut c’est le 12489 (décommenter la ligne si elle est commentée et penser bien à l’ouvrir
dans le pare-feu en TCP)
nsclient++.exe /start
Page 58
Chapitre V Configuration et administration de Nagios
V.5.Conclusion
Avec les tests que nous pouvons conclure que Nagios est un outil qui fournit une analyse du
trafic, le contrôle des liens, services de vérification et même de dispositifs qui prennent en
charge SNMP avec Nagios. Malgré la complexité dans la mise en, pourrait déployer un
système qui permet au gouvernement central pour contrôler l'ensemble du réseau et d'alerter
la personne responsable pour les points de défaillance sont rapidement résolus.
Page 59
Page 60
Conclusion générale
Nous sommes intéressées dans notre projet par un service importante pour un administrateur
réseau notre travail a été consacré sur la notion de base de la supervision qui est devenue
indispensable dans tout système d’information.
Lorsqu'il y a un nombre important d'ordinateurs dans une entreprise, cela devient très difficile
à gérer. C'est pourquoi il est utile d'utiliser un logiciel qui aide l'administrateur à superviser
tout son parc informatique.
Il faut pouvoir surveiller de manière continu l’état des systèmes d’information afin d’éviter un
arrêt de production de trop longue durée. C’est là ou la supervision intervient. Elle doit
permettre d’anticiper les problèmes et de faire remonter des informations sur l’état des
équipements. Donc nous avons donnés tous les étapes nécessaires de l’installation et de
configuration d’un service de supervision Nagios.
Nagios est un logiciel qui fonctionne sous Linux et qui permet d'effectuer cette supervision.
Il utilise des plugins pour communiquer avec les machines hôtes et ainsi avoir une vue globale
du réseau, avec les états des différentes machines.
De plus notre projet peut être développé par ceux qui veulent continuer ce travail pour rendre
le système plus sécurisé et performant.
Page 61
Page 62
Bibliographie
[4] François Borderies, Olivier Chatel, Jean-Christophe Denis, Didier Reis, Administration
Réseau,1 juillet 1993.
[5] www.nagios.org/download/
[6] www.guellec.fr/ressources/articles/nagios.php
[7] http://doc.ubuntu-fr.org/nagios
[9] WWW.RESEAUMAROC.COM
[10] www.nicosphere.net/lunix
[11] http://lunixetleschoses.tuxfamily.org
[12]. http://www.guill.net
Page 63
ملخص
.إٌ انشبكاث انًعهىياحيت أصبحج كثيرة االسخعًال واالَخشار فهي حعًم عهى حسهيم كثير يٍ يهاو اإلدارة وانًؤسساث
Nagios إٌَ هدفُا األساسي قائى عهى إدارة وحُصيب خادو انًراقبت
Nagios. انشبكت انًراقبت,: كلمات رئيسية
Résumé
Les réseaux d’information sont largement utilisés. Ils facilitent des de nombreuses tâches
d'administration et des institutions
Notre objectif principal est d’administrer et configurer un service de supervision représenté par
l’outil Nagios
Mots clés : Supervision, Réseaux NAGIOS
Abstract
Information networks are widely used. They facilitate the many tasks of administration and
institutions
Our principal objective of this work is to manage and configure a service of supervision
represented by the Nagios tool.
Keywords: Supervision; Network, NAGIOS
Page 64