WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise sur pied d'une solution de supervision- réseaux

( Télécharger le fichier original )
par Rodrigue YOSSA
Institut africain d'informatique représentation du Cameroun - En vue de l'obtention du diplôme d'ingénieur des travaux informatiques 2009
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    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






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand