Supervision Avec Nagios

February 20, 2017 | Author: ClubTutorielInformatique | Category: N/A
Share Embed Donate


Short Description

Download Supervision Avec Nagios...

Description

L’ISGIMarrakech

Techniciens Spécialisés en Techniques des Réseaux Informatiques

Rapport de Stage de Fin de Formation

Supervision Avec Nagios

Réaliser par :  NASSIR Abderrahim Encadrée Par: Mr. EL QASEMY Mustapha (ISGI) Mr. FETTOUH Abdessadeq (CIA)

2010 – 2011

Dédicace A toute ma famille qui m’a été toujours la garante d’une existence paisible et d’un avenir radieux. A ceux qui ont fait de leur mieux pour me soutenir durant ce travail.

A Mes professeurs à l’institut spécialisé de gestion et d’informatique de Marrakech. A tous ceux qui sont toujours dans mes pensées. A toutes ces personnes que j’ai senti redoutable de leur dédier ce modeste travail en terme d’amour et de profonde gratitude.

Abderrahim

Abderrahim NASSIR

2

Remerciement Avant d’entamer ce rapport de projet de fin d’études, je tiens à exprimer ma sincère gratitude envers tous ceux qui m’ont aidé ou ont participé au bon déroulement de ce projet. Tout d’abord, je tiens à remercier l’ensemble des enseignants de l’institut spécialisé de gestion et d’informatique de Marrakech. Je suis reconnaissante à tous mes professeurs pour leur disponibilité, leur soutien et leur aide technique. J’exprime mes sentiments de gratitude à tous mes professeurs Mr ELQASEMY Mustapha et Mr ERROUGUI Jawad et à tous ceux qui m’ont aidé ou encadré Mr FETTOUH Abdessadeq pour m’avoir transmis leur savoir et leur savoir faire dans les meilleures conditions possibles. Je tiens aussi à remercier tous les étudiants du TRI2A.

Abderrahim NASSIR

3

Avant Propos Personnes ne peut négliger l’importance des stages de fin de formation organisés en faveur des stagiaires au sein des divers entreprises pour les permettre d’appliquer les techniques acquis durant leur formation à l’ISTA, Un stage en milieu de travail est une occasion privilégiée de se familiariser avec les méthodes utilisées en milieu professionnel. L’entreprise CIA (Certification Integration Academy) dispose de nouvelles solutions et technologies qui existent dans le marché afin de garantir les prestations de service dans le domaine des nouvelles technologies et aussi au niveau logiciel lier a notre domaine de formation. Il nous a offert une opportunité pour découvrir une nouvelle méthode de gestion des parcs informatiques, en utilisant des outils de supervision. Nous allons présenter dans ce rapport les taches effectuées à partir d’un serveur de supervision dans le but d’une bonne gestion de parc informatique et ces ressources.

Abderrahim NASSIR

4

Sommaire Introduction .......................................................................................................................................................... 6 Partie A : Aperçu générale sur l’entreprise............................................................................................................. 7 1. Présentation ..................................................................................................................................................... 8 2. CIA Entrepris .................................................................................................................................................... 8 3. CIA Learning ................................................................................................................................................... 9 PARTIE B: Présentation du sujet et de son concept.............................................................................................. 10 I. Objectifs ........................................................................................................................................................... 11 1. Cadre et besoins ................................................................................................................................ 11 2. Cahier des charges ............................................................................................................................. 11 2.1. Réseau à superviser ............................................................................................................ 12 II. Supervision de réseaux .................................................................................................................................. 13 1. Définition ............................................................................................................................................ 13 2. Objectif ............................................................................................................................................... 13 3. Problématique ................................................................................................................................... 13 4. Solutions existantes .......................................................................................................................... 13 4.1. Les offres éditeurs ............................................................................................................. 14 4.2. Les offres libres ................................................................................................................. 14 5. Solution sélectionnée : Nagios .......................................................................................................... 14 5.1. Pourquoi Nagios ? ............................................................................................................. 14 5.1.1. C’est une solution libre ...................................................................................... 14 5.1.2. C’est une solution stable qui a fait ses preuves .................................................. 15 III. Nagios ........................................................................................................................................................... 15 1. Présentation de Nagios ..................................................................................................................... 15 2. Fonctionnement de Nagios ............................................................................................................... 15 3. Installation de Nagios ....................................................................................................................... 15 4. Interface graphique de Nagios ......................................................................................................... 20 IV. Les plugins .................................................................................................................................................... 20 1. Plugins principaux ............................................................................................................................. 22 2. Plugins retenus ................................................................................................................................. 25 V. Configuration de Nagios ................................................................................................................................ 29 VI. Centreon ....................................................................................................................................................... 29 1. Pourquoi Centreon ? ......................................................................................................................... 29 2. Installation de Centreon .................................................................................................................... 30 3. Configuration de Centreon ............................................................................................................... 34 VII. NSClient++ .................................................................................................................................................. 35 1. Présentation de NSClient++ ............................................................................................................... 34 2. L’installation de l’agent ..................................................................................................................... 38 VIII. Notification ................................................................................................................................................. 38 1. E-mail ................................................................................................................................................ 38 2. SMS .................................................................................................................................................. 38 IX. Utilisation de Nagios .................................................................................................................................... 39 1. Etats du réseau ................................................................................................................................. 39 2. Récupération des informations.......................................................................................................... 39 X. Conclusion ...................................................................................................................................................... 40 Bibliographie........................................................................................................................................................ 41 Annexe ................................................................................................................................................................ 42

Abderrahim NASSIR

5

Introduction Les entreprises d'aujourd'hui sont de plus en plus dépendantes de leur système d'information et sont par conséquent de plus en plus vulnérables. La perte d'un serveur ou d'un actif réseau peut ralentir, voire stopper complètement leur activité. Les besoins en termes de disponibilité et de qualité de service n'ont jamais été aussi importants. Réagir rapidement en cas de panne devient donc absolument indispensable. Ce rapport

commence par une présentation du CIA (Certificed

Integration Academy), l’entreprise dans laquelle j’ai effectué mon stage, ensuite l’objectif de ce dernier qui d'installe et de configuré d'un serveur de supervision sous Nagios qui nous permettra de répondre à ces demandes.

Abderrahim NASSIR

6

PARTIE A Aperçu générale sur l’entreprise

Abderrahim NASSIR

7

1. Présentation CIA a été crée en 2007, pour le but d’apporter au marché ses qualités, qui la confiée de devenir un acteur majeur dans la conception et la mise en œuvre de solutions innovantes basées sur les toutes dernières technologies de l’information.

CIA est une société de Services, de Conseil et de Formation. Cette capitalisation professionnelle faite dans tous les domaines dans lesquels ils intervenant ils permet de vous apporter aujourd'hui des compétences recherchées à forte valeur ajoutée. C’est pour cette raison que CIA assure à ses collaborateurs une formation permanente dans les domaines de leur spécialité, et aussi par la participation active à l’ensemble des programmes de validation et de l’introduction des nouvelles technologies sur le marché.

2. CIA Entreprise CIA est une société qui offre aux clients des prestations de service dans le secteur des nouvelles technologies EITE, la maintenance de son réseau interne ainsi que la prestation de service au niveau logiciel. C’est une structure innovante qui s’adresse aux indépendants, TME, PME. Cos connaissance, leur expérience et leur savoir faire sont là pour vous guider aussi bien dans vos choix matériels et logiciels que dans l’optimisation et la performance de votre outil. ils vous assurent le développement sur mesures des applications modulaires, et aussi l’intégration des solutions spécifiques avec un accompagnement vers la plus grande autonomie et le démarrage dans les bonnes conditions. CIA dispose des dernières nouvelles solutions et technologies qui existent sur le marché afin de garantir les prestations de service dans le domaine des nouvelles technologies et aussi au niveau logiciel.

 Les Départements : CIA Entreprise se décomposent en plusieurs départements :      

Département Développement. Département Systèmes & Réseaux. Département Consulting. Département Vente. Département Certification. Département E-Learning.

Abderrahim NASSIR

8



Parmi ces technologies :

          

