Professional Documents
Culture Documents
Rabat de la Privatisation
Rapport de stage
Effectué au :
Titre :
Supervision du Réseau
2
Plan
Introduction
I. Présentation du MFP
II. L’organigramme du MFP
III. Présentation de la Direction du Trésor et des Finances Extérieures (DTFE)
IV. Service informatique
B. Supervision de réseau
C. Mise en œuvre
I. Installation de Nagios
II. Installation des plugins
III. Configuration de l’interface web
IV. Configuration de Nagios
V. Ajout d’un script dans les commandes Nagios
• Service SNMP
Conclusion
3
Introduction
Le projet qui m’a été confié est de développer un logiciel libre qui permet
la supervision du réseau.
4
A. Présentation du Ministère des Finances et de la Privatisation :
• D’élaborer le projet de loi de finances sur la base des scénarios de politique économique et
financière ;
• d'élaborer le rapport accompagnant le projet de loi de finances et exposant les grandes lignes
de l'équilibre économique et financier ;
• d'assurer le recouvrement des recettes publiques et le paiement des dépenses publiques ainsi
que la gestion de la trésorerie publique ;
• d'assurer la liquidation et le paiement des rémunérations du personnel civil et militaire de
l'Etat et le paiement des pensions, rentes et allocations ;
• de viser les projets de textes susceptibles d'avoir une incidence financière directe ou
indirecte;
• d'assurer le contrôle financier de l'Etat sur les offices, établissements publics et sociétés
concessionnaires ainsi que sur les sociétés et organismes bénéficiant du concours financier de
l'Etat ou des collectivités publiques ;
5
• de définir les conditions de l'équilibre financier interne et externe, d'assurer la mobilisation
des ressources nécessaires à cet effet, d'élaborer et de mettre en oeuvre la politique
d'endettement ;
• d'assurer la tutelle sur les intermédiaires financiers, les banque, les établissements de crédit et
le marché des capitaux, de réglementer et de suivre leur activité ;
• d'effectuer les actes d'administration et de disposition sur les biens mobiliers et immobiliers
constituant le patrimoine privé autre que forestier de l'Etat ;
En outre, ce Ministère exerce les pouvoirs du Ministère chargé de la mise en oeuvre des
transferts des entreprises publiques au secteur privé tels que fixés par le décret n° 2.90.403 du
25 rabia I 1411 (16 octobre 1990). A ce titre, il est chargé notamment :
• de donner son avis sur tout projet de cession d'actifs ou de participations d'entreprises
publiques, de fusion d'entreprises publiques, d'augmentation ou de réduction de la partie
sociale détenue par l'Etat dans le capital des entreprises publiques présenté par l'organe
délibérant ;
• de préparer, en concertation avec les ministres concernés, les contrats programmes à conclure
avec les établissements et entreprises publics, destinés à définir les relations entre l'Etat et
lesdits organismes et en suivre l'exécution …
6
II. L’organigramme du MFP :
• faire toute proposition et de procéder a toute étude de nature a éclairer les choix du
Ministre en matière de politique financière, monétaire, du crédit et de l'endettement;
7
• assurer les conditions d'équilibre du trésor, d'établir la situation prévisionnelle des
charges et ressources et d'identifier et de mettre en oeuvre, en relation avec la Trésorerie
Générale du Royaume, les moyens de gestion de la trésorerie publique. La Direction
procède à cet effet aux émissions et placements d'emprunts du Trésor ;
• assurer la gestion des ressources humaines qui lui sont rattachées et des ressources
matérielles qui lui sont affectées ainsi que de concevoir et de gérer ses systèmes
d'information, en harmonie avec la politique de gestion des ressources et de l'information
développée par le ministère.
Les principales missions du service informatique au sein de la DTFE sont les suivantes :
8
B. Supervision de réseau :
La supervision de réseau peut être définie comme l’utilisation de ressources réseaux adaptées dans le
but d’obtenir des informations (en temps réel ou non) sur l’utilisation ou la condition des réseaux et
de leurs éléments afin d’assurer une bonne qualité et une répartition optimale de ceux-ci, elle a pour
objet :
Il existe de nombreuse plateformes du réseau, certaines se contentent de connaître à tout instant l’état
des nœuds du réseau, d’autres permettent également de connaître l’état des services sur ces nœuds,
les derniers offrent la possibilité de ressortir de nombreuses statistiques du réseau permettant une
analyse assez fine.
Les éditeurs se sont alors lancés dans la course aux produit de supervision, deux familles
apparaissent, celle proposant des solutions généraliste supervisant le réseau, les serveurs, les
applications, les sites web, … etc (comme Patrol, MAinview, Unicenter, Tivoli, BigBrother …) et
l’autre qui supervise des domaines plus spécifiques comme gérer l’aspect de sécurité (Panorama)
ou comme superviser les applications (PathWAI).
Il existe des solutions de supervision libre qui sont professionnelles, le plus répandu et le plus suivi
par la communauté des développeurs est :
9
III. Nagios :
1. Présentation :
Nagios est un logiciel de supervision des systèmes et des réseaux développé pour des
plateforme linux.
Il supervise des hôtes (serveurs, stations de travail, routeurs, ...) et des services (http,
ftp, smtp, pop3, ...). Cependant, il ne fait pas d'analyse de trafic, de reniflage de
paquet, etc. Nagios est en fait l'évolution de Netsaint, auquel de nouveaux outils ont
été ajoutés et de nombreuses corrections apportées.
Le but principal de Nagios est de surveiller les services qui fonctionnent sur la
machine et qui sont fournis par les serveurs ou les dispositifs physiques du réseau. Il
est évident que si un serveur ou un dispositif sur le réseau est hors service, tous les
services qu'il offre sont également indisponibles. De même, si un serveur devient
inaccessible, Nagios ne pourra pas surveiller les services qui lui sont liés.
Nagios n'informe que les contacts concernés des problèmes d'un serveur ou de son
inaccessibilité. Si la commande de contrôle du serveur renvoie un état OK, Nagios
identifiera que le serveur est fonctionnel et enverra seulement une alerte pour le
service qui pose problème.
2. Fonctionnalités de Nagios :
Supervision d'hôtes, services, ressources (charge processeur, espace disque, ...)
Hiérarchisation des hôtes et des services permettant la détection et la distinction entre les
pannes et l'inaccessibilité
Système de notification à des contacts de l'apparition ou de la disparition de problèmes via
email, pager ou toute méthode définie par l'utilisateur
Possibilité de définir des gestionnaires d'événements lancés automatiquement à l'apparition
d'un événement pour une résolution préventive des problèmes
Rotation automatique des fichiers journaux
Interface graphique Web
Interface WAP
Interpréteur Perl intégré
Détection d'oscillation pour les changements d'état trop fréquents
Support de bases de données MySQL et PostgreSQL pour la configuration
Il est tout à fait possible depuis un poste Windows de surveiller à distance l'état général du
réseau et d'accéder à l'interface graphique Web de Nagios avec NTRAY.
10
C. Mise en œuvre
I. Installation de Nagios :
Nagios ne s’installe que sous Linux, j’ai utilisé Fedora core 6 comme système d’exploitation, il
se peut que quelque commande ne fonctionne que sous ce dernier :
On tape la commande suivante si nous ne sommes pas connecté en tant que root :
Pour assurer le bon fonctionnement de nagios, on commence d’abord par installer les outils
suivants (on va utiliser la commande ‘yum’ c’est pourquoi une connection à internet est
indispensable) :
• adduser nagios
• mkdir /usr/local/nagios
• chown nagios.nagios /usr/local/nagios
On crée un nouveau group nagcmd pour les commandes externes, ce groupe inclura les utilisateurs
apache et nagios :
• /usr/sbin/groupadd nagcmd
• /usr/sbin/usermod -G nagcmd apache
• /usr/sbin/usermod -G nagcmd nagios
• cd /root/Desktop
11
On extrait la distribution (le champ en bleu dépend de la version actuelle de la distribution) :
Dans le répertoire courant, on remarquera l’ajout d’un nouveau répertoire sous le nom de
nagios-2.10 :
• cd nagios-2.10
make all
On installe les Binaires, le Script d’initialisation, les fichiers de configuration, et on définit les
permissions pour le répertoire des commandes externes :
• make install
• make install-init
• make install-config
• make install-commandmode
Après on se déplace dans le répertoire d’installation de Nagios (cd /usr/local/nagios) et il faut qu’on
trouve cinq sous répertoires :
sbin/ CGI
12
var/ Répertoire vide pour les fichiers de log, les fichiers de statuts, les
fichiers de retentions … etc
var/archives Répertoire vide pour les journaux archivés
Les plugins est une centaine de mini programmes que l'on peut compléter en fonction de nos besoins
pour superviser chaque service ou ressource disponible sur l'ensemble des ordinateurs ou éléments
réseaux de notre SI
On récupère la dernière version des plugins qui est disponible sur www.nagios.org/download/
On se place dans le répertoire où on a téléchargé les plugins pour Nagios (via Firefox
c’est /root/Desktop) :
• cd /root/Desktop
• tar xzf nagios-plugins-1.4.11.tar.gz
Tout comme l’installation de Nagios, on remarquera l’ajout d’un nouveau répertoire dans le
répertoire courant sous le nom de nagios-plugins-1.4.11 :
• cd nagios-plugins-1.4.11
13
On lance le script de configuration pour initialiser les variables et créer un Makefile :
• make
• make install
Les plugins sont installés dans le répertoire libexec (/usr/local/nagios/libexec), ainsi un nouveau
sous répertoire sera ajouté à votre répertoire d’installation de Nagios :
14
III. Configuration de l’interface web (Apache) :
<Directory "/usr/local/nagios/sbin">
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
<Directory "/usr/local/nagios/share">
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user
</Directory>
/etc/rc.d/init.d/httpd restart
Après on spécifie les droits d’accès à l’interface web de Nagios en utilisant la commande suivante :
15
On redémarre le serveur web pour que ces modifications auront lieu :
/etc/rc.d/init.d/httpd restart
16
Les CGIs n’afficheront aucune information pour le moment, mais ça sera résolu après la
configuration des fichiers de Nagios :
17
On tape la commande suivante :
/etc/rc.d/init.d/nagios restart
Et on s’assure que notre machine figure dans l’onglet ‘Service detail’ sous le nom de localhost :
18
IV. Configuration de Nagios :
• check_external_commands=1
define host{
use linux-server
19
On reprend la même méthode afin d’ajouter d’autre hôte à superviser
define service{
use local-service
host_name <<hôte1>,<hôte2>,…>
service_description <description du service>
check_command <check_command>
}
define hostgroup{
hostgroup_name <le nom du groupe>
alias <surnom>
members <<hôte1>,<hôte2>,…>
}
Le script (ou plugin) à ajouter dans Nagios doit respecter plusieurs critères :
• être exécutable sur le système d’exploitation hébergeant Nagios, avec les droits de
l’utilisateur Nagios (classiquement nagios).
• afficher un message, de préférence une seule ligne, décrivant la situation du service (par
exemple : Temps de réponse OK - 0.564 secondes).
• posséder un code de retour (généralement renvoyé par la fonction exit) qui indique le statut
du service :
o valeur 0 : OK (le service fonctionne correctement).
o valeur 1 : Warning (le service fonctionne en mode dégradé).
o valeur 2 : Critical (le service ne fonctionne plus).
o valeur 3 : Unknown (impossible de déterminer l’état du service).
Par exemple :
20
Installation du script :
Pour l’installer, il suffit de le copier dans le répertoire des scripts Nagios (libexec) et de le rendre
exécutable :
• cp check_exemple /usr/local/nagios/libexec/
• chmod 755 /usr/local/nagios/libexec/check_exemple
define command{
command_name exemple
command_line $USER1$/check_exemple -H $HOSTADDRESS$ -p $ARG1$ -w 5 -c 10
}
define service{
use generic-service
host_name Dtfe
service_description <description du service>
check_command exemple!389
}
Redémarrage de Nagios :
• /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
• /etc/init.d/nagios restart
21
• Service SNMP :
On commence par télécharger le script SNMP qui est disponible sur http://nagios.manubulon.com ,
comme exemple, j’ai choisi check_snmp_storage.pl qui permet de visualiser à distance l’espace
libre du disque dur (On suivra la même procédure pour ajouter d’autre script SNMP).
On le copie dans le fichier libexec et on le rend exécutable (on suit les étapes du paragraphe
précèdent ‘Installation du script’).
On ajoute dans le fichier commands.cfg ces lignes (Les arguments peuvent être différents pour
d’autres scripts SNMP) :
define command{
command_name check_snmp_storage
command_line $USER1$/check_snmp_storage.pl –H $HOSTADDRESS$ -C
$ARG1$ -m $ARG2$ -w $ARG3$ -c $ARG4$
}
Puis on définie le service check_snmp_storage dans le fichier localhost.cfg (on suit les étapes du
paragraphe prétendent ‘Définition d’un service pour une machine supervisée’, dans
service_description, j’ai mis : Disk Space).
Ensuite on redémarre Nagios (les mêmes étapes du paragraphe précèdent ‘Redémarrage de Nagios’)
Dans la machine à superviser, on s’assure que le service SNMP est actif, au niveau de cette machine,
on ouvre le gestion de l’ordinateur ‘right click sur’ Poste de travail > Gérer, on se place dans
Services et applications > Services, et on vérifie que le service SNMP est actif :
22
Le service check_snmp_storage apparaît maintenant dans l’interface web !
23
Conclusion
24