sommaire
SOMMAIRE
1
DÉDICACES
2
REMERCIEMENTS
4
INTRODUCTION GÉNÉRALE
5
I- INSERTION
6
I-I) INTRODUCTION
7
I-II) PRESENTATION DE LA CICAM
7
I-II-1) HISTORIQUE
7
I-II-2) ACTIVITES
7
Activité industrielle:
7
Activité Commerciale
8
I-II-3) PRODUITS
8
I-II-4) ORGANISATION
8
I-II-5) ORGANIGRAMME
8
I-III) LE SERVICE INFORMATIQUE
8
I-IV) RESSOURCES INFORMATIQUES
9
I-IV-1) RESSOURCES MATERIELLES
9
I-IV-2) RESSOURCES LOGIELLES
9
I-V) LE RESEAU
10
I-V-1) Le LAN
10
I-V-2) Le WAN
10
I-VI) ACCUEIL ET INSERTION
11
I-VII) CONCLUSION
12
II - PHASE TECHNIQUE
13
II-I) INTRODUCTION
14
II-II) RAPPELS SUR LES RÉSEAUX
INFORMATIQUES
14
II-II-1) Définition
14
II-II-2) Type de réseaux
14
II-II-3) Le model OSI
16
II-III) LE CONCEPT DE SUPERVISION
17
II-III-1) Définition
17
II-III-2) Domaines d'applications
17
II-III-3) Pourquoi superviser ?
18
II-III-4) Comment superviser ?
18
II-III-4-a) Le protocole SNMP (Simple Network
Management Protocol)
19
II-III-4-b) La MIB (Management Information
Base)
20
II-III-4-c) Les logiciels de supervision.
22
II-IV) NAGIOS LE « COUTEAU
SUISSE » DE LA SUPERVISION.
24
II-IV-1) Présentation
24
II-IV-2) Mode de fonctionnement
24
II-IV-3) Fonctionnalités.
24
II-V) MISE SUR PIED À LA CICAM.
25
II-V-1) Rappels sur Linux.
26
II-V-2) Quelques Distributions
26
II-V-3) Installation de Debian
26
II-V-4) Configuration de Debian
30
II-V-5) Installation du serveur de
supervision
32
II-V-5-a) Installation des prés requis
32
II-V-5-b) Installation du noyau de Nagios
33
II-V-5-c) Installation des plugins
34
II-V-5-d) Principe de configuration de nagios.
36
II-V-5-d-1) Les fichiers
36
II-V-5-d-2) Les plugins
38
II-V-5-e) Exemple d'utilisation
39
II-V-5-e-1) Cas d'un routeur Cisco 1700
39
II-V-5-f) Installation de Centreon
43
II-V-5-f-1) Pré requis
43
II-V-5-f-2) Installation de NDOUtils.
43
II-V-5-f-3) Configurations de Centreon
52
II-V-5-g) Installation et configuration de SSH
54
II-V-5-h) PNP4Nagios
54
II-V-5-h-1) Installation
54
II-V-5-h-2 Configurations
54
II-V-5-i) Utilisation du protocole snmp.
57
II-V-5-i-1) Installation d'un serveur snmp
58
II-V-5-i-2) Configuration
58
II-VI) INTÉGRATION À LA CICAM
59
II-VI-1) Les postes Windows
59
II-VI-1-a) Coté client
60
II-VI-1-b) Coté serveur
61
II-VII) LES ROUTEURS
62
II-VIII) POUR LES ROUTEURS DISTANTS
63
II-IX) POUR INTERNET
64
II-X) LES NOTIFICATIONS
64
II-X-1) Notifications par mails
65
II-X-1-a) Installation et configuration de
Postfix
65
II-X-2) Notifications par SMS
66
II-X-2-a) Installation de gsmutils
67
II-X-2-b) Intégration à Nagios
68
I-XI) CONCLUSION.
70
III) CONCLUSION GÉNÉRALE.
71
GLOSSAIRE
72
WEBOGRAPHIE
73
BIBLIOGRAPHIE
73
RAPPORTS DE STAGE
73
ANNEXES
74
ROUTEURS
74
NAGIOS
75
DOCUMENTS ADMINISTRATIFS
80
Dédicaces
A toute ma famille, elle qui ne
cesse de me soutenir.
Remerciements
Je tiens à remercier du fond du coeur tout ceux qui ont
permis que ces trois années aient un réel sens. Ceci s'adresse
particulièrement à :
· L'éternel DIEU tout puissant qui m'a
accordé santé ;
· Monsieur POLIDORI Michel, Directeur
Général de la Cicam qui bien voulu nous accepter dans sa
société ;
· Monsieur ABANDA Armand Claude, Représentant
Résident De IAI-Cameroun, pour la qualité de formation qu'il
s'évertue à nous fournir ;
· Monsieur KOUNDI Pierre Chef service Informatique
à la Cicam, ainsi que ses collaborateurs pour leur
disponibilité ;
· Mes encadreurs Monsieur ELOUNDOU Parfait et ZE ESSI
Martial pour leurs conseils ;
· Tout le personnel de la Cicam pour leur
collaboration ;
· Monsieur NYANKOUE Serges pour ses conseils ;
· Aux couples NGANGOUE SEAHA Antoine, Berthe et DJIEKAM
Pierre, Colette pour leur immense soutient ;
· Mes soeurs Solange et Marcelle ;
· Mes cousins et cousines Fabrice, Sorelle, Bernard,
Flora, Christelle, Ronald ;
· A tout le corps enseignant de IAI-Cameroun
particulièrement DONGMO Bertin et ONANA Eric pour leurs
conseils ;
· A tous mes camarades promotionnaires, en particulier
« le groupe des ingénieurs », qui constitue une
véritable communauté d'aide.
A tous ceux là et bien d'autres, je dis humblement
merci.
Introduction générale
C'est en 1999 que la
représentation camerounaise de l'Institut Africain
d'Informatique s'implante au Cameroun. Elle offre dès
lors, deux cycles de formation aux jeunes camerounais et africains. À
savoir, un cycle d'Ingénieur des Travaux en Maintenance et
Réseaux Informatiques et un autre en Informatique de Gestion.
Désireux d'assurer à ses produits une facile
intégration dans le monde professionnel et, de solides
compétences techniques, des stages académiques et pratiques sont
prévus pour ses étudiants. Notamment à la fin de la 3ieme
Année de formation.
Nous avons ainsi eu la chance d'être accueillis au sein
de la Cotonnière Industrielle du
Cameroun (Cicam) et ce document constitue un recueil
des trois mois passés au sein de son service Informatique.
Durant ces mois, nous avons côtoyé le personnel
et nous nous sommes familiarisés avec les organes de la
société.
Nous avons surtout travaillé sur son réseau et,
constatant la nécessité d'avoir un réseau efficace nous
avons pensé à mettre celui-ci sous surveillance.
De ce fait, et avec l'appui de nos encadreurs, nous avons
oeuvré à la « Mise sur pied
d'une solution de supervision du
réseau ». Assez intéressant comme titre
mais, qu'en est il exactement ?
Nous y répondrons dans la suite de ce document, qui
aura deux grandes parties :
La première : qui présente la
Cicam et nos premiers jours au sein de son service
informatique ;
La deuxième : est le recueil des travaux et tests
effectués durant toute cette période de stage.
I- INSERTION
I-I)
INTRODUCTION
Depuis sa création en 1965,
la Cotonnière Industrielle du Cameroun a su
s'imposer comme le leader de l'industrie textile au Cameroun et dans la sous
région. Pour maintenir son rang, elle n'a pas hésité sur
les moyens et, a décidé de s'informatiser.
Nous avons été admis dans son effectif pour ce
stage académique de trois mois et, le présent document
résume les premiers jours au sein de son service informatique.
Nous parlerons tour à tour, de la Cicam sur le plan
historique, de ses activités et produits, surtout de son
réseau.
I-II)
PRESENTATION DE LA CICAM
I-II-1)
HISTORIQUE
C'est en 1965 que la Cotonnière
Industrielle Du Cameroun voit le jour. Elle est le fruit de la
coopération entre l'Etat Camerounais, la Banque Allemande de
Développement et le groupe textile français DMC (Dolfus, Mieg et
Cie).Son Capital Social est de 1.567.770.000 Fcfa et elle est placée
sous le statut de Société Anonyme (SA).
I-II-2)
ACTIVITES
Elles sont de deux types, à savoir, industrielle et
commerciale :
Activité industrielle:
Elle est effective dans :
· Les deux usines de filature et de tissage de
Garoua : Qui se chargent d'acheter du tissu à la
SODECOTON et de le transformer en
écru ;
· CICAM I : Située
dans l'ancienne zone industrielle de Bassa-Douala. Elle est chargée de
transformer le tissu reçu de Garoua, en tissus peints ou
imprimés. C'est aussi notre lieu de stage et le siège du
groupe ;
· CICAM II : Elle est
chargée de transformer les fils de Coton en provenance de Garoua, en
tissus épongés. Elle est plus connue sous le nom de
SOLICAM (Société de lingerie du
Cameroun).
Activité Commerciale
Elle est l'oeuvre de sa filiale
NEWCO, encore appelée LAKING TEXTILES. De part
sa présence dans les dix régions du territoire national, la CICAM
réussie ainsi à toucher une clientèle plus nombreuse.
I-II-3)
PRODUITS
Des activités citées ci dessus, il
apparaît clairement que le principal produit ici est le tissu et ses
dérivés à savoir:
· Le pagne ;
· Les éponges ;
· Les serviettes ;
· ...etc.
I-II-4) ORGANISATION
Le groupe est placé sous la direction de M. Michel
Polidori de nationalité française. Ce dernier est assisté
de plusieurs directeurs et collaborateurs; tel que le présente
l'organigramme ci dessous.
I-II-5) ORGANIGRAMME
Voir Annexe
I-III)
LE SERVICE INFORMATIQUE
Elle se trouve à CICAM I, au
rez-de-chaussée du bâtiment principal.
Placé sous la tutelle de la Direction
Administrative et Financière, le service a à sa
tête, un responsable en la personne de M. Pierre KOUNDI, assisté
de quelques collaborateurs que sont les sieurs Ze ESSI Martial, ELOUNDOU
Parfait, DOOH Jean, DJOCK Zacharie et MEJOUSSI Pierre.
Le service occupe trois compartiments:
· La salle des serveurs, dans laquelle on retrouve les
serveurs DNS, de messagerie, le CPD, le Proxy, le serveur AS400, et bien
d'autres ;
· La salle de travail, la plus grande, qui regroupe la
quasi totalité des informaticiens de la structure, ainsi que les
stagiaires ;
· La salle de maintenance dans laquelle le maintenancier
de la structure effectue ses travaux.
I-IV)
RESSOURCES INFORMATIQUES
I-IV-1) RESSOURCES MATERIELLES
· Imprimantes: Une imprimante matricielle IBM InfoPrint
6500, une HPLaserJet 2015, une HP Jet encre 6310 ;
· Ordinateurs: Trois DELL Optiplex 320, un IBM Aptiva de
400Mhz de processeur, deux Packard Bell dont un de 1Ghz de processeur et un
autre de 1.4Ghz de processeur ;
· Des Serveurs: Un CPD/DNS (HP DX2200), un Proxy (DELL
Optiplex 330) un HP Pro liant ML370G5 pour la messagerie, un serveur IBM
e-server pour l'AS400, un DELL PowerEdge 2900 comme serveur
d'applications ;
· Onduleur MGE COMET 3000 de 20KVa;
· Deux Routeurs Cisco dont un
1700 comme passerelle pour Internet et un
1800 comme routeur VPN ;
· Trois switch D-Link ;
· Des Accès Point D-Link
pour la partie wireless du LAN ;
· Des outils de maintenance : Tournevis, Pinces,
CDs ;
· Câbles.
I-IV-2) RESSOURCES LOGIELLES
· Système d'exploitation: Windows XP
SP2 et Windows Serveur 2003 ;
· Applications: Microsoft Exchange 2007 comme
serveur de Messagerie, la suite bureautique Microsoft Office
2003 ;
· Antivirus: G-Data, Avira
antivirus ;
· VNCServer : Pour le
control distant des postes du réseau ;
· Client access pour
émuler l'AS400 sur des ordinateurs de
bureau.
Avec ce matériel, le service informatique est
appelé à résoudre les problèmes des utilisateurs,
d'assurer la bonne marche des équipements et la constante
disponibilité des ressources.
I-V)
LE RESEAU
Nous avons pu remarquer que, le réseau pouvait se
diviser en deux grandes parties:
I-V-1)
Le LAN
Qui est celui de notre lieu de stage. Il se divise lui aussi
en deux sous parties à savoir. Une partie filaire comprenant entre autre
les équipements sus cités et conçue suivant la norme IEEE
802.3. Et une partie sans fils qui couvre quelques compartiments de la
société et la cité des cadres, conçue selon la
norme IEEE 802.11 b.
I-V-2)
Le WAN
Celui ci couvre l'étendue du territoire national et
connecte dix-huit agences du groupe, schématisé comme
suit :
Schéma du Réseau de la
CICAM
I-VI)
ACCUEIL ET INSERTION
Notre premier contact s'est effectué le mercredi 01
juillet 2009 à la Direction des ressources humaines. C'est de là
que nous sommes dirigés au service Informatique, où nous
rencontrons M. ELOUNDOU Parfait notre Encadreur Académique, qui se
charge de nous présenter l'équipe. Il en ressort des premiers
échanges que nous avons eus et des remarques faites sur place, que
l'accent est mis sur la ponctualité et l'esprit d'équipe.
Au terme des premières semaines au sein de la
société, le choix d'un sujet de travail se fit nécessaire.
Vu l'étendu du réseau et son importance, nous avons pensé
que sa supervision ne serait pas superflue. Nous avons donc proposé de
travailler sur la supervision du réseau et mon thème pris le nom
de : « Mise sur pied d'une solution de supervision
du réseau ».
I-VII)
CONCLUSION
Bien que n'étant pas une toujours facile, notre
insertion s'est effectuée sans véritable difficulté. Ceci
sans doute dû au fait que l'équipe est soudée et une bonne
ambiance y règne en permanence. Quand à la conquête des
autres services avec qui nous collaborerons en permanence, ceci se fera
progressivement avec le soutient de nos encadreurs et nous l'espérons
agréable.
II -
Phase Technique
II-I)
Introduction
Nous abordons ici, la partie technique de notre nôtre
travail. Nous développerons, notre thème. Tout d'abord, nous
reviendrons sur la notion de réseaux informatiques avant de
développer le concept de supervision avec en avant, les configurations
effectuées et les résultats de tests effectués.
II-II)
Rappels sur les réseaux informatiques
Depuis bien des années, les Hommes ont entretenu le
désir d'échanger. Cette envie est allée croissante au fil
des ans et l'avènement de l'informatique depuis plusieurs
décennies n'a pas échappé à cette logique.
En effet, les ordinateurs sont devenus de plus en plus
puissants. Traitant ainsi de grandes quantités de données qu'il
se trouvaient nécessaire et impératif de partager. La notion de
réseaux informatiques voie donc le jour.
II-II-1) Définition
Nous pouvons définir un réseau informatique
comme un ensemble d'ordinateurs et d'équipements interconnectés
entre eux, afin de partager leurs ressources.
Ainsi défini, l'on peut aisément deviner que la
mise sur pied d'un réseau, répond à des désirs bien
précis dont le maître mot est le partage des ressources.
Notamment, des fichiers (sons images, vidéos, tableurs...), des
graveurs, des imprimantes. Ceci vise à faire des économies, et
aussi faciliter le travail en société notamment par la mise sur
pied des services tel le partage de fichiers, le mail.
La mise sur pied d'un réseau répond cependant
à des principes et ce en fonction du type du réseau.
II-II-2) Type de réseaux
Les principaux critères de classification des
réseaux sont surtout leur mode de transmission de l'information et
leurs tailles.
Suivant le mode de transmission, on distingue :
· Le mode diffusion :
Où on dispose d'un media, partagé entre tous les hôtes et
l'information y est véhiculée. Ethernet
est une norme réseau utilisant le principe de la diffusion ;
· Le mode point à
point : Où les différents hôtes sont
reliés entre eux.
A part cette classification logique, nous citerons une
classification physique. Celle caractérisée par la disposition de
équipements. On distingue ainsi :
Les réseaux en
étoile (étendu);
Les réseaux en anneau ;
Les réseaux en bus.
Suivant la taille, on distingue :
Les Réseaux Personnels ou PAN (Personnal
Area Network) dont la distance entre les équipements est
juste de quelques mètres. La connexion par infrarouge entre deux
téléphones portables, entre un ordinateur et une souris,
constituent des PAN.
Les Réseaux Locaux ou LAN (Local Area
Network), dont la distance entre les équipements peut
atteindre un kilomètre. Les réseaux d'une salle
multimédia, d'un cybercafé...constituent des LAN.
Les Réseaux Métropolitains ou MAN
(Metropoltan Area Network), qui couvrent
régulièrement une ville. La connexion entre un magasin et ses
différentes boutiques de la ville, représente un MAN.
Les Réseaux Longues distances WAN (Wide
Area Network), qui s'étendent sur un voir plusieurs pays.
L'exemple patent ici est l'interconnexion entre les différentes agences
d'une banque.
II-II-3) Le model OSI
Comme mentionné ci-dessus, la mise sur pied d'un
réseau, réponds à des normes bien précises. C'est
ainsi que l'ISO ou Organisation Internationale de
Normalisation a conçu et publié en 1978, le model
de Référence OSI (Open Systèm
Interconnection), afin de normaliser la mise sur pied de toutes
architectures réseau. Ce model est un model de sept couches
représenté comme suit :
Application (application
utilisateurs).
|
Présentation (Assure le
formatage des données).
|
Session (Permet l'ouverture de
sessions).
|
Transport (Assure le transport bout
à bout).
|
Réseau (Détermine la
méthode de routage de données).
|
Liaison de données
(transforme les données en trames).
|
Physique (Transmission des
bits).
|
Model de référence
OSI
Les phases d'un échange entre deux hôtes d'un
réseau sont facilement descriptibles sur ce model, tant dans l'envoie
(encapsulation) que la réception
(dés encapsulation) des données. Le
model TCP/IP respectant le principe de couches
prôner par le model OSI, illustre ce fait.
Mise en évidence d'envoie/réception
des données suivant le model TCP/IP
Mais, le plus important n'est pas de mettre sur pied un
réseau. Il semble vraiment judicieux de s'assurer de son bon
fonctionnement, de veuillez à ce que ses ressources soient disponibles
et de pouvoir réagir promptement en cas de disfonctionnement. Ceci
décrit la nécessité de surveiller, de monitorer, de
superviser son réseau et introduit le concept de supervision
réseau.
II-III) Le concept de supervision
Ayant constater l'importance des réseaux dans la bonne
marche et le développement des industries, il est important pour chaque
entreprise de pouvoir contrôler et retracer les activités des
leurs équipements.
II-III-1) Définition
Nous pouvons définir la supervision réseau comme
étant cette branche de l'informatique qui a pour but de surveiller les
équipements et ressources du réseau.
II-III-2) Domaines d'applications
Les problèmes dans un réseau doivent être
réduits au maximum pour un fonctionnement efficace et une
disponibilité maximale. La supervision réseaux inclus plusieurs
domaines à savoir
Supervision des équipements :
· Switchs ;
· Routeurs ;
· Serveurs ;
· Imprimantes.
Supervision système :
· RAM ;
· Processeurs ;
· Espaces de stockage.
Supervision des applications :
· Disponibilités ;
· Compatibilités ;
· Performances.
Ceci à travers plusieurs activités
comme :
· la surveillance ;
· L'analyse ;
· Le pilotage.
II-III-3) Pourquoi superviser ?
L'importance des réseaux n'étant plus à
démontrer, il est important de pouvoir donner en temps réel,
l'état de celui ci et de ses constituants. De pouvoir être
avisé en cas de problème afin d'agir en conséquences. Ceci
apparaît comme un véritable outil d'administration et d'aide
à la décision. Car dans un exemple d'observation d'un serveur, on
peut déterminer les périodes de fortes/faibles utilisation et
définir ainsi des heures de mise à jour de
sécurité, sans que le réseau ne souffre de cette
tâche.
II-III-4) Comment superviser ?
Elle peut se faire de plusieurs façons parmi
lesquelles :
L'analyse des fichiers
journaux
Ceux-ci contiennent toutes les informations sur les
évènements produits sur le système. On peut donc
déterminer des problèmes du réseau pour peu que l'on sache
lire et interpréter les fichiers de log. Dans un
système Linux tel
Debian, ils se trouvent dans /var/log/.
L'analyse des résultats des commandes et/ou
scripts
L'usage de certaines commandes permet de comprendre les
disfonctionnements d'un équipement.
Par exemple, la commande ping
172.16.16.4 permet de savoir si l'équipement d'adresse
172.16.16.4 est joignable ou pas.
Profiter des fonctionnalités du
SNMP
SNMP pour Simple Network Management Protocol est un protocole
de communication qui permet de gérer les équipements
réseaux.
Le choix de logiciels
Il existe sur le marché, des logiciels destinés
à la supervision d'un réseau et qui couplent parfois toutes les
méthodes citées ci-dessus.
II-III-4-a) Le protocole SNMP (Simple Network Management
Protocol)
Le Simple Network Management Protocol ou
SNMP est un protocole de la couche application du model OSI. Il
offre diverses possibilités de management d'un équipement
réseau.
Une architecture de gestion basée sur le SNMP doit
être constitués de trois principaux
éléments :
· Les équipements managés qui peuvent
êtres des switchs ou des routers. Ils contiennent des objets de gestion,
identifiés par un numéro unique appelé OID
(Object Identifier) et stockées dans une base de
données nommée MIB (Management Information
Base) ;
· Les systèmes de management de réseau ou
NMS qui représentent une console d'administration ;
· Les agents qui sont des applications de gestion et
chargé de transmettre les informations de gestion, sous le format SNMP,
à destination du serveur.
SNMP utilise le protocole UDP pour véhiculer ces
informations de gestion. Et les informations entre l'agent et le superviseur se
font avec les cinq commandes suivantes :
· Get-request (GET) pour
obtenir de la valeur d'un objet de la MIB d'un agent ;
· Get-next-request (GETNEXT)
pour obtenir de la valeur courante du prochain objet ;
· Set-request (SET) pour mettre
à jour la valeur courante d'un objet de la MIB ;
· Get-response renvoie de la
valeur d'un objet de la MIB ;
· Trap (TRAP) signal
émis par un agent vers.
Le superviseur et l'agent écoutent respectivement sur
le port 162 et 161 et le schéma ci-dessous l'illustre bien.
Echange entre l'agent et le manager
II-III-4-b) La MIB (Management Information Base)
La MIB ou Management Information Base est une base de
données résidente chez l'agent SNMP. Elle contient des
informations sur les objets à supervisés. Tous les objets y sont
référencés par le OID et sa
structure est en arbre, semblable à celle utilisé dans le
DNS. Pour pouvoir récupérer les infos
sur une d'un objet, il faut rechercher son OID, et se plonger de ce fait dans
l'arborescence de la MIB. Une MIB ressemble à ceci :
Arborescence d'une MIB standard.
Très souvent, la branche intéressante est
internet. En la détaillant on a ceci :
Branche Internet d'une MIB
Tout ceci semble bien confus mais, n'est pas dépourvu
de sens. Si nous voulons par exemple savoir depuis combien de temps un
système est en fonctionnement, on doit parcourir la MIB jusqu'à
sysUptime, ce en séparant chaque noeud par des
points. Ça donne ceci :
Iso.org.dod.internet.mgmt.mib.system.sysUptime.0.
Le «0» est mis pour
obtenir une feuille de la branche ainsi à ce nom symbolique, correspond
l'OID suivante :
1.3.6.1.2.1.1.3.0. C'est cet OID que nous
manipulerons au besoin. On peut remarquer aisément que pour tout objet
intéressant, l'OID commence toujours par
1.3.6.1.2.1.
Il est à noté que si l'on veut gérer des
objets propres, l'on décrira une MIB privée. Dans ce cas, c'est
la branche « private » qui nous
intéressera.
II-III-4-c) Les logiciels de supervision.
Un tour sur Internet nous permet de nous rendre compte de
l'abondance de offres logicielles sur la supervision. De ces offres se
dégagent deux courants : les propriétaires et les libres.
En effet, plusieurs sociétés ont compris
l'importance de la supervision et offrent des solutions pour leurs produits.
Cisco, HP, IBM et d'autres. Mais aussi de nombreux
développeurs indépendants ont entrepris de développer des
solutions libres et ce avec des résultats encourageants. Beaucoup de
ces solutions sont destinées à tourner sous Linux et ne requiert
donc pas toujours l'achat de licences pour le système d'exploitation. Ce
qui devient très intéressant. On peut en citer quelques
unes : Nagios, Centreon, Cacti, Zabbix....Le tableau ci-dessous
présente un comparatif :
Noms
|
Nature
|
Mode d'acquisition
|
Prise en main
|
Exigences matérielles
|
Cisco Works
|
Propriétaire
|
Achat
|
Facile
|
Très lourd
|
HP Openview
|
Propriétaire
|
Achat
|
Facile
|
Lourd
|
Patrol
|
Propriétaire
|
Achat
|
Facile
|
Lourd
|
Trivoli
|
Propriétaire
|
Achat
|
Facile
|
Lourd
|
Hyperic Hq
|
Propriétaire/libre en partie
|
Achat/téléchargement
|
Assez facile
|
Assez lourd
|
Nagios
|
Libre
|
téléchargement
|
Difficile
|
Tourne sur tout poste Linux
|
Eyes Of Network
|
Libre
|
téléchargement
|
Facile
|
Tourne sur tout poste Linux
|
Centreon
|
Libre
|
téléchargement
|
Assez facile
|
Tourne sur tout poste Linux
|
Quelques solutions de supervisions
Partant de tout ceci, nous pouvons faire un choix, ce en
fonction de nos attentes sur la solution à mettre sur pied et des
ressources en notre possession.
Côté ressources, nous disposons de serveurs HP,
DELL, tournant sous Windows 2003 et XP. De routeurs Cisco et d'un poste de
travail IBM APTIVA avec les caractéristiques suivants : 400Mhz de
CPU 10.7Go de Disque Dur et 384 Mo de RAM. A la fin de notre travail, nous
devons pouvoir :
· Surveiller la disponibilité des
équipements et service;
· Surveiller la connexion Internet ;
· Surveiller l'usage du CPU, de la RAM, du Disque Dur
et/ou de quelques processus ;
· Être alerte en cas de problème (CPU et/ou
RAM sur utilisé, hôtes et/ou services inaccessible...) ;
· Ressortir le comportement des ressources
surveillées sur une période déterminées ;
· Ressortir une carte du réseau ;
· Tracer des graphes de performances.
Il est à noter que notre solution devra intégrer
sans problème, les serveurs du réseau, tourner sur notre poste de
travail (Du moins pour les tests), être la moins coûteuse et la
plus complète possible. Les solutions payantes nous apparaissent de ce
fait comme moins optimales pour notre cas. En s'orientant vers le libre, le nom
« Nagios » revenait très
souvent dans nos recherches. De nombreux logiciels l'intégraient
aisément et peuvent s'y greffer. Certains comme
Centreon, lui sont dérivés. De plus,
Nagios tourne sur un système Linux qui est reconnu pour être moins
gourmand en ressources que les systèmes Windows. Nous avons donc
décidé de l'étudier avec soin.
II-IV)
Nagios le « couteau suisse » de la supervision.
II-IV-1) Présentation
Logo de nagios
Nagios est une solution libre de surveillance système
et réseau. Anciennement connue sous le nom de
Netsaint, elle tourne sous Linux et en est
aujourd'hui à sa version 3.1.2 (Version en cours lors de la
rédaction de ce rapport). Ses fonctionnalités sont énormes
et elle peut s'adapter selon nos besoins.
II-IV-2) Mode de fonctionnement
Nagios base son fonctionnement sur trois
entités :
· Le noyau ou Core, qui est le moteur de l'application et
gère toutes les tâches ;
· L'interface Web qui offre une vu globale du
système ;
· Les plugins qui sont de petits programmes conçus
pour des tâches précises.
La configuration de Nagios est faite par l'édition des
fichiers. S'est sans doute là sa difficulté car, en la moindre
erreur dans l'un des fichiers empêcherais le système de
fonctionner.
II-IV-3)
Fonctionnalités.
Nagios offre plusieurs possibilités parmi
lesquelles :
· Supervision de services (SNMP, SMTP, HTTP...) ;
· Supervision des ressources (CPU, RAM,...) ;
· Génération d'alertes ;
· Cartographie du réseau ;
· Accepte l'intégration d'outils de graphe
(PNP4Nagios, Nagiosgrapher...).
Schéma de principe de la supervision via
Nagios
On se rend ainsi compte que Nagios réponds grandement
à nos attentes. Malgré sa configuration difficile, elle est de
loin la solution que nous choisirons, afin de l'adaptée (par ajout
d'outils) à nos besoins. De plus, elle fonctionne sous Linux,
système que l'on sait moins gourmand en ressources
matérielles.
II-V)
Mise sur pied À la Cicam.
Nous passons ici à l'installation de Nagios à
la Cicam. La première des choses est d'installer un système
d'exploitation sur notre poste de travail. Nagios tournant sous Linux, nous
installerons une Linux.
II-V-1) Rappels sur Linux.
C'est au début des années 90 que
Linux Torvalds alors étudiant à
l'université d'Helsinki, décide de
mettre à profit son temps libre à la création du noyau
d'un système d'exploitation, semblable à Unix et fonctionnant sur
une architecture 80386. Il nommera ce noyau Linux.
Parallèlement, Richard Stallman initiateur du
projet GNU (GNU is Not
Linux) créait des programmes de base. GNU et
Linux fusionneront pour donner
GNU/Linux.
Aujourd'hui, Linux a fait son chemin. Diverses versions
appelées distributions ont vu le jour, avec un
élément commun : le noyau ou
kernel.
II-V-2) Quelques Distributions
Plusieurs distributions existent. Les unes pour un usage
domestique et d'autres beaucoup plus professionnelle. Les plus connus
sont :
· Debian ;
· Red Hat ;
· Mandriva ;
· SuSe ;
· SlackWare.
Certaines sont dérivées des distributions
ci-dessus. Ubuntu par exemple, descend de
Debian. Notre choix s'est porté sur une
Debian, à cause de sa stabilité, de ses
mises à jour régulières et surtout parce que
Nagios à été
développé sur Debian. D'où pas
de problème de compatibilité et l'assurance d'une documentation
abondante.
II-V-3) Installation de Debian
Logo de Debian
Bien que la version 5 soit déjà disponible, nous
avons choisis d'installer la version en notre disposition à savoir, la 4
de nom de baptême est Etch.
Notons que Debian peut s'installer
de plusieurs façons :
· CD/DVD ;
· USB ;
· Réseau (Net Install).
Nous choisirons l'installation depuis les DVD. Pour ceci,
démarrons notre Pc sur le DVD-1 et suivons les étapes.
Tapons
« entrer »
Choix de la langue
Choix du type de clavier
Après quelques minutes, nous atteignons l'étape
de partitionnement.
Nous mettrons tout dans une seule
partition.
Mot de passe Administrateur puis création
d'un user
Tout va évolué jusqu'au choix des paquets
à installer. On se contentera pour l'instant du système de base
et de l'environnement graphique.
Choix des paquets à installer
L'installation se poursuivra jusqu `à
l'installation du gestionnaire d'amorce (GRUB).
L'installation est terminée. Le système va redémarrer. On
doit donc se connecter avec l'utilisateur crée lors de l'installation
(stagiaire2009).
Fenêtre principale de login
II-V-4) Configuration de Debian
Une fois connecté nous allons configurer notre
système pour le réseau et pour qu'il puisse se connecter à
internet.
Pour la mise en réseau nous saisirons les
paramètres IP fournis par nos encadreurs. Pour cela, éditons le
fichier /etc/network/interfaces.
/etc/network/interfaces
Nous renseignerons ensuite le DNS dans le fichier
/etc/resolv.conf.
/etc/resolv.conf
Nous configurons aussi la source de logiciels pour pouvoir
faire nos installations directement depuis Internet. Pour cela, éditons
le fichier /etc/apt/sources.list.
/etc/apt/sources.list
Après tout ceci, il est judicieux de redémarrer
les services réseaux puis mettons à jour notre système.
Redémarrage des services
réseaux.
Mise à jour du système
Notre système est à présent prêt
à recevoir notre serveur de supervision.
II-V-5) Installation du serveur de supervision
II-V-5-a) Installation des prés requis
Nous installerons ici, les outils et logiciels dont Nagios a
besoin pour bien fonctionner. La méthode ici, est l'usage des binaires.
Pour installer un paquet de nom paquet1, nous utiliserons la commande :
prompt > apt-get install paquet1.
Nous préparerons notre système en y installant
plusieurs logiciels et librairies :
· Les librairies de développement de base :
apt-get install build-essential ;
· Le serveur web: apt-get install
apache2;
· Le serveur de base de données:
apt-get install mysql-server;
· serveur SNMP : apt-get install snmp
snmpd ;
· Les binaires pour la messagerie: apt-get
install mailx ;
De nombreuses autres librairies
· Rrdtool :# apt-get install rrdtool
;
· Php-pear : # apt-get install
php-pear ;
· Libraries Perl : # apt-get install
librrds-perl;
· # apt-get install php5
libapache2-mod-php5;
· # apt-get install php5-gd php5-ldap
php5-snmp;
· # apt-get install libgd2-noxpm-dev
libpng12-dev libjpeg62 libjpeg62-dev;
· # apt-get install
php5-mysql ;
· #apt-get install
libmysqlclient15-dev.
Redémarrons et testons apache2
Redémarrage de apache : prompt#
/etc/init.d/apache2 restart
Test d'apache2
Par mesure de sécurité, créons
l'utilisateur qui lancera Nagios
# /usr/sbin/useradd Nagios
Définissons son mot de passe
# passwd Nagios
«Cicam2009»
Créons un groupe pour l'utilisateur nagios
# /usr/sbin/groupadd nagiosgrp
Faisons de l'utilisateur Nagios un membre de nagiosgrp
# /usr/sbin/usermod -G nagiosgrp
Nagios
De même que l'utilisateur d'apache
# /usr/sbin/usermod -G nagiosgrp
www-data
Notre système est maintenant près à
recevoir Nagios.
II-V-5-b) Installation du noyau de Nagios
Allons télécharger les sources de la
dernière version de Nagios sur
www.nagios.org que nous compilerons
par la suite.
Copions le fichier dans le répertoire /usr/src/
# cp /media/THEYOS/Nagios-3.1.2
/usr/src/
Rendons nous dans /usr/src/ pour
décompresser l'archive.
# tar xzf nagios-3.1.2.tar.gz
Rendons nous dans le dossier ainsi crée et compilons
les sources
# cd Nagios-3.1.2
# ./configure
-with-command-group=nagiosgrp
# make all
# make install
# make install-config
# make install-commandmode
# make install-init
Créons un lien
# ln -s /etc/init.d/Nagios
/etc/rcS.d/S99nagios
Installons l'interface web
# make install-webconf
Créons le compte nagiosadmin
qui se connectera à nagios.
# htpasswd -c /usr/local/Nagios/etc/htpasswd.users
nagiosadmin
Cette dernière commande demandera un mot de
passé et nous saisirons le même que tout à l'heure.
II-V-5-c) Installation des plugins
Nous installons maintenant les plugins dont Nagios a besoin
pour bien fonctionner. Récupérons d'abord les sources des plugins
sur le site de nagios ou sur www.sourceforge. Net sources qu'on
déplacera dans /usr/src/.
# wget http://
osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-pligins-1.4.13.tar.gz
# cp nagios-plugins-1.4.13.tar.gz
/usr/src/
Décompression et compilation
# tar xzf
nagios-plugins-1.4.13.tar.gz
# cd nagios-plugins-1.4.13
# ./configure -with-nagios-user=Nagios
-with-nagios-group=nagiosgrp
# make all
# make install
Nous achevons ainsi l'installation de Nagios et reste plus
qu'à vérifier la configuration avec la commande :
# usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg
On doit avoir
...
...
Total Warnings : 0
Total Errors 0
...
...
Faisons de nagios le propriétaire du répertoire
/usr/local/nagios/
# chmod 774 /usr/local/nagios/*
# chown nagios:nagiosgrp /usr/local/nagios/*
# chown nagios:nagiosgrp
/usr/local/nagios/*
On peut donc lancer notre navigateur, saisir l'adresse
http://Ip_Seveur/nagios/ ou
http://localhost/nagios/ pour
voir à quoi Nagios ressemble. Ceci après login.
Fenêtre d'authentification
Nagios
En saisissant les bonnes coordonnées, la page d'accueil
de Nagios s'ouvre.
Page d'accueil de Nagios
Nagios étant livré avec une configuration par
défaut, nous pouvons déjà superviser notre serveur. Un
clic sur « Host groups » menu de
gauche, nous permet de voir cela de plus près.
Host= Nom de l'hôte, Status= état de
l'hôte, Services= Nombre de services supervisé et leur état
Actions.
II-V-5-d) Principe de configuration de nagios.
II-V-5-d-1) Les fichiers
L'installation de nagios et de ses plugins, a
généré une foret de fichiers qu'il convient de manipuler
avec soin pour pouvoir tirer profit de notre serveur. L'arborescence est la
suivante :
Arborescence des fichiers de nagios
Bien que visiblement touffu, nous ne manipulerons que quelques
uns de ces fichiers à savoir :
/usr/local/nagios/etc/nagios.cfg qui
est le fichier de configuration générale ;
/usr/local/nagios/etc/objects/windows.cfg
fichier pour les postes windows;
/usr/local/nagios/etc/objects/printer.cfg.
fichier pour les imprimantes ;
/usr/local/nagios/etc/objects/switch.cfg.
fichier pour les switchs/routers ;
/usr/local/nagios/etc/objects/commands.cfg.
fichier pour les commandes ;
/usr/local/nagios/etc/objects/timeperiods.cfg.
fichier pour les timeperiods ;
/usr/local/nagios/etc/objects/templates.cfg
fichier pour les templates ;
/usr/local/nagios/etc/objects/contact.cf
. fichier pour les contacts.
Une commande est une action de supervision que l'on
définit.
Un
« timeperiod » est une
période de temps défini pour une action précise
(Supervision, envoi d'alertes...), un
« template » est une mise en
forme générale définie pour des hôtes, services,
actions...
Un contact n'est autre que celui à qui peut être
envoyé une alerte.
NB : Avant la
modification d'un fichier, il est impératif de créer un backup
Pour le fichier principal par exemple, tapons les
commandes :
# cd /usr/local/nagios/etc/
# cp nagios.cfg nagios.cfg.old
II-V-5-d-2) Les plugins
Ce sont des petits programmes qui permettent à Nagios
de faire son travail. Ils constituent une interface entre le noyau de Nagios et
l'objet à superviser. C'est grâce à eux que l'installation
d'un agent sur l'hôte supervisé n'est pas toujours obligée.
Il se trouve en principe dans
/usr/local/nagios/etc/objects/ et on peut en
créer les nôtres, à condition de respecter les
règles de retour d'état qui sont :
· Ok : service fonctionne
sans problème ;
· Warning : seuil d'alerte
atteint ;
· Critical : seuil
critique atteint ;
· Up : hôte
disponible;
· Down : hôte
indisponible.
Schéma général du
fonctionnement avec plugin
Les plus utilisés sont :
Check_nt : destinés aux
postes Windows ;
Check_ping : qui effectue les
ping ;
Check_disk : pour l'état
d'une partition ;
Check_load : pour la charge
processeur ;
Check_procs pour le control d'un
processus.
Pour l'aide sur l'usage d'un plugin, il suffit de
taper la commande :
# /usr/local/nagios/etc/objects/ ./plugin
--help
Ceci dit, pour superviser un hôte (état de
l'hôte et d'un service), et générer une alerte en cas de
pannes, on doit :
· Définir les templates
(Pour l'hôte, le service et le contact à alerter, les
périodes de check et de notifications) ;
· Définir l'hôte, le service et le contact
en question ;
· Installer un agent sur le client (pas
toujours) ;
Vérifier impérativement la configuration la
configuration et redémarrer Nagios.
II-V-5-e) Exemple d'utilisation
II-V-5-e-1) Cas d'un routeur Cisco 1700
Tout d'abord modifions le fichier
/usr/local/nagios/etc/nagios.cfg en dé
commentant la
ligne :cfg_file=/usr/local/nagios/etc/object/switch.cfg.
Le template pour l'hôte:
define host{
name generic-router name of this host
template
use generic-host ; Inherit default values from the
generic-host template
check_period host_time ; By default, router are
monitored round the clock
check_interval 5 ; router are checked every 5
minutes
retry_interval 1 ; Schedule host check retries at
1 minute intervals
max_check_attempts 10 ; Check each switch 10 times
(max)
check_command check-host-alive ; Default command to
check if routers are "alive"
notification_period host_time ; Send notifications
at any time
notification_interval 30 ; Resend notifications
every 30 minutes
notification_options d,r ; Only send notifications
for specific host states
contact_groups admins ; Notifications get sent to
the admins by default
register 0 ; DONT REGISTER THIS - ITS JUST A
TEMPLATE
}
Explication:
Name : Nom du template;
Use : Nom du template standard
à utiliser;
Check_period : Indique les
périodes de supervision ;
Check_interval : pas de
vérification, ici 5 minutes;
Max_check_attempts : Nombre
check maximum effectué;
Check_command : Nom de la
commande à appliquer à l'hôte;
Notification_period : Indique
les périodes de notification ;
Notification_interval: Temps après lequel la
notification est renvoyée;
Notification_options: Indique le
type de notification à envoyer;
Contact_group : Le groupe
d'individu à alerter ;
Register permet d'indiquer qu'on est
en face d'un template.
Le « template »
pour le service
define service{
name
router-service ; The 'name' of this service template
use generic-host ; Inherit default values
from the generic-host template
active_checks_enabled 1 ;
Active service checks are enabled
passive_checks_enabled 1 ;
Passive service checks are enabled/accepted
notifications_enabled 1 ;
Service notifications are enabled
event_handler_enabled 1 ;
Service event handler is enabled
flap_detection_enabled 1 ;
Flap detection is enabled
failure_prediction_enabled 1 ;
Failure prediction is enabled
process_perf_data 1 ;
Process performance data
retain_status_information 1 ;
Retain status information across program restarts
retain_nonstatus_information 1 ;
Retain non-status information across program restarts
is_volatile 0 ;
The service is not volatile
check_period check_router
; The service can be checked at any time of the day
max_check_attempts 3
;
normal_check_interval 10 ; Check
the service every 10 minutes under normal conditions
retry_check_interval 2
;
contact_groups admins
;
notification_options w,u,c,r ;
notification_interval 60 ;
Re-notify about service problems every hour
notification_period
router_notification ; Notifications can be sent out at any
time
register 0 ;
C'est un template!
}
Il est en quelques points identiques au
template pour l'hôte.
« Template »
pour le contact
define contact{
name
generic-contact ; The name of this contact template
service_notification_period host_time ;
service notifications can be sent anytime
host_notification_period host_time ;
host notifications can be sent anytime
service_notification_options w,u,c,r,f,s ;
send notifications for all service states, flapping events, and scheduled
downtime events
host_notification_options d,u,r,f,s ;
send notifications for all host states, flapping events, and scheduled downtime
events
service_notification_commands
notify-service-by-email ; send service notifications via email
host_notification_commands
notify-host-by-email ; send host notifications via email
register 0
}
Ajoutons maintenant l'hôte à superviser.
define host{
use generic-router ; Indique le template à
utiliser;
host_name Cisco1700 ; Nom du
routeur
alias Routeur Internet : Plus vaste
description;
address 172.16.16.254 ; groupe auquel appartient
le routeur;
hostgroups routers ; groupe auquel appartient le
routeur;
}
Effectuons des ping sur l'hôte en question.
define service{
use generic-service ; Inherit values from a
template
host_name Cisco1700
service_description PING ; Description sur le
service
check_command check_ping!200.0,20%!600.0,60% ;
Options de la commande
normal_check_interval 5 ; Check effetué toutes les
5minutes retry_check_interval 1 ; Re-check toutes les
minutes.
}
Indiquons le contact à alerter.
define contact{
contact_name Parfait ;
Nom du contact
use generic-contact ;
alias Parfait
Eloundou
email
parfait.eloundou@groupecicam.com ; e-mail de l'administrateur
}
Vérifions notre configuration et redémarrons
Nagios :
Commande : # /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg
Si tout s'est bien passé, on devrait avoir :
...
...
Total Warnings :0
Total Errors 0
...
...
Commande : # /etc/init.d/nagios
restart
Notre serveur est prêt pour superviser notre routeur
internet. Notre maître de stage recevra un mail si le routeur est
inaccessible. De même, si 20% des paquets sont perdus lors du ping, une
alerte de WARNING est envoyée ainsi qu'une
alerte CRITICAL en cas de perte de 60% de paquets.
Cette manipulation est à effectuer à chaque fois que nous
souhaitons ajouter un hôte à superviser.
Si nous souhaitons éviter les fichiers de
configurations, nous pouvons profiter de quelques outils comme
Centreon qui donne une interface administrative
à Nagios. L'avantage ici est que plusieurs personnes pourront
administrer nagios via Centreon.
II-V-5-f) Installation de Centreon
Afin de faciliter la communication entre nagios et Centreon,
nous créons une base de données
« ndo » et utiliserons le plugin
NDOUtils.
II-V-5-f-1) Pré requis
Création de la base de données ndo
# mysqladmin -u root -p create ndo
# mysql -u root -p mysql
Installation de phpmyadmin pour
manipuler les bases de données (Surtout pour donner tous les droits sur
la base ndo à l'utilisateur nagios).
# apt-get install phpmyadmin
II-V-5-f-2) Installation de NDOUtils.
Téléchargeons et compilons les sources de
NDOUtils
# cd /usr/src/
# wget
http://dfn.dl.sourceforge.net/sourceforge/nagios/ndoutils-1.4b8.tar.gz
# tar zxvf ndoutils-1.4b8.tar.gz
# cd ndoutils-1.4b8.tar.gz
# ./configure -disable-pgsql
-with-mysql-lib=/usr/lib/mysql -with-ndo2db-user=Nagios
-with-ndo2db-group=nagiosgrp
# make
# cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
# cp src/ndo2db-3x
/usr/local/nagios/bin/ndo2db
Modifions le fichier de nagios :
# gedit /usr/local/nagios/etc/nagios.cfg
event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o
config_file=/usr/local/nagios/etc/ndomod.cfg
# cp config/ndomod.cfg /usr/local/nagios/etc/
Modifions le fichier ndomod.cfg :
# gedit /usr/local/nagios/etc/ndomod.cfg
instance_name=Central
output_type=unixsocket
output=/usr/local/nagios/var/ndo.sock
tcp_port=5668
output_buffer_items=5000
buffer_file=/usr/local/nagios/var/ndomod.tmp
# cp config/ndo2db.cfg /usr/local/nagios/etc/
Modifions le fichier
ndo2db.cfg :
# gedit /usr/local/nagios/etc/ndo2db.cfg
ndo2db_user=nagios
ndo2db_group=nagiosgrp
socket_type=unix
socket_name=/usr/local/nagios/var/ndo.sock
tcp_port=5668
db_servertype=mysql
db_host=localhost
db_name=ndo
db_port=3306
db_prefix=nagios_
db_user=ndouser
db_pass=ndopassword
Rattrapons les droits sur les fichiers :
# chmod 774 /usr/local/nagios/bin/ndo*
# chown nagios:nagiosgrp /usr/local/nagios/bin/*
# chown nagios:nagiosgrp
/usr/local/nagios/etc/ndo*
Initialisons la base de données :
# ./installdb -u nagios -p nagios -h localhost -d
ndo
Automatisons le lancement de ndo2db pour qu'il se lance au
démarrage du serveur en créant le fichier /etc/init.d/ndo2db et
en y copiant le script suivant :
#!/bin/sh
#
#
# chkconfig: 345 99 01
# description: Nagios to mysql
#
# Author : Ga«tan Lucas
# Realase : 07/02/08
# Version : 0.1 b
# File : ndo2db
# Description: Starts and stops the Ndo2db
daemon
# used to provide network services
status in a database.
#
status_ndo ()
{
if ps -p $NdoPID > /dev/null 2>&1;
then
return 0
else
return 1
fi
return 1
}
printstatus_ndo()
{
if status_ndo $1 $2; then
echo "ndo (pid $NdoPID) is
running..."
else
echo "ndo is not running"
fi
}
killproc_ndo ()
{
echo "kill $2 $NdoPID"
kill $2 $NdoPID
}
pid_ndo ()
{
if test ! -f $NdoRunFile; then
echo "No lock file found in
$NdoRunFile"
echo -n " checking runing
process..."
NdoPID=`ps h -C ndo2db -o
pid`
if [ -z "$NdoPID" ]; then
echo " No ndo2db process
found"
exit 1
else
echo " found process pid:
$NdoPID"
echo -n " reinit $NdoRunFile
..."
touch $NdoRunFile
chown $NdoUser:$NdoGroup
$NdoRunFile
echo "$NdoPID" >
$NdoRunFile
echo " done"
fi
fi
NdoPID=`head $NdoRunFile`
}
# Source function library
# Solaris doesn't have an rc.d directory, so do a
test first
if [ -f /etc/rc.d/init.d/functions ];
then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ];
then
. /etc/init.d/functions
fi
prefix=/usr/local/nagios
exec_prefix=${prefix}
NdoBin=${exec_prefix}/bin/ndo2db
NdoCfgFile=${prefix}/etc/ndo2db.cfg
NdoRunFile=${prefix}/var/ndo2db.run
NdoLockDir=/var/lock/subsys
NdoLockFile=ndo2db.lock
NdoUser=nagios
NdoGroup=nagcmd
# Check that ndo exists.
if [ ! -f $NdoBin ]; then
echo "Executable file $NdoBin not found.
Exiting."
exit 1
fi
# Check that ndo.cfg exists.
if [ ! -f $NdoCfgFile ]; then
echo "Configuration file $NdoCfgFile not found.
Exiting."
exit 1
fi
# See how we were called.
case "$1" in
start)
echo -n "Starting ndo:"
touch $NdoRunFile
chown $NdoUser:$NdoGroup
$NdoRunFile
$NdoBin -c $NdoCfgFile
if [ -d $NdoLockDir ]; then
touch
$NdoLockDir/$NdoLockFile;
fi
ps h -C ndo2db -o pid >
$NdoRunFile
if [ $? -eq 0 ]; then
echo " done."
exit 0
else
echo " failed."
$0 stop
exit 1
fi
;;
stop)
echo -n "Stopping ndo: "
pid_ndo
killproc_ndo
# now we have to wait for ndo to exit and
remove its
# own NdoRunFile, otherwise a following
"start" could
# happen, and then the exiting ndo will
remove the
# new NdoRunFile, allowing multiple ndo
daemons
# to (sooner or later) run
#echo -n 'Waiting for ndo to exit
.'
for i in 1 2 3 4 5 6 7 8 9 10 ;
do
if status_ndo > /dev/null;
then
echo -n '.'
sleep 1
else
break
fi
done
if status_ndo > /dev/null;
then
echo
echo 'Warning - ndo did not exit in a
timely manner'
else
echo 'done.'
fi
rm -f $NdoRunFile
$NdoLockDir/$NdoLockFile
;;
status)
pid_ndo
printstatus_ndo ndo
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: ndo
{start|stop|restart|status}"
exit 1
;;
esac
# End of this script
Rendons le script exécutable :
Commande : # chown root:root /etc/init.d/ndo2db
Commande : # chmod 755
/etc/init.d/ndo2db
Commande : # update-rc.d ndo2db
defaults
Commande : # /etc/init.d/ndo2db
start
Relançons nagios :
Commande : # /etc/init.d/nagios
restart
...
...
done
Puis on télécharge les sources de Centreon sur
sourgeforge.net que l'on déplacera dans /usr/src/
Commande : # cp /media/THEYOS/centreon-2.0.2.tar.gz
/usr/src/
Allons décompresser l'archive.
# tar zxvf centreon-2.0.2.tar.gz
# cd centreon-2.0.2
Lançons l'assistant en répondant à toutes
les questions, qui sont régulièrement des confirmations de
répertoire
# ./install.sh -i
...
...
...
...
Where is your NDO ndomod binary ?
default to [/usr/sbin/ndomod.o]>
/usr/local/nagios/bin/ndomod.o
...
...
...
Attendre que tout évolue jusqu'à la fin de
l'initialisation de l'installation.
Initialisation de Centreon
complète
Il est conseillé d'optimiser la base de données
ndo
# cd /usr/src/centreon-2.0.2/www/install
# mysql -u root -p ndo < ./createNDODB.sql
# mysql -u root -p
Puis grâce à phpmyadmin
on donne tous les droits à l'utilisateur Nagios sur la base
« ndo ». Reste plus qu'à
poursuivre l'installation de Centreon via l'interface web en ouvrant notre
navigateur et en tapant
http://localhost/centreon/ puis
suivre l'assistant.
Cliquer sur
« next »
Renseigner les champs
Fournir les informations
Désactivons l'authentification
LDAP
Cliquer pour compléter
l'installation
Ceci nous redirigera vers la page de login.
Page de login
II-V-5-f-3) Configurations de Centreon
Nous remarquons que la première page est une page
d'erreur.
Echec de connexion à la base
ndo
Nous allons corriger cela, en allant dans
configurations>Centreon>ndo2db.cfg>principal
Cliquer sur principal
Remplir les champs
Compléter les champs.
Remplir les champs dans l'onglet
« Database ».
De même dans
configuration>Centreon>ndomod.cfg et saisir
Socket type: unixsocket
Output:
/usr/local/nagios/var/ndo.sock
Buffer File: /usr/local/nagios/var/ndomod.tmp >
principal
Configuration/Centreon/ndomod.cfg/principal
En revenant à la page d'accueil, l'erreur aura
disparu.
Accueil sans erreur
Centreon ainsi installer s'utilise de façon très
intuitive pour manipuler Nagios. Ajout d'hôte, service à
superviser et contact à alerter. Il suffit juste de ce rendre dans
l'onglet configuration. L'objectif étant de
gérer Nagios via Centreon, on doit exporter les hôtes/services
ajouter via Centreon, vers Nagios. On doit tout d'abord rattraper les droits
sur le répertoire /usr/local/nagios/etc/
Commande : # chmod -R 774
/usr/local/nagios/etc
Puis se rendre dans
configuration/nagios/export, tout en veillant
à ne pas avoir d'erreurs.
Notre serveur est ainsi configuré et tourne
normalement. Reste plus qu'à lui permettre de générer des
graphes sur les ressources superviser. Ceci sera fait grâce à
pnp4nagios
Nous n'avons cependant pas utilisé Centreon car nous
souhaitions garder le contrôle de nos fichiers de configurations. C'est
pour cette raison que nous installerons Openssh afin
de manipuler aisément ces fichiers, même à distance et de
façon sécurisée.
II-V-5-g) Installation et configuration de SSH
Commande : apt-get install ssh
Nous empêcherons le login avec le compte
« root » et modifiant le fichier
/etc/ssh/sshd_conf
Empêchons le login distant du
« root »
Désormais, notre serveur acceptera des connexions via
ssh depuis tous les postes du réseau
II-V-5-h) PNP4Nagios
Pnp4nagios est un outil permettant de générer
des graphes de performances sur les résultats renvoyés par les
plugins de Nagios. Nous allons télécharger ses sources et
l'installer sur notre serveur
II-V-5-h-1) Installation
# cd /usr/src
# wget
http://downloads.sourceforge.net/pnp4nagios/pnp-0.4.14.tar.gz
# tar zxvf pnp-0.4.14.tar.gz
# cd pnp-0.4.14
# ./configure
--with-perfdata-dir=/usr/local/nagios/var/perfdata/
--with-init-dir=/etc/init.d/
# make all
# make install
# make install-config
# make install-init
II-V-5-h-2 Configurations
Modifions le fichier
/usr/local/nagios/nagios.cfg
# gedit /usr/local/nagios/nagios.cfg
process_performance_data=1
#
# service performance data
#
service_perfdata_file=/usr/local/nagios/var/service-perfdata
service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$\tSERVICEOUTPUT::$SERVICEOUTPUT$
service_perfdata_file_mode=a
service_perfdata_file_processing_interval=15
service_perfdata_file_processing_command=process-service-perfdata-file
#
# host performance data starting with Nagios
3.0
#
host_perfdata_file=/usr/local/nagios/var/host-perfdata
host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tHOSTOUTPUT::$HOSTOUTPUT$
host_perfdata_file_mode=a
host_perfdata_file_processing_interval=15
host_perfdata_file_processing_command=process-host-perfdata-file
Puis modifier le fichier
/usr/local/Nagios/etc/objects/commands.cfg pour y
ajouter des commandes.
# gedit
/usr/local/Nagios/etc/objects/commands.cfg
define command{
command_name
process-service-perfdata-file
command_line /bin/mv
/usr/local/nagios/var/service-perfdata
/usr/local/nagios/var/spool/perfdata/service-perfdata.$TIMET$
}
define command{
command_name
process-host-perfdata-file
command_line /bin/mv
/usr/local/nagios/var/host-perfdata
/usr/local/nagios/var/spool/perfdata/host-perfdata.$TIMET$
}
Le fichier
/usr/local/Nagios/etc/objects/template.cfg aussi doit
être modifié pour y ajouter des
« templates »
# gedit
/usr/local/Nagios/etc/objects/templates.cfg
define host {
name host-pnp
register 0
action_url
/nagios/pnp/index.php?host=$HOSTNAME$
}
define service {
name srv-pnp
register 0
action_url
/nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
}
Renommer des fichiers de pnp.
# cd /usr/local/nagios/etc/pnp
# cp rra.cfg-sample rra.cfg
# cp npcd.cfg-sample npcd.cfg
Puis modifier le fichier
« npcd.cfg ».
# gedit
/usr/local/nagios/etc/npcd.cfg
Log_level=-1
Reste plus qu'à ajouter le
«action_url» dans la description de
l'hôte/service à grapher.
Nous avons ainsi la possibilité de
générer des graphes mais avant, vérifions notre
configuration et redémarrons Nagios :
Commande : # /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg
Commande : # /etc/init.d/nagios
restart
On pourra désormais remarquer la présence d'une
icône sur
l'hôte/service en question et un clic dessus affiche ces graphes.
Localhost graphé
Aperçu d'hôtes/services
graphés
Graphe sur l'usage de la partition swap du
serveur
II-V-5-i) Utilisation du protocole snmp.
Comme nous l'avons signalé plus haut, le protocole
snmp permet de véhiculer des informations de gestion sur le
réseau. Nous allons pouvoir configurer notre serveur pour qu'il accepte
des requêtes snmp venant du réseau.
II-V-5-i-1) Installation d'un serveur snmp
Nous ferons de notre serveur un serveur snmp. Pour se faire
nous utiliserons le paquet snmpd installé en
pré requis. Ou au besoin, exécuter la commande
Commande :# apt-get install
snmpd.
II-V-5-i-2) Configuration
L'installation étant faite, il ne nous reste plus
qu'à configurer notre serveur. Editons le fichier
/etc/snmp/snmpd.conf mais avant, faisons un backup
# cd /etc/snmp/
# cp snmpd.conf snmpd.conf.old
###Extrait de snmpd.conf###
###Le fichier doit ressembler à celui-ci
après la modification###
...
...
#com2sec paranoid default cicam
com2sec local localhost cicam
com2sec localNet
172.16.16.0 /24 cicam
#com2sec readwrite default private
...
...
group MyROSystem v1 local
group MyROSystem v2c
local
group MyROSystem usm local
group MyROGroup v1 localnet
group
MyROGroup v2c localnet
group MyROGroup usm localnet
group MyRWGroup v1
local
group MyRWGroup v2c local
group MyRWGroup usm
local
...
...
####
# Third, create a view for us to let the
groups have rights to:
# incl/excl subtree mask
view all included .1
80
view system included
.iso.org.dod.internet.mgmt.mib-2.system
...
...
####
# Finally, grant the 2 groups access to the 1
view with different
# write permissions:
# context sec.model
sec.level match read write notif
access MyROSystem "" any noauth exact
system none none
access MyROGroup "" any noauth exact all none
none
access MyRWGroup "" any noauth exact all all none
...
..
###Fin extrait###
Nous pouvons tester notre configuration avec la commande
suivante
#snmpwalk localhost -c cicam -v1
« cicam »
représente ici le nom de la
« communauté » snmp, une
sorte de mot de passe entre l'agent et le serveur. Ce nom est à
retenir
Si nous n'avons pas d'erreurs, alors, la configuration serait
correcte. On vera donc l'aperçu de la MIB de notre serveur
s'afficher.
II-VI) Intégration à la Cicam
Ayant définit nos attentes, nous passons ici à
l'intégration proprement dite à savoir :
· Superviser un poste Windows ;
· Superviser les routeurs (Internet, VPN local et
distant) ;
· Superviser la connexion Internet ;
· Envoyer les alertes.
II-VI-1) Les postes Windows
Il s'agit du poste de notre maître de stage. Les
configurations identiques pourraient se faire sur les autres postes/serveurs du
réseau.
II-VI-1-a) Coté client
Nous devons installer un plugin sur le poste en question
à savoir : NSClient++.
Interaction nagios/check_nt et
NSClient
Téléchargeons
NSClient++ sur sourceforge.net
et installons le sur notre poste windows.
Décompressons NSClient++ dans
c:\nsclient ;
Ouvrons l'invite de commande et tapons :
Cd c:\nsclient ;
Nsclient++ /install ;
Ouvrir le gestionnaire de services
(services.msc) et verifier que le service est
autoriser à interagir avec le bureau.
Propriétés du service
NSClientpp
Ouvrons le fichier
c:\nsclient\NSC.INI ;
Dé commentons tous les modules sauf
« CheckWMI.dll » et
« RemoteConfiguration.dll » ;
Ajoutons l'IP du serveur nagios
(172.16.16.133) en dé commentant
« allowed_host » de la section
« settings » ;
Démarrons NSClient :
Cd \nsclient ;
Nsclient++ /start.
II-VI-1-b) Coté serveur
Modifions le fichier
/usr/local/Nagios/etc/nagios.cfg en dé
commentant la ligne
#
cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Récupérons la version de NSClient
installée ;
Commande :# cd
/usr/local/nagios/libexec
Commande :# ./check_nt -H 172.16.16.25 -v
CLIENTVERSION -p 12489 -s Cicam2009
Créons les « templates » pour
l'hôte ;
define host{
name windows ; The name of this host
template
use generic-host ; Inherit default values from the
generic-host template
check_period windows_time ; By default, Windows
servers are monitored round the clock
check_interval 60 ; Actively check the server
every 60 minutes
retry_interval 1 ; Schedule host check retries at
1 minute intervals
max_check_attempts 10 ; Check each server 10 times
(max)
check_command check-host-alive ; Default command to
check if servers are "alive"
notification_period windows_notification ; Send
notification out at any time - day or night
notification_interval 300 ; Resend notifications
every 300 minutes
notification_options d,r ; Only send notifications
for specific host states
contact_groups admins ; Notifications get sent to
the admins by default
hostgroups windows ; Host groups that Windows
servers should be a member of
register 0
}
« windows_time »
et
« windows_notification » sont
définit dans le fichier timeperiods.cfg
Définissons l'hôte en question dans
/usr/local/nagios/etc/objects/windows.cfg ainsi que
les ressources supervisés.
define host{
use windows ; Inherit default values from a
template
host_name parfait ; The name we're giving to this
host
alias Parfait PC ; A longer name associated with
the host
address 172.16.16.25 ; IP address of the
host
action_url
/nagios/pnp/index.php?host=$HOSTNAME$
}
###Services Pour Parfait###
define service{
use windows-service
host_name parfait
service_description CPU Load
check_command check_nt!CPULOAD!-l
5,80,90
action_url
/nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
}
define contact{
contact_name Parfait ; Nom du
contact
use generic-contact ;
alias Parfait
Eloundou
email
parfait.eloundou@groupecicam.com ; e-mail de Parfait Eloundou
}
L'hôte de nom parfait et d'IP
172.16.16.25 sera surveillé et une alerte sera
envoyée à l'administrateur si :
· Pendant 5 minutes le processeur est utilisé
à 80% (WARNING) ;
· Pendant 5 minutes le processeur est utilisé
à 90% (CRITICAL).
Ceci n'est qu'un aperçu des possibilités qui
s'offrent à nous.
II-VII) Les routeurs
Tout se fait ici coté serveur
Modifions le fichier
/usr/local/Nagios/etc/nagios.cfg en dé commentant la
ligne
#
cfg_file=/usr/local/nagios/etc/objects/switch.cfg
Allons éditer le fichier
/usr/local/nagios/etc/objects/switch.cfg en y
ajoutant routeur(s) et service(s)
define host{
use generic-router
host_name Cisco1700
alias Routeur internet
address 172.16.16.254
hostgroups routers ;
}
define service{
use generic-service
host_name Cisco1700
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}
Le router Internet sera ainsi surveillé. Une alerte de
WARNING sera émise si 20% de paquets sont
perdus et une de CRITICAL si 60% sont perdus.
On pourra ajouter le même service pour tous les routeurs
en respectant la même procédure
define host{
use generic-router
host_name Cisco1800
alias Routeur VPN
address 172.16.16.1
hostgroups routers ;
}
L'état d'un port du routeur
define service{
use generic-service ; Inherit values from a
template
host_name Cisco1800
service_description Port 1 Link
Status
check_command check_snmp!-C cicam -o
ifOperStatus.1 -r 1 -m RFC1213-MIB
}
Ceci permettra de connaître l'état du port 1 du
routeur
NB : router
doit être compatible et configurer pour l'envoie des requêtes snmp.
(Voir annexe pour la configuration).
II-VIII) Pour les routeurs distants
define host{
use generic-router
host_name Cisco_Ydé_kennedy
alias Routeur boutique Cicam Yaoundé Avenue
Kennedy.
address 172.16.4.1
parents Cisco1700 ; Pour signaller que l'on
passé par ce routeur
hostgroups routers ;
}
II-IX)
Pour internet
define host{
use generic-router
host_name Internet
alias Connexion Internet de Cicam
1.
address
www.google.fr
; Ping d'un serveur web
parents Cisco1800 ; Pour signaller que l'on
passé par ce routeur
hostgroups routers ;
}
define service{
use generic-service
host_name Internet
service_description PING ; Un ping sera fait vers
Google
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 10
retry_check_interval 1
}
Nous avons donc un minimum à superviser et la carte de
notre réseau se dessine progressivement.
Carte du réseau avec déjà
quelques hôtes
II-X)
Les notifications
Pour que notre serveur puisse envoyer des notifications sur
l'état des hôtes il faut faire de lui un serveur de
messagerie pour permettre l'envoie de notifications par mails et/ou le
configurer en serveur SMS pour permettre l'envoie de notifications par
sms.
II-X-1) Notifications par mails
Nous installerons et configurerons
postfix pour faire de notre serveur un serveur de messagerie.
II-X-1-a) Installation et configuration de Postfix
Commande # apt-get install postfix
Cette installation est interactive. Il faut juste
répondre aux questions posées. L'important est de configurer un
« système satellite ».
Dans ce cas, Nagios fera transiter ses mails par le serveur mail de la
Cicam.
Choix du type de serveur à
installer
Choix du préfix des mails
Reste plus qu' à modifier le fichier
/etc/postfix/main.cf.
### Extrait de main.cf###
...
...
...
myhostname = INFO-STAGE
...
...
mydestination = INFO-STAGE, localhost.localdomain,
localhost, Svrmail.groupecicam.local
relayhost = 172.16.16.252
mynetworks = 127.0.0.0/8 172.16.16.0/24
[::ffff:127.0.0.0]/104 [::1]/128
...
...
###Fin extrait###
Relayhost= IP du serveur mail de la
Cicam.
Mynetworks = renseigne sur mon
réseau..
Notre serveur est ainsi configuré pour l'envoi de mails
en cas de problème. Reste plus qu'à ajouter les contacts dans le
fichier de contact.cfg.
II-X-2) Notifications par SMS
Nous avons jugé nécessaire d'envoyer de
notifications par sms. En effet, les notifications par mails sont
intéressantes mais, l'administrateur doit être devant son PC pour
les lire. De plus, s'il est en déplacement, il doit forcement se rendre
dans un cyber ou une boutique Cicam pour lire ses mails.
Mais, comment serait il avisé :
· S'il se trouve sur l'axe Douala-Yaoundé lorsque
la connexion Internet ne répond plus?;
· Si c'est le serveur de messagerie qui ne répond
plus ?
Quelques questions qui ont poussés à mettre sur
pied une passerelle GSM, afin que des SMS soient envoyés en cas de
problème.
Bien qu'il existe des solutions payantes de pack SMS, nous
avons décidé de « piloter » un Mobile GSM
avec notre serveur afin qu'il fasse cette tâche. Pour cella, nous avons
besoin :
· D'un téléphone mobile (LG
Shine KE970 dans notre cas) ;
· D'un câble Data Link
pour la connexion GSM-PC (qui permet aussi de charger
le GSM) ;
· D'un abonnement GSM chez l'un
de nos opérateurs mobiles (MTN ou
Orange) ;
· Du paquet « gsmutils »
du DVD-1, qui installe la librairie
« gsmlib ».
Le téléphone doit aussi avoir un logiciel de
synchronisation. Même s'il ne nous servira pas, c'est l'assurance qu'il
peut se gérer sur un ordinateur, du moins avec un système
Microsoft.
II-X-2-a) Installation de gsmutils
Ceci se fait simplement avec la commande suivante.
Commande : apt-get install
gsmutils
L'installation crée le groupe
« gsmsms » qui a le droit
d'envoyer des sms.Connectons notre mobile et allons rechercher
son « device »
associé dans /dev/
En fait, on doit avoir /dev/ttyACM0
ou /dev/ttyUSB0.
Périphérique associé à
notre téléphone (/dev/ttyACM0)
Ce nom nous permettra plus tard d'envoyer les sms. Nous
pouvons obtenir plus d'informations sur notre téléphone en
saisissant la commande ci-dessous.
Commande : gsmctl -d /dev/ttyACM0
ALL
Résultat de la commande gsmctl -d
/dev/ttyACM0 ALL
Notre mobile ayant été détecté,
faisons un test d'envoi
Le 77533588 recevra quasi instantanément le message de
test. Reste plus qu'à configurer nagios pour qu'il puisse envoyer des
notifications pas sms.
II-X-2-b) Intégration à Nagios
Tout d'abord, faisons de l'utilisateur Nagios un membre de
« gsmsms ».
Commande : adduser nagios
gsmsms
Puis, créons les commandes d'envoie d'sms dans le
fichier /usr/local/nagios/etc/objects/commands.cfg
Commande :# gedit
/usr/local/nagios/etc/objects/commands.cfg
...
...
...
define command{
command_name
service-notify-by-sms
command_line /usr/bin/gsmsendsms -d
/dev/ttyACM0 $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$ :
$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ ($OUTPUT$)"
}
define command{
command_name
host-notify-by-sms
command_line /usr/bin/gsmsendsms -d /dev/
ttyACM0 $CONTACTPAGER$ "Nagios - $NOTIFICATIONTYPE$ : Host $HOSTALIAS$ is
$HOSTSTATE$ ($OUTPUT$)"
}
...
...
...
Il faudra surtout renseigner le champ
« pager » du contact en y
déclarant son numéro de mobile au format international, sans les
« 00 ».
define contact{
contact_name Parfait ; Nom du
contact
use generic-contact ;
alias Parfait
Eloundou
email
parfait.eloundou@groupecicam.com ; e-mail de Parfait Eloundou
pager +23777910516 ; Ceci est mon
numéro à moi
}
Ne surtout pas oublier de modifier le
« template »
« generic-contact » pour que les
notifications par sms soient prises en compte. Ou bien créer un
« template » personnalisé.
define contact{
name
generic-contact
service_notification_period host_time
host_notification_period host_time
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
service_notification_commands
notify-service-by-email ; envoi de notifications par mails
service_notification_commands
service-notify-by-sms ; envoi de notifications par sms
host_notification_commands
host-notify-by-sms ; envoi de notifications par sms
host_notification_commands
notify-host-by-email ; envoi de notifications par mail
register 0
}
Nous avons ainsi, un serveur capable de répondre aux
attentes que nous nous sommes fixées au début de notre stage. Et
le plus intéressant c'est sa capacité d'envoyer des sms.
I-XI) Conclusion.
Nous arrivons ainsi au terme de cette phase qui a
occupée une bonne partie de notre stage. Nous avons réussi
à mettre sur pied un serveur de supervision correct et à faire
des tests jugés concluants. Ceci s'est fait avec le soutient plus que
précieux de nos encadreurs Il ne reste plus qu'à étendre
son champs d'actions sur nos divers serveurs, en veillant surtout à
éviter tout arrêt de service.
III)
Conclusion générale.
Au terme de ce stage, nous pouvons dire qu'avoir un
réseau c'est bien mais, se munir de puissant d'outils d'administration
et de décisions c'est encore mieux. Bien que notre travail ne soit pas
parti d'un besoin exprimé, nous avons pu prouver de son importance. Nos
encadreurs ont rapidement compris sa nécessité et nous ont permis
de nous enrichir en expérience et de serieux.
Nous avons été étonné des
possibilités qui s'offraient à nous après la mise sur pied
de notre serveur. Nagios, bien que assez complexe
à configurer, nous permet ainsi de surveiller, maîtriser et
réagir au comportement de notre réseau, tout en nous faisant
profiter de la puissance des systèmes Linux.
Il ne nous reste plus qu'à assurer l'inévitable
travail de veille, afin d'avoir un système répondant toujours
à nos attentes, dans un domaine comme l'informatique,
réputé pour ses constantes évolutions.
Glossaire
CPD : Contrôleur
Principal de Domaine.
DNS: Domain name Service.
IEEE: Institute of Electrical and
Electronical Enginner.
GSM: Global System for
Mobile Communication.
OID: Object Identifier.
PC : Personnal Computer.
SNMP : Simple Network
Management Protocol.
SODECOTON :
Société de Développement du Coton.
TCP/IP : Transmission Control
Protocol/Internet Protocol.
WEBOGRAPHIE
www.commentcamarche.net
www.nagios.org
www.debian.org
www.cisco.com
www.centreon.com
http://nagios-fr.org
http://blog.nicolargo.com
www.siteduzero.com
BIBLIOGRAPHIE
« Cahier de l'Admin. Debian
Etch » Raphaël HERTZOG, Ed Eyrolles, Collection Nat
MAKAREVITCH.
RAPPORTS DE STAGE
« Administration d'un réseau,
Lycée hôtelier de la Rochelle » Julien GUELLEC, IUT de
la Rochelle promotion 2004-2006.
« Mise en place d'une solution open source
de supervision : Hyperic HQ», EKWA BEKOK Louis Thierry, IAI-Cameroun,
Année académique 2007/2008.
« Rapport de stage SABC-Centre", YOSSA
Rodrigue, IAI-Cameroun, Année académique
2007/2008.
Annexes
ROUTEURS
Configurons notre routeur pour l'envoie de requêtes snmp
vers notre serveur
###Configuration du snmp sur le router vpn###
INFO-STAGE>telnet 172.16.16.1
Trying 172.16.16.1...
User Access Verification
Password:
Router_VPN_Cicam_I>enable
Password:
Router_VPN_Cicam_I#configure
terminal
Enter configuration commands, one per line. End with
CNTL/Z.
Router_VPN_Cicam_I(config)#snmp-server community
cicam RO
Router_VPN_Cicam_I(config)#snmp-server community
private RW
Router_VPN_Cicam_I(config)#exit
Router_VPN_Cicam_I(config)#write
memory
Building configuration...
###Fin de la config###
Verification
###
Router_VPN_Cicam_I(config)#show
running-config
...
...
snmp-server community cicam RO
snmp-server community private RW
###
Tests :
Depuis le serveur avec la commande suivante pour avoir notre
MIB :
Commande #snmpwalk -v 2c -c cicam 172.16.16.1
system
NAGIOS
Ecran d'acceuil de nagios
MAP : Affiche la carte du
réseau;
Hosts : Affiche les hôtes du
réseau;
Services : Affiche les services par
hôtes;
Host groups : Affiche les hôtes par
groupe ;
Problème : Liste les problèmes
constatés;
Carte évolutive du
réseau
Une vue de
« Hosts »
Une vue de
« Services »
Une vue de « Host
Groups »
Une vue de
« Problèms »
DOCUMENTS ADMINISTRATIFS