Rapport Du Projet Du Fin Detude
Rapport Du Projet Du Fin Detude
Rapport Du Projet Du Fin Detude
INTRODUCTION
Les entreprises d’aujourd’hui sont de plus en plus dépendantes de leur système
d’information et sont par conséquent de plus en plus vulnérables. La perte d’un serveur ou
d’un actif réseau peut ralentir, voire stopper complètement leurs activités.
Les besoins en termes de disponibilités et de qualité de service n’ont jamais été aussi
importants. Réagir rapidement en cas de panne devient donc absolument indispensable.
C’est pourquoi les administrateurs réseau font appel à des logiciels de surveillance et
de supervision des réseaux. Ces logiciels vérifient l’état de réseau ainsi que les machines
connectées et permettent à l’administrateur d’avoir une vue de l’ensemble du parc
informatique à superviser.
Dans le domaine de réseau un logiciel fait office de référence. Il s’installe sur une
machine possédant un système d’exploitation linux, mais peut superviser aussi bien des
machines linux que Windows. Cet outil permet également une supervision des équipements
réseaux (Switch, routeur,…).
Présentation de l’organisme
d’accueil
I. Présentation
La société nationale de cellulose et de papier d’alfa (SNCPA) est une société créée en
1959, suite à la fusion de la (STPA) : société Tunisienne de papier alfa (1968) par la société
nationale Tunisienne de cellulose (SNTC) créée en 1956 et ce suite à la décision du
ministère de tutelle (1980).
Le siège social et l'usine dans la ville de Kasserine et la société dispose entre autres
d'une administration à Tunis et de trois agences sises à Tunis, Sousse et Sfax. L’activité de
la société se présente comme suit :
La fabrication de la pate d'alfa et de papier.
L’achat, l'importation ou la fabrication des matières nécessaires à la fabrication de la
pâte et de papier.
La commercialisation des produits chimiques fabriqués par l'unité soude-chlore.
La commercialisation du papier et de la pate d'alfa.
Le but de ce projet est donc de trouver une solution optimale pour la gestion des
serveurs 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 fixer le plus rapidement possible.
Il existe des solutions de supervision libres et professionnelles. Parmi les plus répandues,
reconnues du moment nous pouvons citer Nagios, Zabbix.
Nagios Zabbix
-Modulaire. -Homogène.
-Possibilité de repartir la
supervision entre plusieurs
administrateurs.
-Communauté de
développeurs limitée.
Une des particularités captivantes de Nagios est sa modularité, on a ainsi estimé que
Nagios a été plus adapté aux besoins de notre 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) et Yellow pipe Web Hosting (7000 serveurs) …
CHAPITRE 1 :
Etude Préalable
Introduction
I. Présentation du projet :
Le nombre des machines dans ces réseaux peut parfois devenir extrêmement élevé donc la
maintenance et la gestion de parc informatique deviennent alors des enjeux, d’autant plus
qu’une panne peut parfois avoir des conséquences catastrophiques.
Objectifs :
Il s’agit d’utiliser une application web qui permet la supervision système. Cette
interface doit être une solution modulaire simple et intuitive possible de façon à ne
nécessiter aucun apprentissage particulier.
C’est une application permettant la surveillance système et réseau. Elle surveille les
hôtes et services spécifiés, alertant lorsque les systèmes ont des dysfonctionnements et
quand ils repassent en fonctionnement normal.
1. Les plugins :
Le principe de fonctionnement de Nagios repose sur l’utilisation de plugins.
Un plugin est un programme modifiable, qui peut être écrit dans plusieurs langages
possibles, selon les besoins, et qui servent à récupérer les informations souhaitées.
Nagios, par l'intermédiaire de son plugin, contacte l'hôte souhaité et demande des
informations qu'il souhaite recevoir.
La relation entre le noyau et les plugins est assurée 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 le tableau 2 :
1 Ok Tout va bien
2. Package :
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 :
IV. Fonctionnalités :
Nagios permet :
Supervision réseaux
La notification par différents
moyen de communication
(SMS, email,..)
Rapporting Nagios
Supervision de ressource
système
V. Architecture :
L’architecture globale de Nagios peut être décomposée en 3 parties coopératives entre elles :
Un ordonnanceur :
Nagios est d’abord un moteur gérant l’ordonnancement des vérifications, ainsi que les
actions à prendre sur incidents (alertes, escalades, prise d’action corrective).
La partie visible à travers un simple serveur web, tel qu’Apache, est basée sur des CGI
(Common Gateway Interface).
Des sondes :
Les sondes de Nagios sont des petits scripts ou programmes qui sont la base des
vérifications.
Sondes
ordonnanceur
Chapitre 2 :
Réalisation
I. Environnement de réalisation :
Dans cette partie, nous présentons l’environnement de réalisation de l’application qui
comprend
Environnement matériels
Environnement logiciels
1. Environnement matériel :
L’implémentation de notre application a été réalisée sur un ordinateur ayant les
caractéristiques suivantes :
Marque : HP
Processeur : Intel® Inside core i3
RAM : 4 G
Disque dur
2. Environnement logiciel :
La réalisation de notre application nécessite l’environnement logiciel suivant :
3. Réalisation du système :
Pour avoir une application complète, nous devons fournir les étapes suivantes :
1. Installation et configuration :
Pour le bon fonctionnement de notre application il faut suivre les étapes suivantes :
Nous créons un nouveau groupe nagcmd pour permettre des commandes externes à
soumettre via l'interface web. Nous ajoutons l'utilisateur Nagios et l'utilisateur
apache au groupe.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.1.1.tar.gz
o Installer Nagios :
cd nagios-4.1.1
Nous entrons les commandes suivantes pour compiler et installer interface web
Nagios.
Donc, nous exécutons la commande suivante au lieu d'utiliser « sudo make install-
webconf ».
sudo ls –l /etc/apache2/sites-enabled/
Nous redémarrons Apache pour que les nouveaux paramètres prennent effet.
cd nagios-plugins-2.1.1/
Configuration de Nagios :
Et nous modifions les lignes suivantes pour accéder à la console d'administration de Nagios
à partir d'une plage d’adresse 192.168.18.0/24.
Order deny,allow
Pour vérifier le bon fonctionnement du Nagios, il faut comparer les deux fichiers
« nagios.cfg » se travant respectivement sous les répertoires « /usr/local/nagios/bin » et
« /usr/local/nagios/etc ».
Définition :
(Nagios Remote Plugin Executor) est un "Addons" pour Nagios qui permet d'exécuter
des greffons (plugins) sur un serveur (Linux/Unix ou Windows) distant. Cela permet de
surveiller des ressources locales (charge du processeur, utilisation de la mémoire, espace
disque...) qui ne sont normalement pas disponibles depuis d'autres machines.
Installation :
Dans laquelle nous trouvons le groupe, le nom, l’alias et l’adresse du client ajouté
define host {
Par exemple, pour surveiller le service du mémoire utilisé, nous ajoutons les lignes
suivantes dans le fichier "/usr/local/nagios/etc/objects/windows.cfg".
Define service {
use generic-service
host info2-PC
Nous accédons à la section des services sur la barre gauche. Nous trouvons tous les services
que nous ajoutons.
Paquet perdu,
Temps moyen de parcours (round trip average)
Information d'état SNMP Trafic / bande passante consommée
Notre switch doit supporter le SNMP, nous pouvons superviser l'état des ports, avec le
plugin check_snmp et la bande passante avec check_mrtgtraf plugin (si nous utilisons
MRTG).
gedit /usr/local/nagios/etc/nagios.cfg
#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
Configuration de Nagios :
Nous allons créer quelques définitions d'objets pour pouvoir superviser un nouveau
switch.
gedit /usr/local/nagios/etc/objects/switch.cfg
Nous ajoutons une nouvelle définition d’hôte pour le Switch que nous supervisons, comme
ci-dessous
define host{
use generic-switch
Dans le même fichier de configuration, nous ajoutons maintenant des définitions des
services pour superviser différents aspects de notre Switch.
define service{
use generic-service
host_name myrouter
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5 18
retry_check_interval 1
}.
Générer des graphiques et des rapports basés sur le Web des données de
performance.
Installation :
wget http://downloads.sourceforge.net/project/nagiosgraph/nagiosgraph/1.4.4/nagiosgraph-1.4.4.tar.gz
cd nagiosgraph-1.4.4
Nous exécutons le script install.pl avec l'option --check-prereq. Cela nous donnons un
aperçu des toutes les dépendances que nous devrons installer.
./install.pl --check-prereq
Carp...1.29
Cgi...3.63
Data::dumper...2.145
File::basename...2.84
File::find...1.23
Mime::base64...3.13
Posix...1.32
Rrds...1.4007
Time::hires...1.9725
Gd...2.39
Nous allons passer pour installer le nagiosgraph sur la machine. Nous exécutons le script
install.pl avec l'argument --install.
./install.pl –install
...
nagiosgraph/etc]
share]
log]
Maintenant, nous allons modifier certains fichiers de configuration de Nagios pour le bon
fonctionnement de Nagios.
gedit /usr/local/nagios/etc/nagios.cfg
process_performance_data=1
service_perfdata_file=/tmp/perfdata.log
service_perfdata_file_template=$LASTSERVICECHECK$||$HOSTNAME$||$SERVICEDE
SC$||$SERVICEOUTPUT$||$SERVICEPERFDATA$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=30
service_perfdata_file_processing_command=process-service-perfdata-for-nagiosgraph
Maintenant nous déplaçons vers le fichier configuration : / usr / local / nagios / etc /
objets et ajoutons la définition de la commande suivante :
gedit /usr/local/nagios/etc/objects/commands.cfg
define command {
command_name process-service-perfdata-for-nagiosgraph
command_line /usr/local/nagiosgraph/bin/insert.pl
6. Installation du MRTG :
Définition
Multi Router Traffic Grapher (MRTG) est un logiciel développé sous licence
GNU/GPL. Ce logiciel permet de créer des graphiques sur le trafic réseau. Il utilise le
protocole SNMP pour interroger des équipements réseaux tels que des routeurs, des
commutateurs, ou bien encore des serveurs.
Installation :
cp /root/-4.1.1/sample-config/mrtg.cfg /usr/local/nagios/etc
mkdir -p /usr/local/nagios/share/stats
gedit /usr/local/nagios/etc/mrtg.cfg
WorkDir: /usr/local/nagios/share/stats
/usr/bin/indexmaker /usr/local/nagios/etc/mrtg.cfg--output=/usr/local/nagios/share/stats/index.html
Enfin, nous créons une tâche pour exécuter MRTG toutes les 5 minutes :
etc/cron.d/mrtg-nagios
gedit etc/cron.d/mrtg-nagios
Nous allons maintenant ajouter deux liens au menu Nagios à ces nouveaux outils.
gedit /usr/local/nagios/share/side.php
<div class="navsection">
<div class="navsectionlinks">
<ul class="navsectionlinks">
</ul>
</div>
</div>
</div>
Enfin, nous vérifions les fichiers de configuration de Nagios pour les erreurs et redémarrons
les services de Nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nous ouvrions l’interface Nagios dans le navigateur Web et nous accédons a l’icône
« MRTG stats »
Définition :
NSClient++ est un service pour toutes versions de Windows (NT, 2000, 2003, 2008, XP) qui
combine les fonctionnalités d’un agent de supervision dédié à l’environnement Windows.
Installation :
Puis, nous sélectionnons l’icône «Generic » puis nous cliquons sur « Next »
Dans l'étape suivante, nous configurons l'agent NSClient ++. Ces étapes sont importantes :
nous entrons l'adresse IP du serveur Nagios de base dans les hôtes autorisés
nous entrons un mot de passe dans la zone de mot de passe NSClient qui sera
nécessaire pour la communication entre le serveur Nagios et la machine.Windows
nous cochons les cases suivantes dans les modules à charger la section :
Nous cliquons sur le bouton « Installer » sur l'écran suivant pour commencer
l'installation.
gedit /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nt
Maintenant, nous configurons Nagios, afin qu’il puisse superviser l’hôte Windows avec
le plugin check_nt.
gedit /usr/local/nagios/etc/objects/windows.cfg
Une fois le fichier ouvert, nous pouvons déclarer l’hôte en indiquant son nom ainsi que son
adresse IP :
define host{
Nous allons définir un service dans le même fichier pour l’hôte Windows.
define service {
use generic-service
host_name info2-PC
check_command check_nt!CLIENTVERSION
L’icône « MRTG » : on trouve des graphes concernant le trafic réseau les routeurs
et les switchs.
L’icône « NAGIOS GRAPH » : il est composé des graphes pour les services.
L’icône « Hosts » : cette icône contient l’ensemble des hôtes ajoutés.
L’icône « services » : cette icône contient l’ensemble des services pour chaque hôte.
L’icône « Hostgroups » : contient les membres de chaque groupes crées.
L’icône « Problems » : dans laquelle apparaisse les problèmes existants.
Le test contient les différents changements que nous pouvons obtenir pour les hôtes et les
services.
Chaque machine contient un ensemble des services. L’état de ces services change selon
leurs statuts dans le client.
Exemple :
Par exemple :
A l’état normal :
On remarque que lorsque le client « Rafika-gharsali » est connecté, son état devient
« OK » et le temps écoulé de son démarrage est « 1heure et 36 minutes ».
Nous avons affiché le graphe de la machine « hppc » pour le service « CPU load »
pour monter les différents changements qui apparaissent.
Exemple :
Etat du routeur :
Nous allons faire un test sur le routeur «myrouter » :
L’état « UP » :
L’état « DOWN » :
Le routeur contient aussi un ensemble des services qui varient selon leurs états.
Nous allons maintenant faire un rapport sur les services d’une machine durant demi-jour
et présenter le graphe pour le temps d’état “Ok“ pour ses services supervisés.
TIME_OK_UNSCHEDULED
0%
18%
23%
"C:\ Drive Space"
0% "CPU Load"
"HTTP"
"Memory Usage"
19%
"NSClient++ Version"
21% "PING"
"Uptime"
19%
La figure résume l’état d’activation de sept services supervisés pendant une demi-journée.
Pour la même machine nous allons décrire le temps total d’état Warning pour ces services
TOTAL_TIME_WARNING
11%
26%
10% "C:\ Drive Space"
"CPU Load"
"HTTP"
"Memory Usage"
25% "Uptime"
10% 0%
Après l’ajout des hôtes, des switches et ces services, Nagios crée une map dans laquelle
nous trouvons tous ces clients :
CONCLUSION GENERALE
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 nous avons déjà explicité dans
notre étude, la supervision est un des moyens indispensables pour favoriser la croissance de
rendement d’une entreprise.
Le propos de ce projet était de choisir une solution qui répandait aux besoins
organisationnels et financiers de l’entreprise et il n’y’avait pas mieux pour satisfaire ce
besoin que Nagios. L'utilisation de Nagios a permis la constitution d'une solution de
monitoring à la fois puissante et efficace.
Webographie
http://www.unixmen.com/how-to-install-nagios-core-4-1-1-in-ubuntu-15-10/
http://www.linuxfunda.com/2013/04/02/steps-to-configure-nagiosgraph-with-nagios-
core/
http://srsystemadminscripts.blogspot.com/2015/12/nagios-411-addming-mrtg-to-nagios-
core.html#
http://doc.monitoring-fr.org/3_0/html/gettingstarted-monitoring-windows.html
http://doc.monitoring-fr.org/3_0/html/gettingstarted-monitoring-routers.html#
https://fr.wikipedia.org/wiki/Supervision_(informatique)
https://www.ansi.tn/fr/documents/guides/guides/supervision_sysres_nagios_centreon.pd
f
http://pf-
mh.uvt.rnu.tn/573/1/Mise_en_place_d%E2%80%99un_syst%C3%A8me_de_supervision_O
pen_source..pdf
http://blog.zenmail.biz/nagios-surveiller-vos-serveurs-windows-avec-nsclient/
http://wiki.monitoring-fr.org/nagios/nagios-nsclient-host