Les solutions VPN. Les solutions réseaux industriels. Les solutions de la voix sur IP (Open Source). Les solutions des caméras de supervision. Routage & Commutation. Sécurité Soft & Hardware. Installation des serveurs, migration des infrastructures réseaux et systèmes. Sauvegarde & Restauration des données et bases de données. Installation des salles multimédias. Développement des applications & des sites web professionnels. Vente de matériels informatiques.

3. CIA Learning La formation de société CIA est gérée par un corps enseignant d’universitaires et d’ingénieurs reconnus à l’échelle nationale et internationale. La démarche pédagogique privilégie les qualités de compétence, de déontologie et des relations humaines La société CIA Learning travaille depuis des années en partenariat avec le leader des hardwares réseaux « Cisco » et la compagnie mondiale « Microsoft » afin de former des ingénieurs, administrateurs et des techniciens certifiés. La formation en CIA est ouverte à tous les jeunes avec ou sans bac : tèmes, Logiciels & Bureautique. Maintenance Informatique Développement & Création des sites web. certification CISCO. certification Microsoft. interentreprises, conférences d'actualité. Certificats et diplômes sur-mesure. -entreprise, dispositifs sur mesure. Un corps enseignant de haut niveau: CIA Learning met à la disposition des étudiants un équipement pédagogique performant actif et mise à jour au fur et à mesure de l'apparition de nouvelles technologies:     

Laboratoire Microsoft et Cisco Centres d'examens : PROMETRIC, VUE, CERTIPORT Equipement Audio Visuel Accès à l'internet via satellite Salles répondants aux nouvelles méthodes d'apprentissage pédagogique.

Abderrahim NASSIR

9

PARTIE B Présentation du sujet et de son concept

Abderrahim NASSIR

10

I. Objectifs 1. Cadre et besoins Le stage se déroule dans un environnement comportant un parc d’une dizaine de machines et de quelques serveurs plus un routeur et des commutateurs. L’administrateur ne peut pas déterminer directement d’où vient le problème lorsqu’une machine est manquante sur le plan. Est-ce le port qui est désactivé, est ce la machine qui est éteinte ou l’interface réseau de cette machine qui est hors service ? L’administrateur ne peut pas non plus déterminer si un service particulier sur un serveur donné fonctionne correctement. Enfin, le simple fait de détecter qu’une anomalie existe derrière tel port de tel commutateur ne peut se faire sans regarder le plan de façon fréquente ou sans qu’un utilisateur ne déboule dans le bureau afin d’alerter l’administrateur. L’objet du stage est alors de trouver une solution afin de devenir « pro actif » face aux problèmes rencontrés, de pouvoir contrôler d’un simple coup d’œil l’état global du réseau, de déterminer l’origine d’un problème afin d’y remédier le plus rapidement possible. Ces quelques critères rentrent dans le domaine de la supervision de réseaux, essentiel pour assurer une disponibilité (souvent indispensable) du système d’information de l’entreprise. Nous définissons dans un premier temps ce que nous entendons par « supervision de réseaux » avant d’énoncer un comparatif des solutions actuelles du marché puis de nous pencher sur celle que nous avons choisie de mettre en place en présentant les notions l’entourant, pour cela on a construire un réseaux de test.

2. Cahier des charges L’administrateur réseaux devra pouvoir surveiller son réseau via une interface web sécurisée. N’importe qui ne doit pas pouvoir accéder à cette interface, elle devra donc être protégée par un mot de passe. L’interface web devra comporter une cartographie du réseau, présentant les différents postes utilisateurs, les serveurs, les éléments actifs et imprimantes. Cette cartographie devra explicitement décrire l’état des ces machines ; permettre d’identifier l’état des ports des commutateurs sur ces mêmes machine serait un plus. L’interface devra permettre également, étant donné une machine, de vérifier que les services tournent correctement ou non. Des renseignements supplémentaires sur les différentes machines (charge CPU, espace disque, mémoire disponible, etc.) pourront être renseignés. Enfin, lorsque des problèmes surviendront, l’administrateur devra être notifié par un courriel dont le contenu indiquera le service et/ou la machine défectueuse. La solution devra bien entendu être la moins chère possible, nous pouvons comprendre gratuite. Nous nous sommes donc orienté vers une solution du monde libre : Nagios. Abderrahim NASSIR

11

2.1. Réseau à superviser Le réseau que nous devons superviser est celui-ci :

Il sera composé : - D'un serveur "Nagios" qui s'occupera de la supervision du réseau, de la centralisation et de l'analyse des informations du réseau. - D'un poste client "WinXpWifi". - D'un poste client "Win7Wifi". - D'un poste client "WinVistaWifi". - D'un Routeur "Cisco" qui permettra de relier Le Serveur Nagios a Internet.

Abderrahim NASSIR

12

II. Supervision de réseaux Qu’est ce que la supervision de réseau, à quoi elle sert et que nécessite-t-elle pour être mise en place ? C’est ce que nous tentons d’expliquer dans cette partie.

1. Définition La supervision de réseaux peut être définie comme l’utilisation de ressources réseaux adaptées dans le but d’obtenir des informations (en temps réel ou non) sur l’utilisation ou la condition des réseaux et de leurs éléments afin d’assurer une bonne qualité et une répartition optimale de ceux-ci.

2. Objectif L’objectif d’une supervision de réseaux peut ainsi être résumé en trois points : - Etre réactif en alertant l’administrateur en cas de dysfonctionnement d’une partie du système d’information. - Etre pro actif en anticipant les incidents. - Cibler le problème dès son apparition afin d’agir rapidement de la façon la plus pertinente possible.

3. Problématique La supervision de réseau nécessite des outils adaptés aux différents composants du réseau. Le parc est doté de machines sous Linux, Windows et Mac OS. Nous devons donc trouver, comme tout bon produit de supervision, un produit capable de superviser l’ensemble des équipements provenant de différents constructeurs et ayant des modes de gestion hétérogènes. Il s’agit alors de trouver un produit reposant sur un protocole ou un environnement normalisé afin de pouvoir servir de point d’entrée unique pour regrouper toutes les informations du réseau.

4. Solutions existantes De nombreuses plateformes de supervision existent aujourd’hui. Certaines se contentent de connaître à tout instant l’état des noeuds du réseau, d’autres permettent également de connaître l’état des services sur ces noeuds, les derniers offrent la possibilité de ressortir de nombreuses statistiques du réseau permettant une analyse assez fine.

4.1. Les offres éditeurs Depuis quelques années, conscient que la supervision est un marché porteur, les sociétés n’hésitent plus à investir dans un produit leur permettant de surveiller et mieux gérer leurs réseaux. Les éditeurs se sont alors lancés dans la course aux produits de supervision ; deux familles apparaissent, celle proposant des solutions généralistes supervisant le réseau, les serveurs, les applications, les sites web, etc. C’est le cas de Patrol ou Mainview (BMC), d’Unicenter (Computer Associate), de la gamme openview (HP), de Tivoli (IBM), de BigBrother pour ne citer que les plus connus. L’autre famille supervise des domaines plus spécifiques comme Panorama (Altaworks) qui gère uniquement l’aspect sécurité ou PathWAI (Candle) qui se penche principalement sur la supervision des applications. Toutes ces solutions ont en plus de spécificités les distinguant les unes des autres, un point commun : un prix élevé. Il faut compter près de 30000 Euros pour superviser un système d’information pour une Abderrahim NASSIR

13

entreprise de taille moyenne. Ce chiffre ne tient pas compte des formations du personnel travaillant avec ces solutions souvent complexes d’utilisation.

4.2. Les offres libres Il existe des solutions de supervision libres qui sont professionnelles. Parmi les plus répandus, reconnus du moment nous pouvons citer Nagios (le successeur de Netsaint), Zabbix, openNMS. De ceux cités, Nagios est sans contexte le plus répandu et le plus suivi par la communauté des développeurs.

5. Solution sélectionnée : Nagios 5.1. Pourquoi Nagios ? 5.1.1. C’est une solution libre Des solutions citées ci-dessus, HPopenview, BigBrother et Nagios sont les plus connues. BigBrother2 est un superviseur de service fonctionnant sous Windows NT. C’est une solution efficace mais qui ne permet de superviser qu’un nombre restreint de services. De plus, il n’est pas possible de rajouter des fonctionnalités ou de générer des alarmes par mail. HPopenview est une solution modulaire très complète qui permet de cartographier automatiquement et dynamiquement le réseau, de collecter des informations de supervision, de les mettre en correspondance, d’envoyer des alarmes, de générer des comptes rendus graphiques...mais c’est également une solution payante, donc écartée de nos choix.

5.1.2. C’est une solution stable qui a fait ses preuves Parmi les solutions libres, Zabbix et le projet Oréon ont été mis en concurrence pour notre choix avec le « célèbre » Nagios. Ce dernier est en effet réputé pour sa configuration fastidieuse mais également pour le fait qu’il soit tout aussi complet que la solution HPopenview. Le projet Oréon3 est une couche au dessus de Nagios regroupant une interface de configuration web, une détection automatique du réseau et quelques fonctionnalités supplémentaires devant simplifier Nagios. Nous n’avons pas jugé le projet assez avancé pour la sélectionner comme solution stable. De plus, nous avons pensé que mettre en oeuvre Nagios nous permettrait de mieux comprendre ce qui ce passe derrière Oréon. Enfin, Zabbix, désigné comme un potentiel concurrent à Nagios a été écarté pour l’orientation douteuse que prend le projet : l’auteur, bien que présentant son projet comme libre, ne veut pas que des développeurs touchent à son code, ce qui risque d’engendrer assez vite des clones de l’application rendant un support plus difficile. Nagios est stable, dispose d’une grande communauté de développeurs derrière elle et est utilisée par un grand nombre de fournisseurs d’accès ou de grands noms comme Air France, le CNRS4 (taille de l’organisation : 26000 machines), l’IFSIC5 (2500 machines).

Abderrahim NASSIR

14

III. Nagios 1. Présentation de Nagios Nagios est un logiciel de supervision de réseau libre sous licence GPL qui fonctionne sous Linux. Il a pour fonction de surveiller les hôtes et services spécifiés, alertant l'administrateur des états des machines et équipements présents sur le réseau. Bien qu'il fonctionne dans un environnement Linux, ce logiciel est capable de superviser toutes sortes de systèmes d'exploitation (Windows XP, Windows 2000, Windows 2003 Server, Linux, Mac OS entre autres) et également des équipements réseaux grâce au protocole SNMP. Cette polyvalence permet d'utiliser Nagios dans toutes sortes d'entreprises, quelque soit la topologie du réseau et les systèmes d'exploitation utilisés au sein de l'entreprise. Ce logiciel est composé de trois parties:  Le moteur de l'application, qui gère et ordonnance les supervisions des différents équipements  Les Plugins qui servent d'intermédiaire entre les ressources que l'on souhaite superviser et le moteur de Nagios. Il faut bien noter que pour accéder à une certaine ressource sur un hôte, il faut un plugin coté Nagios et un autre coté hôte administré.  L'interface web qui permet d'avoir une vue d'ensemble des états de chaque machine du parc informatique supervisé et ainsi pouvoir intervenir le plus rapidement possible en ciblant la bonne panne.

2. Fonctionnement de Nagios Le principe de supervision de Nagios repose sur l'utilisation de plugins, l'un installé sur la machine qui supporte Nagios, et l'autre sur la machine que l'on souhaite superviser. Un plugin est un programme modifiable, qui peut être écrit dans plusieurs langages possibles, selon les besoins, et qui servent à récupérer les informations souhaitées. Nagios, par l'intermédiaire de son plugin, contact l'hôte souhaité et l'informe des informations qu'il souhaite recevoir. Le plugin correspondant installé sur la machine concernée reçoit la requête envoyée par Nagios et ensuite va chercher dans le système de sa machine les informations demandées. Il renvoi sa réponse au plugin Nagios, qui ensuite le transmet au moteur de Nagios afin d'analyser le résultat obtenu et ainsi mettre à jour l'interface web. Il existe deux types de récupération d'informations: La récupération active et la récupération passive. La différence entre les deux types est l'initiative de la récupération. Dans le premier type, à savoir le type actif, c'est Nagios qui a toujours cette initiative. C'est lui qui décide quand il envoie une requête lorsqu'il veut récupérer une information. Alors que lors d'une récupération passive, l'envoi d'information est planifié en local, soi à partir d'une date, soit en réaction à un événement qui se déroule sur la machine administrée.

Abderrahim NASSIR

15

Pour notre projet, nous avons décidé d'utiliser le type de récupération active, c’est-à-dire que Nagios prend l'initiative d'envoyer une requête pour obtenir des informations. Ceci évite donc de configurer les postes à superviser. La demande d'informations se fait grâce à l'exécution d'une commande de la part de Nagios. Une commande doit obligatoirement comporter des arguments afin de pouvoir chercher les bonnes informations sur les bonnes machines. Ces arguments sont l'adresse IP de l'hôte sur lequel aller chercher l'information, la limite de la valeur de l'information recherchée pour laquelle l'état 'attention' sera décidé, idem pour la valeur 'critique', et enfin d'autres options qui varient selon le plugin utilisé. Pour ne pas devoir à créer une commande par machine supervisée et par information recherchée, nous pouvons remplacer les arguments par des variables, et ainsi réutiliser la commande plusieurs fois, en remplaçant la bonne variable. Nous avons alors la possibilité de travailler avec des services. Lors de la création d'un service, il faut l'associer à un ou plusieurs hôtes puis à une commande. Ensuite Nagios remplace automatiquement la variable de l'adresse IP dans la commande, grâce à la liste d'hôtes associée au service. Puis on doit définir manuellement dans le service les autres variables nécessaires à la commande.

Un fois que Nagios à reçu les informations dont il avait besoin sur l'état des hôtes, celui-ci peut construire des notifications sur l'état du réseau, afin d'en informer l'administrateur. Lorsque Nagios effectue une notification, il attribut des états aux hôtes, ainsi qu'aux services. Un hôte peut avoir les états suivants:

Abderrahim NASSIR

16

-Up : en fonctionnement -Down : éteint -Inaccessible -En attente Les différents états d'un service sont: - OK - Attention - Critique - En attente - Inconnu

3. Installation de Nagios Nous avons installé Nagios en suivant la documentation fournie par Nagios. Les étapes de l'installation sont fournies en annexe. Afin de sécuriser l'interface web de Nagios, nous avons mis en place le protocole "HTTPS" (web sécurisé). Ceci permet de crypter les échanges entre le serveur et l'utilisateur. Pour cela nous avons ajouté un certificat SSL à Apache.

4. Interface graphique de Nagios Pour accéder à l'interface de Nagios depuis l'extérieur de notre réseau, il suffit de taper dans un navigateur web http://192.168.2.2/nagios/ puis de s'identifier.

Abderrahim NASSIR

17

Après l’identification en sera directement rediriger vers la page d’accueil de l’interface graphique de Nagios ou on visualiser la version de Nagios utiliser utilise et aussi si on veut faire un mise a jour pour cette version (check for updates).

L'interface graphique de Nagios est utilisée uniquement pour visualiser l'état du réseau supervisé. Cette interface ne peut en aucun cas servir pour la configuration de Nagios. L'interface se compose d'une partie "menu" à gauche, et une partie centrale, beaucoup plus grande sur le reste de l'écran, qui servira à afficher les informations souhaitées Des captures d'écran sont disponibles en annexe. Dans le menu, nous retrouvons en premier des liens vers le site de Nagios, et vers la documentation de ce logiciel. Ces liens sont dans la partie 'General'. Puis une partie 'Monitoring' dans laquelle il est possible de sélectionner les informations que l'on souhaite visualiser. Il y a de nombreux sous-menus dans cette partie ce qui permet d'afficher vraiment les informations précises qui nous intéressent. Il y a également la possibilité de visualiser des statistiques que Nagios a construit, ce qui est très intéressant pour l'administrateur.

Abderrahim NASSIR

18

Dans la partie "Reporting" il y a la possibilité de créer des rapports et des historiques des évènements qui se sont produits sur le réseau. Et enfin dans la dernière partie "Configuration", il est possible de visualiser toute les configuration grâce à laquelle Nagios sait qui et quoi supervisé.

Abderrahim NASSIR

19

IV. Les plugins 1. Plugins principaux Nagios possède une importante communauté sur Internet. Grâce à celle-ci, de nombreux utilisateurs ont crées des plugins permettant à Nagios d'aller récupérer des informations sur des équipements du réseau (PC, routeurs, serveurs, …) Les plugins n'utilisent pas tous le même protocole pour échanger les informations. Le protocole utilisé est dans la plupart des cas un facteur décisif sur le choix des plugins à utiliser. Un seul plugin Nagios ne peut pas aller chercher toutes les informations sur les équipements du réseau: En effet, chaque plugin n'a accès qu'à certaines informations (exemple: un plugin peut aller chercher l'occupation du disque dur, et un autre l'occupation du processeur d'un PC). Pour superviser un parc informatique, il est donc nécessaire de mettre en place plusieurs plugins. De plus, certains plugins peuvent aller chercher des informations sur des clients uniquement sur certains systèmes d'exploitation (c'est le cas du plugin check_nt qui peut chercher des informations uniquement sur des équipements Windows). Les principaux plugins utilisés par nagios sont : - check_disk : Vérifie l'espace occupé d'un disque dur - check_http : Vérifie le service "http" d'un hôte - check_ftp : Vérifie le service "ftp" d'un hôte - check_mysql : Vérifie l'état d'une base de données MYSQL - check_nt : Vérifie différentes informations (disque dur, processeur …) sur un système d'exploitation Windows - check_nrpe: Permet de récupérer différentes informations sur les hôtes - check_ping: Vérifie la présence d'un équipement, ainsi que sa durée de réponse - check_pop: Vérifie l'état d'un service POP (serveur mail) - check_snmp : Récupère divers informations sur un équipement grâce au protocole SNMP (Simple Network Management Protocol) Il est possible de créer son propre plugin. Dans ce cas, il faudra les créer de la sorte que celui renvoie à nagios : - L'état du résultat (OK, CRITICAL, DOWN, UP, …) - Une chaine de caractères (pour donner le détail du résultat)

Abderrahim NASSIR

20

2. Plugins retenus Après avoir consulté les différents plugins existants, nous avons choisi ceux qui correspondaient à notre cahier des charges. Nous avons retenus les plugins suivants : - check_nt - check_nrpe - check_ping

1. Check_nt Le plugin Check_nt est un plugin récent qui permet de superviser très facilement des PC dont le système d'exploitation est Windows. Check_nt permet de récupérer sur un système Windows les informations suivantes : L'espace occupé sur le disque dur, le temps depuis le démrrage de l'ordinateur, la version du plugin NsClient ++ (voir ci-dessous), occupation du processeur, occupation de la mémoire, état d'un service.

 Mise en place de check_nt : i.

ii. iii.



Le plugin check_nt est à installer sur la machine NAGIOS. Dans notre cas, check_nt a été installé automatiquement (dans le dossier /etc/usr/local/nagios/libexec) lors de l'installation de Nagios. Sur les machines à superviser, on doit installer le logiciel NsClient++, téléchargeable sur le site http://sourceforge.net/projects/nscplus Sur les machines à superviser, on doit configurer le fichier "NSC.ini". C'est dans ce fichier que l'on doit définir : - Le port sur lequel NsClient++ doit écouter les requêtes - Les adresses des machines qui ont le droit de dialoguer avec NsClient++ (les machines qui ont le droit de récupérer les informations sur ce poste) - Un mot de passe (les machines qui souhaiteront dialoguer avec celle-ci par NsClient++ devront fournir ce mot de passe) Le fichier de configuration NSC.ini est fourni en annexe.

 Fonctionnement de check_nt :

Abderrahim NASSIR

21

Lorsque Nagios veut connaître une information sur un PC, il exécute le plugin check_nt. Celui envoie une requête au PC. Sur le PC, le programme NsClient++ reçoit la requête, va chercher les informations dans les ressources du PC et renvoie le résultat au serveur Nagios. Usage : Pour aller chercher les informations sur un PC grâce à check_nt, Nagios exécute une commande ayant la syntaxe suivante : check_nt -H host -v variable [-p port] [-w warning] [-c critical][-l params]

Avec : -H : Adresse IP de l'hôte à superviser -v : ce qu'il faut superviser (ex : CPULOAD -p : Port sur lequel il faut envoyer la requête -w : Seuil pour lequel le résultat est considéré comme une alerte -c : Seuil pour lequel le résultat est considéré comme critique -l : Paramètres supplémentaires (nécessaire ou non en fonction du paramètre "v") Pour notre projet, nous utiliserons ce plugin pour superviser tous les postes Windows (client XP + Serveur 2003 Server) sauf pour contrôler l'espace des dossiers des profils des utilisateurs. En effet, ce plugin ne permet pas d'effectuer cette vérification. Nous utiliserons un autre plugin pour cela.

2. Check_nrpe Le plugin Check_nrpe est un plugin qui permet de superviser des PC dont le système d'exploitation est Windows ou Linux. Check_nrpe utilise une connexion SSL (Secure Socket Layout) pour aller chercher les informations sur les postes. Ceci permet de crypter les trames d'échanges.

 Mise en place de check_nrpe (sur Windows) : i.

ii.

Le plugin check_nrpe est à installer sur la machine NAGIOS. Dans notre cas, check_nrpe a été installé automatiquement (dans le dossier /etc/usr/local/nagios/libexec) lors de l'installation de Nagios. Sur les machines à superviser, on doit installer un logiciel permettant de dialoguer avec check_nrpe. Le programme le plus couramment utilisé est "nrpe pluging". Seulement, le logiciel NsClient++ permet aussi de faire des échanges avec le plugin check_nrpe. Comme nous utilisons déjà ce programme pour check_nt, nous le conservons aussi pour check_nrpe.

Abderrahim NASSIR

22

iii.



Sur les machines à superviser, on doit configurer le fichier "NSC.ini". C'est dans ce fichier que l'on doit définir : - Le port sur lequel NsClient++ doit écouter les requêtes de check_nrpe (différent de celui check_nt) - Les adresses des machines qui ont le droit de dialoguer avec NsClient++ (les machines qui ont le droit de récupérer les informations sur ce poste) Le fichier de configuration NSC.ini est fourni en annexe

 Fonctionnement de check_nrpe :

Lorsque Nagios veut connaître une information sur un PC, il exécute le plugin check_nrpe. Celui envoie une requête au PC. Sur le PC, le programme NsClient++ (ou nrpe si linux) reçoit la requête, va chercher les informations dans les ressources du PC et renvoie le résultat au serveur Nagios. Usage : Pour aller chercher les informations sur un PC grâce à check_nrpe, Nagios exécute une commande ayant la syntaxe suivante : check_nrpe -H -w , -c ,

Avec: -w : Seuil pour lequel le résultat est considéré comme une alerte -c : Seuil pour lequel le résultat est considéré comme critique Pour notre projet, on testera la présence du routeur RT (192.168.104.5). En effet, ci celuici ne répond plus, on peut considérer que l'on est plus connecté à Internet.

Abderrahim NASSIR

24

V. Configuration de Nagios Les commandes permettant de démarrer, d'arrêter, de recharger Nagios sont les suivantes: - Démarrer Nagios : /etc/rc.d/init.d/nagios start - Arrêter Nagios : /etc/rc.d/init.d/nagios stop - Recharger Nagios: /etc/rc.d/init.d/nagios reload Après avoir modifié les fichiers de configuration de Nagios, il est très important de recharger Nagios pour que les modifications soient prises en compte. Il est possible de réaliser ces mêmes commandes, en mode graphique, sur l'interface de Nagios :

Pour respecter notre cahier des charges, nous devons configurer dans Nagios : - les hôtes à superviser - les groupes d'hôtes - les commandes de supervision - les services de supervision - les contacts (les personnes qui reçoivent les alertes) L'interface graphique de Nagios ne permet pas de configurer celui-ci. La seule manière de le configurer, (sans utiliser d'autres outils) est de remplir les fichiers de configurations manuellement (dans le dossier /etc/usr/local/nagios/etc/) :

Pour commencer nous allons définir le contact à notifier en cas d'alarme. Pour cela, il faut aller dans le fichier contacts.cfg

define contact{ contact_name alias email service_notification_period host_notification_period service_notification_options host_notification_options service_notification_commands host_notification_commands }

Abderrahim NASSIR

Nassir Abderrahim Nasiir [email protected] 24x7 24x7 w,u,c,r d,u,r notify-service-by-email notify-host-by-email

25

Voici un exemple de commande que j'ai utilisé pour mon envoyer de notification des services par e-mail. Comme on peut le voir le nom de la commande utilisée dans la définition du contact est vient en fait du nom défini au dessus. J'utilise mail avec les options de Nagios pour le contact et le service qui a provoquél'alarme.

define command{ command_name notify-service-by-email command_line /usr/bin/mail -s "Nagios Service Notification" $CONTACTEMAIL$ "[$DATE$] Le service $SERVICEDESC$ est $SERVICESTATE$" }

Pour pouvoir utiliser correctement les notifications, il faut s'assurer d'avoir installer au préalable les applications tierces permettant d'envoyer soit des e-mail, soit des sms, puis de modifier le fichier commands.cfg et de mettre les bonnes commandes. Une fois nos contacts créés, il faut à présent les affecter à des groupes. La définition des groupes se trouve dans le fichier contactgroups.cfg define contactgroup{ contactgroup_name alias members }

Windows-server System Administrator nassir

Nous avons fini de configurer la première partie de Nagios. Il nous reste à présent la configurer des différents équipements appartenant à notre réseau ainsi qur les services à surveiller pour chaque. Commençons tout d'abord par éditer la liste des équipements dans le fichier hosts.cfg : define host{ host_name alias address max_check_attempts check_period contact_groups notification_interval notification_period notification_options }

WinXpWifi Win xp Wifi 192.168.2.4 5 24x7 Windows-server 30 24x7 d,u,r

On peut également définir des groupes de machines. Cela permet d'avoir une meilleure visibilité surtout au niveau de l'interface web de Nagios define hostgroup{ hostgroup_name alias members }

Abderrahim NASSIR

Windows-servers Servers WinXpWifi

26

Il ne reste plus qu'à définir les services que l'on désire surveiller. define service{ host_name service_description check_command max_check_attempts normal_check_interval retry_check_interval check_period notification_interval notification_period notification_options contact_groups }

WinXpWifi check-disk-sda1 check-disk!/dev/sda1 5 5 3 24x7 30 24x7 w,c,r Windows-server

define service{ use host_name service_description check_command }

generic-service winXpwifi Total Processes check_local_procs!250!400!RSZDT

define service{ use host_name service_description check_command notifications_enabled }

generic-service winXpwifi HTTP check_http 0

define service{ use template to use host_name service_description check_command } define service{ use host_name service_description check_command }

generic-service

; Name of service

winXpwifi PING check_ping!100.0,20%!500.0,60%

generic-service winXpwifi Explorer check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe

On remarque alors que la configuration de Nagios est très complexe pour une grande entreprise. En effet, si le parc informatique à superviser est grand, il faudra du temps pour remplir l'intégralité des fichiers de configuration. De plus, plus ces fichiers sont grands, plus il sera difficile pour l'administrateur réseau de s'y retrouver. Comme dans la plupart des cas, on supervise un réseau lorsque celui a une taille assez importante, la configuration de Nagios telle qu'elle sera rarement facile.

Abderrahim NASSIR

27

C'est pourquoi plusieurs outils ont été crées pour faciliter la configuration de Nagios. C'est le cas de Centreon, un programme qui se fixe sur Nagios, et qui offre une nouvelle interface graphique. Cette nouvelle interface graphique permet de configurer Nagios "en graphique", sans toucher directement les fichiers de configuration. Nous avons donc décidé de mettre en place cet outil.

Abderrahim NASSIR

28

VI. Centreon 1. Pourquoi Centreon ? Centreon est un logiciel qui s'installe par dessus Nagios et qui permet d'améliorer l'interface graphique, mais surtout le très gros avantage de Centreon est de pouvoir configurer Nagios par l'interface graphique.En effet la configuration de Nagios, qui s'effectue par modification de fichiers de configuration, devient très vite trop complexe lorsque le parc informatique à superviser prend de l'importance. Le principe de fonctionnement de Centreon est simple.L'administrateur configure les options de supervisions, hotes, services, plugins, etc grâce à l'interface de Centreon. Ensuite toutes les configurations effectuées par l'administrateur sont stockées dans une base de données, mais elles ne sont pas immédiatement appliquées au moteur Nagios. Lorsqu'il veut appliquer ces modifications, il doit relancer Centreon, qui va alors modifier automatiquement les fichiers de configuration de Nagios, grâce aux informations stockées dans la base de données. De plus, si l'administrateur réseau configure Nagios depuis les fichiers et que celui-ci fait une faute de frappe, Nagios ne pourra pas fonctionner; dans certains cas, l'administrateur peut mettre du temps avant de retrouver son erreur. Centreon évite ce problème car il contrôle les données entrées par l'administrateur avant de les valider. Cela permet de configurer Nagios avec une interface intuitive, plaisante, et moins complexe que les fichiers de configuration que l'administrateur devait modifier lui même, et en même temps pouvoir visualiser l'état complet du parc informatique. C'est donc un outil complet et indispensable lorsque le parc informatique à gérer devient complexe, comme cela est très souvent le cas dans les entreprises.

2. Installation de Centreon Nous avons installé Centreon en suivant.les étapes de l'installation qui sont fournies en annexe. Lors, de l'installeur va poser un certain nombre de questions concernant les emplacements des différents fichiers, quelques avertissements sur certains fichiers qui risquent d'être effacés. Pour la plupart des questions, il faut conserver la réponse par défaut. Nous avons configuré l'interface web de Centreon de la même manière que celle de nagios: Ensuite Centreon va installer ses plugins, puis pour finaliser l'installation, il faut se rendre sur l'interface graphique, à l'adresse http://192.168.2.2/Centreon depuis le réseau local. Une fois sur l'interface, il faut vérifier que tous les composants soient bien installés, puis attribuer les mots de passes et les login pour accéder à l'interface et à la base de données..

Abderrahim NASSIR

29

3. Configuration de Centreon La page d’accueil de Centreon après l’authentification

Nous avons ensuite crée les services. Les services doivent avoir une commande (dans notre exemple ci-dessous : Ping) et doivent être associés à des hôtes (les hôtes dont lesquels on supervisera avec ce service). Il faut ensuite donner les valeurs des variables de la commande.

Abderrahim NASSIR

30

Enfin, une fois que la configuration est faite, il faut régénérer les fichiers de configuration de Nagios. En effet, toute la configuration crée jusqu'à présent a été stockée dans une base de données mais n'était

Abderrahim NASSIR

31

pas effective dans Nagios. Il faut donc transférer cette configuration dans les fichiers de configuration Nagios.

Grace à cet outil, Centreon crée lui-même, à notre place, les fichiers de configuration cités dans le paragraphe "Installation et configuration de Nagios". Après avoir comparé entre la configuration de Nagios faite en remplissant manuellement les fichiers de configuration puis entre la configuration de Nagios faite par l'interface de Centreon nous

Abderrahim NASSIR

32

confirmons que la deuxième méthode est beaucoup plus facile. Elle permet à l'administrateur de mieux se repérer, de gagner du temps et d'éviter des erreurs.

Abderrahim NASSIR

33

VII. NSClient++ 1. Présentation de NSClient++ : NSClient est un service pour toutes versions de Windows (NT, 2000, 2003, XP et Vista) qui combine les fonctionnalités d’un agent de supervision dédié à l’environnement Windows ainsi que les fonctions de transport NRPE et NSCA pour cet environnement. Il est disponible en version 32 et 64 bits. Du fait de ces triples fonctions, le fichier de configuration de NSClient++ est assez long mais également assez simple. Il est aujourd’hui considéré comme l’agent de supervision standard Nagios pour plateformes Windows.

L’installation de NSClient++ ne pose pas de problème grâce au format d’installation .msi fourni. Il suffit de valider par le bouton next chacun des écrans présentés. Le logiciel est installé par défaut dans le répertoire C:\Program Files\NSClient++. Il contient le fichier exécutable de service nsclient++, le répertoire modules contenant les extensions de NSClient++ et le fichier de configuration NSC.ini. Une entrée dans le menu Démarrer est également créée, permettant de stopper et démarrer le service. Nous allons installer l'addon NSClient++ sur la machine Windows et utiliser le greffon check_nt pour communiquer avec NSCLient++. Ce greffon check_nt est déjà installé vu que Nagios l'est. Vous pouvez le trouver dans le fichier "commands.cfg". Il est possible d'utiliser d'autres agents Windows (comme NC_Net) mais il faudra dans ce cas modifier les commandes et les définitions de services... Mais nous, nous utiliserons NSClient++. Téléchargez-le à cette adresse ici et s'il n'a proposé que la version 64bits (NSClient++-0.3.8-x64.msi), testez ce lien et récupérez NSClient++-0.3.8- Win32.msi.

2. L’installation de l’agent : Une fois télécharger il faut dézipper l’archive par exemple dans C:\ Maintenant il faut ouvrir une invite de commande dans C:\NSClient Et tapez ce qui suit : nsclient++.exe /install nstray.exe Ensuite il faut ouvrir la mmc services.msc et configurer le démarrage automatique du service et l’autoriser à interagir avec le bureau

Abderrahim NASSIR

34

Ensuite on va éditer le fichier NSC.ini pour configurer la connexion entre le serveur à monitorer et nagios. Dans ce fichier il faut décommenter tous les modules de la section [MODULES] à l’exception de checkWMI.dll et RemoteConfiguration.dll

Ce premier bloc de configuration permet d’activer et de désactiver les modules/extensions de NSClient++. Il faut bien sûr en activer au minimum quelques uns pour pouvoir interroger la machine.        

FileLogger permet de journaliser les événements NSClient++ ; il est conseillé de l’activer, CheckSystem permet les contrôles de CPU, RAM et charge, CheckDisk permet les contrôles d’espace libre sur les disques durs, NSClientListener permet le mode de fonctionnement nsclient, NRPEListener permet le mode de fonctionnement NRPE, SysTray est un extension à la barre des tâches Windows qui permet de stopper, démarrer le service directement depuis celle-ci, CheckEventLog permet l’interrogation des fichiers journaux Windows, CheckHelpers ne produit aucun contrôle par lui-même mais permet de manipuler les sorties des autres de plusieurs façons,

Abderrahim NASSIR

35

   

CheckWMI permet les interrogations de type WMI, NSCAAgent permet le mode fonctionnement NSCA, LUAScript permet d’exécuter des scripts en langage Lua CheckExternalScripts permet d’exécuter toutes sortes de scripts externes, NRPEClient permet un mode de fonctionnement proxy NRPE.

Ensuite il faut changer le password dans la section [Settings] pour que le client communique avec Nagios. On a entré le password pour nagios un peu plus haut, bien entendu il faut que ce soit le même.

Ensuite il faut décommenter allowed_hosts option toujours dans la section [Settings]. Et il faut rajouter l’adresse IP du serveur Nagios avec lequel il va communiquer.





allowed_hosts est la même directive que celle trouvée dans la section Settings. Il est possible de préciser de nouvelles adresses ou de laisser la directive vide pour utiliser la liste déclarée dans la section Settings. Port indique le port d’écoute entrant du mode nsclient fixé par NSClient++ à 12489. Dans la version historique de nsclient, ce port d’écoute était le 1248 par défaut.

À ce stade, le fichier de configuration est suffisamment renseigné pour fonctionner en mode nsclient. Depuis le serveur Nagios, il faut utiliser le plugin standard check_nt pour interroger le démon distant NSCLient++ en mode nsclient. Ce plugin possède de nombreuses options.

Abderrahim NASSIR

36



Le fichier de configuration de NSClient NSC.ini complète dans l’annexe.

Abderrahim NASSIR

37

VIII. Notification 1. E-mail La première façon d'alerter l'administrateur réseau en cas de problème sur le réseau, est l'envoi d'un e-mail. Pour pouvoir envoyer un e-mail, nous avons déjà configure dans le serveur nagios un fichier commande.cfg qui permet de lance la commande de notification par email de l’administarteur qu’on ajouter dans dans le fichier contacts.cfg. command_line /usr/bin/mail -s "Nagios Service Notification" $CONTACTEMAIL$ "[$DATE$] Le service $SERVICEDESC$ est $SERVICESTATE$"

Voici un exemple de mail reçu : de [email protected] à [email protected] date 25 avril 2011 16:43 objet ** PROBLEM Host Alert: winXpwifi is DOWN ** ***** Nagios ***** Notification Type: PROBLEM Host: winXpwifi State: DOWN Address: 192.168.2.4 Info: CRITIQUE - Le réseau est inaccessible (192.168.2.4)

2. SMS Il existe un outil, smstools, permettant d'envoyer un SMS grâce à téléphone portable directement relié au serveur (avec un câble USB ou un sable série). Nous avons maintenu cette solution. Une fois cet outil installé, son utilisation est très simple: Il suffit de créer un fichier dans le répertoire /var/spool/sms/outgoing . Le fichier doit avoir la forme suivante :

To: 212667297805 Hello World

Une fois le fichier crée, le SMS est envoyé directement. Malheureusement, nos téléphones portables personnels ne sont pas compatibles avec ce programme. Nous avons quand même installé ce programme ; Nagios crée le fichier dans le dossier d'envoi en cas d'alerte. Il suffit de connecter un téléphone portable compatible et l'alerte par SMS est active.

Abderrahim NASSIR

38

IX. Utilisation de Nagios 1. Etats du réseau Une fois tout est configuré, nous avons la possibilité de consulter l'état du réseau depuis l'interface de Nagios. Lors de notre projet, nous avons peu utilisé l'interface graphique de Nagios. Des impressions écrans des interfaces sont disponibles en annexe.

2. Récupération des informations Une fois la supervision démarrée, il est intéressant de comprendre le fonctionnement des plugins : Comment le serveur Nagios échange-t-il les informations avec les hôtes à superviser ? Ceci a été la dernière partie de mon projet.  Echange Check_nt : Voici l'exemple d'une trame lorsque le serveur Nagios demande une information à un équipement Windows, grâce au plugin check_nt :

On repère dans la trame ce que demande le serveur Nagios au client (ici &1). On repère aussi le mot de passe de check_nt, en clair. On peut donc en conclure que l'utilisation de ce mot de passe est totalement inutile puisque celui circule en clair sur le réseau. Voici la réponse de l'hôte :

Les résultats observés sont des valeurs numériques, plus la version utilisée de NSClient++ chez l’hôte superviser.

Abderrahim NASSIR

39

X. Conclusion Nous avons appris bien des choses durant ce mois passé très vite. Cependant, nous avons l’impression en sortant du stage que tout reste à faire ! La solution livrée est fonctionnelle, elle permet de visualiser en temps réel l’état des stations et des quelques services mis en place sur certaines machines. Il y a cependant un problème qui n’a pas encore été réglé. Certaines machines n’ont pas d’adresse IP définies lors de la génération des fichiers de configurations, il s’agit des machines dont l’adresse est affectée dynamiquement. Les outils standard comme le Ping fournis avec Nagios, à la base créée pour la supervision de serveurs ayant donc des adresses fixes, ne fonctionnent pas sans adresse IP. Nous avons alors utilisée une astuce qui fonctionne sur quelques machines : utiliser le nom NetBIOS. Pour toutes les machines référencées, la résolution d’adresse se fait bien, le Ping est alors fonctionnel. En revanche, l’état actuel de la solution est incapable de superviser les machines non référencées et sans adresse IP, Nagios les considère logiquement comme en état critique puisqu’elles ne répondent pas au Ping. Une solution serait alors d’écrire (ou de trouver) un plugin qui détermine dynamiquement l’adresse IP d’une machine donnée à partir de son nom ou de son adresse mac en utilisant rarp par exemple. Une autre fonctionnalité intéressante serait d’utiliser nagios graph et des plugins comme check_traffic ou autre afin de récupérer des informations sur les débits circulants sur les différents ports des commutateurs ; il serait alors possible d’avoir en temps réel des courbes indiquant des données sur le trafic du réseau. Ce sont principalement les deux points que nous aurions développés sur un stage plus long.

Pour conclure, un projet comme celui-ci se révèle être une solution très intéressante au sein d'une entreprise, mais il ne doit pas être réalisée par n'importe qui, et ne constitue qu'un outil de travail pour un administrateur réseau. Il ne remplace en aucun cas celui-ci…

Abderrahim NASSIR

40

 Bibliographie

-fr.org/wiki/Centreon -fr.org/centreon/ http://www.nsclient.org/nscp/

Abderrahim NASSIR

41

 Annexe  Installation de Nagios Avant de commencer l'installation de Nagios, il faut s'assurer de posséder les droits de « root » sur la machine qui va accueillir Nagios. Voici les étapes à suivre pour installer correctement Nagios : # yum -y install nagios # yum -y install nagios-plugins # yum -y install nagios-plugins-ping nagios-plugins-tcp nagios-plugins-udp nagios-plugins-http nagios-plugins-dns nagios-plugins-smtp nagios-plugins-ldap nagios-plugins-pgsql nagios-pluginsmysql Remarque : On peut Télécharger les package de Nagios et ses différents plugins de site de nagios si on n’a pas d’internet sur notre machine serveur. - Tout d'abord on télécharge la distribution Nagios sur son site officiel : www.nagios.org - Ensuite, on extrait la distribution grâce à la commande suivante: tar xzf nagios-version.tar.gz Lorsque la commande aura été exécutée, un dossier nagios-version sera créé dans le répertoire courant. A l'intérieur de celui-ci, il y aura tous les fichiers qui constituent le noyau de la distribution Nagios. Vient ensuite la configuration du serveur web (Apache dans notre exemple, mais on peut en utiliser un autre). On doit pour cela modifier le fichier nagios.conf dans /etc/httpd/conf.d/ pour autoriser l'accès depuis toutes les sources. # vi /etc/httpd/conf.d/nagios.conf > Remplacer les lignes deny from all par allow from all On doit également générer un couple login/password pour accèder à l'interface Web d'administration. Pour cela, il faut: # htpasswd -c /etc/nagios/passwd AdminNagios Dans ma configuration il a aussi fallu que je passe ma Fedora en mode SELINUX permissive, sinon les scripts CGI de Nagios ne s'executaient pas. # vi /etc/selinux/config > SELINUX=disabled # reboot

Abderrahim NASSIR

42

 Interface de Nagios (Mode Passif) Topologie de réseaux qu’on va superviser sous Nagios On voir dans le schéma qu’on le noyau de serveur Nagios en centre ou toutes les machine a surveille sont connecter. Deux machines sont up (winXpwifi et localhost), win7wifi et winVistawifi sont Down car sont pas connecter à notre serveur Nagios.

Abderrahim NASSIR

43

Les Hôtes qu’on va superviser sous Nagios Dans cette imprime on visualise les détails sur les hosts qui sont connecter et la duré de leur connexion au serveur Nagios plus la dernier mise a jour pour la fonctionnalité de service supervisé et aussi l’état de la connectivité entre les machine superviser et le serveur (PING OK).

Abderrahim NASSIR

44

Les Hôtes avec les services qu’on va superviser Toute les services que ca marche bien ou on n’a pas de probleme on le voie avec un status « ok » en vert et les autres qu’on des probleme à démarrer avec un status « critical et warning » en rouge et orange.

Abderrahim NASSIR

45

Les Hôtes avec les groupes ou ils sont membres On a deux goupes a un pour Linux serveur ou notre serveur Nagios est membre et le groupes qu’on a déjà créé Windows serveur ou (winXpwifi, Win7wifi, WinVistawifi) est membre.

Abderrahim NASSIR

46

Les notifications envoyez pour faire le suivi des hôtes superviser

Abderrahim NASSIR

47

 Supervision un hôte « WinXpwifi » en ligne de Commande (Mode Actif) Pour faire la supervision des machines Windows en ligne de commande. Mettons-nous à la place de Nagios en ligne de commande et lançons chek_nt pour teste la version de nsclient installer. A noter que tous les programmes Nagios se trouvent dans le répertoire /usr/local/nagios/libexec.

Comme en remarque que la version instller de NSClient et NSClient++ 0.3.8.75. 

Teste le fonctionnement de srvice http sous winXpwifi :



Teste le fonctionnement de service SSH sous winXpwifi :



Teste l’espace de disk dur utilicer sur la partion C:/ sous WinXpwifi :

Abderrahim NASSIR

48

 Installation de Centreon Pré-requis Dépendances requises LAMP          

httpd httpd-manual mysql mysql-server mysql-devel php gd gd-devel rrdtool net-snmp

Normalement, on a juste ca à faire par rapport à ce qui est déjà installé. yum install rrdtool Bibliothèques nécessaires                 

php-mysql php-pear php-snmp php-posix libgd2 gd-devel libpng libpng-devel perl-config-IniFiles perl-Crypt-DES perl-Digest-HMAC perl-Digest-SHA1 perl-GD perl-IO-Socket-INET6 perl-Net-SNMP perl-rrdtool perl-Socket6

La commande pour installer cette liste. yum install php-mysql php-pear php-snmp php-posix php-ldap gd-devel libpng libpng-devel perl-Config-IniFiles perlCrypt-DES perl-Digest-HMAC perl-Digest-SHA1 perl-GD perl-IO-Socket-INET6 perl-Net-SNMP perl-rrdtool perlSocket6

Dépendances Système requises

Abderrahim NASSIR

49

  

sudo make gcc

La commande pour installer cette liste. yum install sudo make gcc Installer les modules PHP pear suivants                            

php-pear-DB php-pear-DB-DataObject php-pear-DB-DataObject-FormBuilder php-pear-MDB2 php-pear-Date php-pear-Numbers-Roman php-pear-Numbers-Words php-pear-HTML-Common php-pear-HTML-QuickForm php-pear-HTML-QuickForm-advmultiselect php-pear-HTML-Table php-pear-Archive_Tar php-pear-Auth-SASL php-pear-Console_Getopt php-pear-HTTP php-pear-Image-Canvas php-pear-Image-Color php-pear-Image-Graph php-pear-Image-GraphViz php-pear-Mail php-pear-Mail-Mime php-pear-Net-SMTP php-pear-Net-Socket php-pear-Net-Traceroute php-pear-Net-Ping php-pear-Validate php-pear-XML_RPC php-pear-SOAP

La commande pour installer cette liste. yum install php-mysql php-pear php-snmp php-gd gd gd-devel libpng libpng-devel perl-Config-IniFiles perl-Crypt-DES perl-Digest-HMAC perl-Digest-SHA1 perl-GD perl-IO-Socket-INET6 perl-Net-SNMP perl-rrdtool perl-Socket6 php-pearDB php-pear-DB-DataObject php-pear-DB-DataObject-FormBuilder php-pear-MDB2 php-pear-Date php-pear-NumbersRoman php-pear-Numbers-Words php-pear-HTML-Common php-pear-HTML-QuickForm php-pear-HTML-QuickFormadvmultiselect php-pear-HTML-Table php-pear-Archive-Tar php-pear-Auth-SASL php-pear-Console-Getopt php-pearHTTP php-pear-Image-Canvas php-pear-Image-Color php-pear-Image-Graph php-pear-Image-GraphViz php-pear-Mail php-pear-Mail-Mime php-pear-Net-SMTP php-pear-Net-Socket php-pear-Net-Traceroute php-pear-Net-Ping php-pearValidate php-pear-XML-RPC php-pear-SOAP

Après recherche, je me suis rendu compte que les classes sont toutes positionnées dans /usr/share/pear et que les classes relatives à ces trois paquets sont en faite installées et fournit par le paquet php-pear.

Abderrahim NASSIR

50

Après un premier test de l’installation de centreon, 2.0.2, j’ai remarqué qu’il manquait un paquet et qu’un autre n’était pas en version suffisante. Un check est de toute façon réalisé en fin d’installation. Il a fallu dans mon cas, mettre à jour la version de php-pear à une version supérieure à la 1.5.0 or le dépôt epel fournit la 1.4.9! Récupérer le rpm et mettre à jour avec la commande suivante. rpm -Uvh php-pear-1.8.1-1.el5.remi.noarch.rpm La même chose a été réalisée pour le paquet php-pear-Log préalablement récupéré en rpm. yum install php-pear-Log-1.11.3-1.el5.noarch.rpm Localiser les librairies nécessaires à Centreon. updatedb locate RRDs.pm /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/RRDs.pm locate PEAR.php /usr/share/pear/PEAR.php Conserver dans un coin ces deux chemins, ils seront demandés à l’installation.

Ensuite nous pouvons commencer l'installation de Centreon : Après l’installation de tous les packages nécessaire pour l’installation de Centreon on lance l’installation de centreon on suivre les tapons entre et Yes.

Abderrahim NASSIR

51

CRITICAL : Répertoire des modules perl RRD # updatedb # locate RRDs.pm /usr/lib/perl5/vendor_perl/5.10.0/i686-linux-thread-multi/RRDs.pm

Abderrahim NASSIR

52

Abderrahim NASSIR

53

Abderrahim NASSIR

54

Abderrahim NASSIR

55

Abderrahim NASSIR

56

Reste à configurer le fichier sudoers pour qu’il fonctionne avec Centreon. chmod u+w /etc/sudoers vi /etc/sudoers Commenter “Defaults requiretty” dans /etc/sudoers (mettez un # devant) chmod -w /etc/sudoers Qu’est-ce que c’est que ce fichier sudoers ? Le fichier sudoers permet d’autoriser un utilisateur de base à réaliser des commandes qui sont normalement autorisés uniquement à root. Lors de l’installation de Centreon, le fichier de configuration sudoers est configuré automatiquement afin que centreon puisse réaliser des commandes de redémarrage des services nagios sans mot de passe root à renseigner.

Abderrahim NASSIR

57

Lancer l’interface web http://192.168.2.2/centreon/ afin de finaliser l’installation. En cliquant sur Start pour commencer l’installation de Centreon

Après il nous demander de crocher la case « Accept » pour qu’on accepter le licence de Centreon puis en clic Next :

Abderrahim NASSIR

58

On spécifier le nom d’utilisateur Nagios et leur groupe ou il a membre plus aussi se qui concerne le serveur apache puis les chemins des répertoires de configuration Nagios et leur plugins puis en clic Next :

Ici Centreon il vérifie est ce que tous s’ai composant sont bien installer pour le bon fonctionnement de service si non il faut les installer puis suivre l’installation de centreon. Remarque : c’est les composant ils ne sont pas installer Centreon il ne peut pas passer a l’etapes suivants :

Abderrahim NASSIR

59

Vérification de l’installation de tous les pear PHP :

Dans cette étapes on sécuriser notre base de donné Mysql et centreon en spécifiant les noms des bases de donné centreon plus l’adresse de notre serveur Mysql s’il est installer dans le même serveur si mieux de mettre localhost on bien laisser les case vide elle prend ca par défaut.

Abderrahim NASSIR

60

La verification du bon fonctionnement de la base de donner Mysql :

La configuration de l’interface graphique de Centreon

en spécifiant le login, le nom

d’utilisateur, leur mot de passe et leur adresse email.

Abderrahim NASSIR

61

Configuration d’une base d’annuaire, dans notre cas on pas besoin d’être authentifie d’après d’une base d’annuaire LDAP.

Abderrahim NASSIR

62

Dans ces étapes Centreon il crée sa configuration et la création de leur base de donner :

Abderrahim NASSIR

63

Finir l’installation par la création de la base de données ndo à l’aide du script prévu à cet effet dans centreon. # mysql -u root -p mysql> CREATE DATABASE `ndo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> exit # mysql -u root -p ndo < /root/centreon-2.0.2/www/install/createNDODB.sql # mysql -u root -p mysql> GRANT SELECT , INSERT , UPDATE , DELETE ON `ndo` . * TO 'centreon'@'localhost'; mysql> exit La procédure d’installation est terminée. Il faut maintenant configurer les différents éléments afin de les faire interagir ensemble.

Abderrahim NASSIR

64

Après on lance l’interface Web http://192.168.2.2/centreon/

Abderrahim NASSIR

65

 Configuration de NSClient++ Notre Propre fichier de configuration NSClient NSC.ini [modules] NRPEListener.dll NSClientListener.dll NSCAAgent.dll FileLogger.dll CheckSystem.dll CheckDisk.dll CheckEventLog.dll CheckHelpers.dll ;# NSCLIENT++ MODULES ;# A list with DLLs to load at startup. ; You will need to enable some of these for NSClient++ to work. ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ;*

*

;*NOTICE!!!-YOU HAVE TO EDIT THIS* ;*

*

;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! FileLogger.dll CheckSystem.dll CheckDisk.dll NSClientListener.dll NRPEListener.dll

Abderrahim NASSIR

66

SysTray.dll CheckEventLog.dll CheckHelpers.dll ;CheckWMI.dll ; ; Script to check external scripts and/or internal aliases. CheckExternalScripts.dll ; ; NSCA Agent if you enable this NSClient++ will talk to NSCA hosts repeatedly (so dont enable unless you want to use NSCA) NSCAAgent.dll ; ; LUA script module used to write your own "check deamon". LUAScript.dll ; ; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS! RemoteConfiguration.dll ; Check other hosts through NRPE extreme beta and probably a bit dangerous! :) NRPEClient.dll ; Extreamly early beta of a task-schedule checker CheckTaskSched.dll [Settings] ;# OBFUSCATED PASSWORD ; This is the same as the password option but here you can store the password in an

Abderrahim NASSIR

67

obfuscated manner. ; *NOTICE* obfuscation is *NOT* the same as encryption, someone with access to this file can still figure out the ; password. Its just a bit harder to do it at first glance. ;obfuscated_password=Jw0KAUUdXlAAUwASDAAB ; ;# PASSWORD ; This is the password (-s) that is required to access NSClient remotely. If you leave this blank everyone will be able to access the daemon remotly. password=nagios ; ;# ALLOWED HOST ADDRESSES ; This is a comma-delimited list of IP address of hosts that are allowed to talk to the all daemons. ; If leave this blank anyone can access the deamon remotly (NSClient still requires a valid password). ; The syntax is host or ip/mask so 192.168.0.0/24 will allow anyone on that subnet access allowed_hosts=192.168.2.2/24 ; ;# USE THIS FILE ; Use the INI file as opposed to the registry if this is 0 and the use_reg in the registry is set to 1 ; the registry will be used instead. use_file=1 allowed_hosts=192.168.2.2 password=nagios

Abderrahim NASSIR

68

; ; # USE SHARED MEMORY CHANNELS ; This is the "new" way for using the system tray based on an IPC framework on top shared memmory channels and events. ; It is brand new and (probably has bugs) so dont enable this unless for testing! ; If set to 1 shared channels will be created and system tray icons created and such and such... ;shared_session=0 [log] ;# LOG DEBUG ; Set to 1 if you want debug message printed in the log file (debug messages are always printed to stdout when run with -test) ;debug=1 ; ;# LOG FILE ; The file to print log statements to ;file=nsclient.log ; ;# LOG DATE MASK ; The format to for the date/time part of the log entry written to file. ;date_mask=%Y-%m-%d %H:%M:%S ; ;# LOG ROOT FOLDER ; The root folder to use for logging. ; exe = the folder where the executable is located

Abderrahim NASSIR

69

; local-app-data = local application data (probably a better choice then the old default) ;root_folder=exe [NSClient] ;# ALLOWED HOST ADDRESSES ; This is a comma-delimited list of IP address of hosts that are allowed to talk to NSClient deamon. ; If you leave this blank the global version will be used instead. ;allowed_hosts= ; ;# NSCLIENT PORT NUMBER ; This is the port the NSClientListener.dll will listen to. port=12489 ; ;# BIND TO ADDRESS ; Allows you to bind server to a specific local address. This has to be a dotted ip adress not a hostname. ; Leaving this blank will bind to all avalible IP adresses. ;bind_to_address= ; ;# SOCKET TIMEOUT ; Timeout when reading packets on incoming sockets. If the data has not arrived withint this time we will bail out. ;socket_timeout=30

Abderrahim NASSIR

70

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF