Network Monitoring Report

June 2, 2016 | Author: ChawkiTrabelsi | Category: Types, Presentations
Share Embed Donate


Short Description

Network Monitoring...

Description

- Rapport de stage -

Mise en place d’un outil de supervision réseau PROBST Thibaut R&T 2 - 2008/2009

Maître de stage : Mr. Frontin Tuteur pédagogique : Mr. Mansalier

Mise en place d’un outil de supervision réseau

A l’attention de Mr Mansalier

2

- Rapport de stage -

Mise en place d’un outil de supervision réseau

Mise en place d’un outil de supervision réseau

Remerciements Cet élément incontournable de mon rapport est l’occasion pour moi d’exprimer une gratitude sincère envers toutes les personnes qui m’ont apporté un aide, une écoute ou tout simplement une attention généreuse. En tout premier lieu, je souhaite remercier particulièrement Mr. Jean Frontin, mon maître de stage, qui a su me guider dans mon projet en m’apportant l’aide et les moyens nécessaires au bon déroulement de mon stage, et avec qui j’ai l’impression d’avoir progressé et beaucoup appris. Je remercie également tous les membres du service informatique de l’IRIT pour leur accueil chaleureux et leur aide inconditionnelle qui m’a permis de travailler rapidement en collaboration avec eux. Je suis reconnaissant notamment envers Annie Planque, responsable du service, qui m’a proposé le sujet de stage, a accepté ma venue et soutenu pour la réalisation de mon rapport et de ma soutenance. Je remercie aussi sincèrement Mr. Gaël Mansalier, tuteur pédagogique, pour sa disponibilité et son soutien ainsi que pour son réel intérêt envers mon sujet. De plus, je ne peux omettre de remercier toute l’équipe pédagogique du département Réseaux & Télécommunications de l’IUT de Blagnac, pour les deux années de formation qui me permettent aujourd’hui de faire ce stage.

Thibaut PROBST

4

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Sommaire Résumé / Abstract ............................................................................................... 7 Lexique ................................................................................................................. 8 Introduction ......................................................................................................... 9 I. Présentation de l’IRIT................................................................................... 10 1. Historique .............................................................................................................. 10 2. Activités, budget, effectifs .................................................................................... 11 3. Le service informatique......................................................................................... 12

II. La supervision réseau .................................................................................. 13 1. Définition .............................................................................................................. 13 2. Intérêt et rôle ......................................................................................................... 13 3. Fonctionnement ..................................................................................................... 14

III. Bilan de l’existant ....................................................................................... 17 1. HP OpenView ....................................................................................................... 17 a. Présentation .................................................................................................................. 17 b. Utilisation à l’IRIT ....................................................................................................... 17

2. Nagios.................................................................................................................... 20 a. Présentation .................................................................................................................. 20 b. Principe et fonctionnement........................................................................................... 20 c. Utilisation à l’IRIT ....................................................................................................... 21

IV. Prospection .................................................................................................. 22 1. Centreon ................................................................................................................ 22 a. Présentation .................................................................................................................. 22 b. Principe et fonctionnement........................................................................................... 22 c. Conclusion sur Centreon .............................................................................................. 23

2. Cacti ...................................................................................................................... 23 a. Présentation .................................................................................................................. 23 b. Principe et fonctionnement........................................................................................... 24 c. Extensions..................................................................................................................... 25 d. Conclusion sur Cacti .................................................................................................... 26

3. Fully Automated Nagios ....................................................................................... 26 4. EyesOfNetwork ..................................................................................................... 27 5. Comparaison des outils et choix ........................................................................... 28

V. Mise en place de l’outil................................................................................. 29 1. Installation ............................................................................................................. 29 Thibaut PROBST

5

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau a. Pré-requis...................................................................................................................... 29 b. Cacti ............................................................................................................................. 29 c. Plugins .......................................................................................................................... 29 d. Intégration de Nagios à Cacti ....................................................................................... 30 e. Infrastructure finale ...................................................................................................... 30

2. Configuration ........................................................................................................ 31 a. Configuration générale ................................................................................................. 31 b. Fichiers de configuration.............................................................................................. 31 c. Authentification et utilisateurs...................................................................................... 31

3. Exploitation ........................................................................................................... 32 a. Présentation de l’interface ............................................................................................ 32 b. Equipements ................................................................................................................. 33 c. Monitoring et seuils ...................................................................................................... 35 d. Graphes......................................................................................................................... 38 e. Cartographie de la bande passante................................................................................ 41 f. Suivi des adresses MAC ............................................................................................... 42 g. Nagios Plugin for Cacti ................................................................................................ 43 h. NTOP ........................................................................................................................... 44 i. Liens externes................................................................................................................ 46

4. Maintenance .......................................................................................................... 47

Retour d’expérience .......................................................................................... 48 Bibliographie...................................................................................................... 49

Thibaut PROBST

6

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Résumé / Abstract Mon stage de fin d’études de D.U.T. R&T s’est déroulé à l’IRIT, Institut de Recherche en Informatique de Toulouse. Il a eu pour vocation de finaliser les deux années de formation en réinvestissant les connaissances acquises et en me familiarisant avec le monde du travail. J’ai traité un sujet ayant pour thème la supervision réseau. Ma mission était de remplacer le logiciel de supervision réseau propriétaire utilisé par un logiciel gratuit. J’ai dû faire un état de l’existant, afin de dégager les fonctionnalités utilisées et celles que je pourrai apporter avec un autre outil, que j’ai recherché dans le monde du libre, puis mis en place. J’ai installé ce logiciel sous Linux, système d’exploitation qui garantit une souplesse et une liberté d’utilisation. Mon travail s’est ponctué de phases d’installation de logiciels Open Source, de configuration et d’administration, chacune d’elles validées par différents tests afin de rédiger une documentation utilisateur destinée au service informatique de l’IRIT. J’ai eu la chance de collaborer avec des ingénieurs réseau qui m’ont apporté leur aide lors des différents problèmes que j’ai pu rencontrer. Par ailleurs j’ai été complètement intégré dans mon service d’accueil et ai pu me rendre compte durant deux mois et demi de la vie d’un service informatique. Ainsi ce stage m’a permis de solidifier les connaissances acquises pendant ma formation, mais aussi de les approfondir et d’en acquérir de nouvelles. Il m’a aussi donné une motivation supplémentaire pour poursuivre mes études dans le but d’obtenir le niveau d’ingénieur. I did my training period at IRIT (Toulouse Institute for computing Research) to end my two-year diploma. The aim was to put into practice my two-year studies, using the skills I had learned and getting acquainted with the working world. I dealt with a theme on network monitoring. I had to replace the software in use, which is a shareware, by a freeware. I made a review of the existing software to identify the features used and those I could bring with a new tool which I elected among various free products and then implemented on Linux, an advanced free operating system. My work consisted in these operations : Open Source softwares installation, configuration and administration. All these stages were authenticated by different tests in order to be able to write some documentation for users. I have had the opportunity to work with some network engineers who kindly helped me when I had problems. Furthermore, I have been completely integrated into the department and have been confronted with the reality of working in such a department. Finally this training period has allowed me to go deeper into my knowledge, to learn new things, and has also given me more reasons to go on studying to become an engineer.

Thibaut PROBST

7

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Lexique GPL (General Public License) : licence qui fixe les conditions légales de distribution des logiciels libres du projet GNU (Gnu’s Not Unix). HTTP (HyperText Transfer Protocol) : protocole de communication client-serveur de la couche application du modèle OSI développé pour le World Wide Web, défini dans la RFC 2616. IP (Internet Protocol) : protocole de communication de la couche réseau du modèle OSI, défini dans la RFC 791. LDAP (Lightweight Directory Access Protocol) : à l'origine, protocole permettant l'interrogation et la modification des services d'annuaire et qui repose sur TCP/IP, défini dans la RFC 2251. Il a cependant évolué pour représenter une norme pour les systèmes d'annuaire, incluant un modèle de données, un modèle de nommage, un modèle fonctionnel basé sur le protocole LDAP, un modèle de sécurité et un modèle de réplication. MAC (Medium Access Control) : partie inférieure de couche liaison de données du modèle OSI. Elle sert d'interface entre la partie logicielle contrôlant la liaison d'un nœud (Logical Link Control) et la couche physique. PHP (PHP Hypertext Preprocessor) : langage de scripts libre principalement utilisé pour la conception de sites web dynamiques et facilement intégrable au langage HTML (HyperText Markup Language). Plugin (« greffon » en français) : logiciel complétant un logiciel hôte pour lui apporter de nouvelles fonctions. Poller : de l’anglais « to poll » (appeler, interroger, sonder). Utilitaire (souvent un script en PHP) qui permet de récupérer des données acquises et de les stocker ailleurs. RFC (Requests For Comment) : ensemble de documents électroniques numérotés décrivant, spécifiant, aidant à la mise en œuvre, standardisant et débattant de la majorité des normes, standards, technologies et protocoles liés à Internet et aux réseaux en général. SQL (Structured Query Language) : langage standardisé et normalisé servant à interroger une base de données relationnelle. TCP (Transmission Control Protocol) : protocole de transport fiable de la couche transport du modèle OSI utilisant le mode connecté, défini dans la RFC 793. UDP (User Datagram Protocol) : protocole de transport non fiable de la couche transport du modèle OSI utilisant le mode non-connecté, défini dans la RFC 768.

Thibaut PROBST

8

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau VLAN (Virtual Local Area Network) : réseau informatique local regroupant plusieurs machines de manière logique et non physique. Plusieurs VLANs peuvent coexister sur un même commutateur.

Introduction Le stage de fin d’étude constitue un des piliers de la formation du D.U.T. Réseaux et Télécommunications. Il permet à l’étudiant, pendant environ deux mois et demi, de s’immerger dans le milieu professionnel, en intégrant un service spécifique d’une entreprise. Mon entreprise d’accueil est l’IRIT (Institut de Recherche en Informatique de Toulouse), une Unité Mixte de Recherche commune à plusieurs tutelles. Les recherches de l’IRIT couvrent tous les domaines où l’informatique se développe aujourd’hui, que ce soit dans ses axes traditionnels comme dans ses extensions les plus innovantes. J’ai été accueilli au service informatique de l’IRIT, et j’ai travaillé ainsi sous la tutelle de Mr. Jean Frontin, ingénieur d’étude. Ma mission consistait à chercher et mettre en place la meilleure solution pour remplacer le logiciel de supervision réseau actuellement utilisé par le service informatique. Un des principaux problèmes de ce logiciel est qu’il est sous licence, donc propriétaire et payant. Mon travail s’est décomposé en trois phases : - étude de l’existant, pour connaître toutes les fonctionnalités déjà mises en place et dégager d’éventuelles demandes non satisfaites ; - prospection, qui correspond à la recherche d’outils disponibles dans le monde du libre ; - installation, le logiciel retenu sera mis en place dans une perspective d’évolution et muni d’un guide utilisateur. Je présenterai tout d’abord l’entreprise et le service qui m’ont accueilli ; puis je traiterai le thème de la supervision réseau de manière générale suivi des enjeux du projet à travers le bilan de l’existant. Ensuite sera exposé mon travail de prospection et pour terminer comment a été mis en place l’outil choisi.

Thibaut PROBST

9

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

I. Présentation de l’IRIT 1. Historique L'IRIT, Institut de Recherche en Informatique de Toulouse, est une Unité Mixte de Recherche, UMR 5505, commune à plusieurs établissements, à savoir : le Centre National de la Recherche Scientifique (CNRS), l'Institut National Polytechnique de Toulouse (INPT), l'Université Paul Sabatier (UPS), l'Université des Sciences Sociales Toulouse 1 (UT1) et l'Université du Mirail (UTM).

Etablissements cocontractants de l’IRIT Créé en janvier 1990, l’IRIT représente l'un des plus forts potentiels de recherche en informatique en France, avec un effectif global de 600 personnes et fédérant plus de 450 chercheurs, enseignants-chercheurs et doctorants. Les objectifs que l'IRIT se donne sont à la mesure de sa taille, tant sur le plan de la recherche que sur le plan de la formation et du transfert technologique. La diversité des thèmes scientifiques couverts est héritée d'une longue histoire : Toulouse a été l'une des villes pionnières de l'informatique française. Cette diversité permet d'élaborer des projets ambitieux et de répondre à la forte demande du monde socio-économique. Elle constitue au sein de l'Institut un foyer très important de multidisciplinarité et de complémentarité. Pendant ces quatre dernières années, le laboratoire a beaucoup évolué, suite à une augmentation importante de ses effectifs et un plus grand centrage de ses thèmes de recherche, ce qui entraina les restructurations de ses équipes ; et suite à la construction de nouveaux locaux. Une activité interdisciplinaire en collaboration avec les sciences de la vie et les sciences humaines et sociales a également fait l'objet de nombreux efforts.

Thibaut PROBST

10

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Vue du bâtiment de l’IRIT – Site UPS (C3/D3)

2. Activités, budget, effectifs Les recherches, organisées autour de 7 thèmes, couvrent tous les domaines où l’informatique se développe actuellement, que ce soit dans ses domaines traditionnels comme le logiciel et les réseaux ou dans ses nouveaux développements, comme l’interactivité multimédia ou les traitements des grandes masses de données. Voici les 7 thèmes autour desquels l'IRIT est organisée et auxquels sont rattachées 19 équipes : thème 1 : Analyse et synthèse de l'information thème 2 : Indexation et recherche d'informations thème 3 : Interaction, autonomie, dialogue et coopération thème 4 : Raisonnement et décision thème 5 : Modélisation, algorithmes et calcul haute performance thème 6 : Architecture, systèmes et réseaux thème 7 : Sûreté de développement du logiciel Ces thèmes mettent en évidence la couverture scientifique de l'IRIT sur l'ensemble des problématiques de recherche de l'informatique actuelle. Le budget présenté concerne l'exercice comptable 2008. Les chiffres représentés ont été arrêtés le 31 décembre 2008 et sont exprimés en K euros HT.

Thibaut PROBST

11

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Moyens consolidés

Ressources contractuelles

Répartition du personnel

3. Le service informatique Le service informatique, mon lieu d’accueil, comprend onze personnes sur le site de l’Université, trois sur le site de l’ENSEEIHT et donc quinze au total. Il gère les ressources informatiques communes de l’unité connectées au réseau interne. Le service comprend trois équipes réparties sur deux sites. On retrouve sur le site UPS les équipes Systèmes & Réseaux et Systèmes d’Information & Applications, et sur le site ENSEEIHT l’équipe Système & Réseaux. Les équipes Systèmes & Réseaux ont pour rôle de : - définir les besoins d’équipement ; - définir et mettre en place la politique de sécurité du laboratoire ; - installer et gérer l’ensemble du réseau ainsi que les services réseaux ; - administrer les différents systèmes d’exploitation ; - garantir l’intégrité des données ; - gérer les utilisateurs. L’équipe Système d’Information & Applications a pour rôle : - l’installation et le suivi des systèmes de gestion de bases de données ; - la mise en place des modules de gestion et des indicateurs du laboratoire pour la gestion du personnel, des locaux, des matériels, de la recherche, de la bibliothèque,… ; - l’installation et administration des serveurs web et d’une borne interactive, évaluation et mise en service d’applications web, gestion des informations diffusées par les serveurs web ; - l’installation et suivi de logiciels en fonction des besoins des utilisateurs. Thibaut PROBST

12

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Responsable du service A. PLANQUE

SYSTEMES ET RESEAUX SYSTEMES

SYSTEME D’INFORMATION ET LOGICIELS

RESEAUX

A. PLANQUE

IR

C. PIQUEMAL

IR

B. MARCHISET

IR

L. CHAUVEAU

IR

J. FRONTIN

IE

M. DE CALMES

IR

A-M. POCQUET

IE

J-F. GENDET

Tech

J-C. DEBELLE

ASI

H. LESPES

Tech

T. PROBST

Stag

C. ROSA

Tech

Organigramme du service informatique de l’IRIT - Site UPS

II. La supervision réseau 1. Définition La supervision représente, de manière générale, toute fonction consistant à indiquer et à commander l'état d'un appel, d'un système ou d'un réseau. Les solutions de supervision permettent de remonter des informations techniques et fonctionnelles du système d'information. La supervision système et réseau a pour but de surveiller le bon fonctionnement des composants réseaux (commutateurs, routeurs, firewalls, …) et leurs caractéristiques (charge du réseau, …) ; ainsi que les éléments des systèmes (serveurs, machines UNIX, …) et les services qu’ils offrent (protocoles, …).

2. Intérêt et rôle Le concept de supervision réseau est né au début des années 1980, lors de la croissance importante de mises en place de réseaux informatiques dans les entreprises. La taille grandissante de ceux-ci ainsi que leur hétérogénéité posaient un réel problème de gestion et d’administration, multipliant les besoins en main d’œuvre d’experts administrateurs. C’est donc à cette époque qu’ont été menées les premières réflexions sur un nouveau concept, celui de la supervision.

Thibaut PROBST

13

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau La supervision doit permettre de gérer les anomalies (détection et résolution des problèmes), les configurations (inventaire, configuration matérielle et logicielle), les performances (évaluer les comportements et optimiser le fonctionnement), la sécurité (filtrage des accès, redondance des équipements, sauvegarde) et la comptabilité (déterminer l’utilisation et le coût de ressources réseau). La supervision doit correspondre à un système réactif et proactif.

Rôles principaux d’une plateforme de supervision

3. Fonctionnement La supervision réseau repose sur une architecture client/serveur :

Thibaut PROBST

14

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Le protocole de supervision le plus répandu est SNMP (Simple Network Management Protocol), défini dans la RFC 4789. Ce protocole a pour l’instant connu trois versions (v1, v2c, v3), où la troisième version permet d’avoir plus de sécurité mais la plus répandue est encore la deuxième version, qui améliore les opérations du protocole en version 1. Les clients à superviser contiennent un agent SNMP qui est un logiciel permettant de modifier en partie ou intégralement la configuration via des requêtes. Il envoie également des informations concernant l’état de l’équipement au manager. Ce dernier est un logiciel sur la station de supervision qui réalise la lecture d’informations d’éléments du réseau en interrogeant cet agent et permet de modifier les paramètres de cet élément et de visualiser les statistiques qui lui sont liées. Dans un souci de rapidité, le protocole SNMP ne transporte que des variables par le biais du protocole de transport UDP. Il sert à instaurer le dialogue entre les agents installés sur les machines supervisées et le serveur de supervision. L’agent reçoit les requêtes sur le port 161 et le superviseur reçoit les alarmes sur le port 162. Les informations échangées entre le superviseur et les agents SNMP sont contenues dans la Management Information Base (MIB). Le concept de MIB est défini par la RFC 1213. C’est une base de données contenant un ensemble d’objets nécessaires à la gestion du réseau et des variables de contrôles associés à chaque objet. Chaque objet supervisable via SNMP est identifié par un Object Identifier (OID). On peut visualiser les MIB associées aux différents éléments du réseau à l'aide du logiciel MIBrowser, par exemple :

Thibaut PROBST

15

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Résultat de la commande « snmpwalk » effectué à partir de l’OID 1.3.6.1.2.1.2 (interfaces) d’un routeur via le logiciel MIBrowser On peut également faire des requêtes SNMP en ligne de commande :

Résultat de la commande « snmpget » effectué sur l’OID 1.3.6.1.2.1.2.2.2.1.8.2 (statut d’une interface) d’une imprimante via un terminal Thibaut PROBST

16

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

III. Bilan de l’existant Voici la première étape de mon projet. Cela consiste à analyser les outils de supervision déjà mis en place au laboratoire de l’IRIT. L’objectif est de comprendre quelles sont les fonctionnalités utilisées en matière de supervision et qu’est-ce que je devrais chercher à apporter en plus après une prospection. Tout d’abord, je vais présenter et analyser le logiciel HP OpenView, et, dans une deuxième partie le logiciel Nagios mis en place à l’IRIT.

1. HP OpenView a. Présentation OpenView est le nom générique sous lequel sont regroupés un ensemble d’applications destinées à la supervision d’un réseau informatique. Elles sont organisées autour d’un produit central : HP OpenView Network Node Manager (NNM) qui fournit une série d’outils pour vérifier la configuration d’un réseau, prendre en compte des évènements, isoler les alarmes et analyser les performances des réseaux TCP/IP. HP/OV s’appuie sur le protocole SNMP et permet de : - découvrir automatiquement les nœuds (stations) et les éléments du réseau ; - fournir une description détaillée de l’état de chaque agent SNMP du réseau à l’aide des MIBs. Une interface graphique permet un affichage de l’état courant des équipements en fonctions de différentes couleurs (système de MAP). Un système d’alarme permet de synchroniser le tout avec des déclenchements d’alarmes si un hôte change d’état ou devient injoignable, et des actions peuvent alors être effectuées. Ses principaux atouts sont les suivants : - Une vue globale du système d’information ; - Une vision des différents incidents ; - Un contrôle homogène des différents matériels ; b. Utilisation à l’IRIT HP/OV Network Node Manager est utilisé à l’IRIT pour surveiller principalement les équipements réseau (commutateurs, …), les serveurs et les machines UNIX. Lorsque l’on est sur l’interface du logiciel, on obtient la cartographie suivante :

Thibaut PROBST

17

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Le logiciel cartographie automatiquement le réseau et l’on retrouve notamment les sousréseaux, le routeur (au centre), … Les couleurs utilisés pour la cartographie sont les suivantes : - vert : équipement connecté et administrable SNMP ; - rouge : équipement inaccessible ; - bleu : équipement qui n’est pas connu d’OpenView : soit il n’a pas encore répondu, soit il n’est pas dans la liste de polling ; - blanc : l’équipement n’est pas managé. Les stations sont représentées par des carrés, les connecteurs par des losanges et les segments (brins réseaux) par des ronds. Si on clique sur un sous-réseau, on obtient :

Thibaut PROBST

18

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Seules les machines UNIX et les serveurs sont surveillés, les autres machines sont dîtes « unmanaged ». Il est inutile de veiller à leur supervision selon l’administrateur, en raison par exemple de l’arrêt et du redémarrage des machines à tous moments de la journée, et qui estime que les utilisateurs qui ont des problèmes doivent le signaler eux-mêmes. Si sur une machine on fait clic droit  object properties  IP Map, on obtient :

On retrouve des informations relatives au serveur « irit » : nom, statut, interfaces, descriptions, OID, … Lorsqu’on visualise les dernières alarmes remontées, on obtient par exemple :

Thibaut PROBST

19

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau Ici leur statut (« Severity ») est « Normal », mais parfois il peut être « Critical », « Warning », … On constate que beaucoup d’alarmes sont remontées sans forcément être cruciales. Il est également possible de personnaliser les alarmes (Options  Data Collection & Thresholds  Edit  MIB Object  New). Après analyse des fonctions de ce logiciel et discussion avec l’administrateur, on peut résumer que cette application peut fournir beaucoup d’informations mais nombreuses sont celles qui ne sont pas exploitées. En effet, l’administrateur surveille principalement les équipements réseau (statuts, alarmes, …), les serveurs (arrêt, redémarrage), c’est-à-dire les ressources communes, les stations SUN, les postes de travail sauvegardés et les adresses IP dupliquées. HP/OV ne permet pas d’avoir une vision simplifiée et personnalisé du réseau supervisé. Un tri des objets serait nécessaire, mais très long et fastidieux. Par ailleurs, beaucoup d’alarmes sont remontées et seules quelques unes ont un réel intérêt. Pour finir, il n’y a pas moyen d’obtenir des graphes « à la demande » dans HP/OV, ce qui crée une lacune dans la vision globale du réseau supervisé.

2. Nagios a. Présentation Nagios (anciennement appelé Netsaint), est un logiciel libre sous licence GPL permettant la supervision système et réseau. Il permet de surveiller des hôtes et services spécifiques en indiquant leurs états en permanence. Ce programme est dit « modulaire » et se décompose en trois parties : - Le moteur de l’application qui ordonnance les tâches de supervision ; - L’interface web, qui permet d’avoir une vue d’ensemble du système d’informations et des possibles anomalies ; - Les plugins, une centaine de petits programmes que l’on peut ajouter en fonction des besoins en matière de supervision. Nagios permet de superviser la plupart des services réseaux, les ressources des machines sur les systèmes d’exploitation les plus répandus. Cet outil offre la possibilité d’utiliser le protocole SNMP pour notamment la remontée d’alarmes. Nagios est utilisable à distance via un tunnel sécurisé (SSH, SSL). La remontée d’alarmes est entièrement paramétrable et une alerte non acquittée est envoyée à un groupe différent (gestion des escalades). De plus, ce logiciel permet la création d’utilisateurs pour donner des accès limités à certains éléments. b. Principe et fonctionnement Nagios peut être vu comme un moteur d’ordonnancement de toutes les vérifications qui régissent la supervision du réseau. Ces vérifications sont assurées par ce que l’on appelle des « greffons » (plugins en anglais). Ceux-ci peuvent être de simples scripts qui fournissent un code retour. Les codes sont 0 (OK), 1 (Warning), 2 (Critical) et 3 (Unknown). Ces états seront ensuite remontés au moteur qui prendra les décisions et lancera les actions programmées. Ces greffons fonctionnent soit en local sur la machine supervisée (par exemple les vérifications sur les disques), soit effectuent des tests à distances (tests sur des protocoles réseaux tels SMTP ou exécution à distance via SSH ou autre). Les vérifications peuvent être passives (rarement ou dans certains cas où la sécurité impose d'interdire une connexion dans un sens, ou encore dans le cas de supervision hiérarchique), mais le plus souvent actives. Thibaut PROBST

20

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau La vérification d'un service à distance (par l'exécution d'un greffon situé sur une autre machine, par exemple, ou par SNMP), se fait, elle aussi, par le biais de l'exécution d'un greffon local au serveur Nagios. NRPE (Nagios Remote Plugin Executor) permet donc l'exécution de plugins à distance, à choisir parmi un certain nombre de services disponibles. NSCA (Nagios Service Check Acceptor) permet de son côté la remontée d'informations de façon passive (vu du point de vue de Nagios). L'ordonnancement des vérifications est assuré de façon locale à chaque machine, et surtout permet d'inverser le sens des connexions entre serveur supervisé et serveur superviseur, ce qui peut avoir un intérêt dans un réseau sécurisé, avec des firewalls en diode (ne laissant passer les flux que dans un sens). La différence entre NRPE et NSCA est l'initiateur de la vérification : NRPE reçoit la demande de vérification de la part de Nagios, exécute la vérification, puis renvoie le résultat. Alors qu'avec NSCA, la vérification est planifiée en local, exécutée, puis le résultat est envoyé à Nagios.

Fonctionnement de NRPE

Fonctionnement de NSCA c. Utilisation à l’IRIT Après étude des fichiers de configurations de Nagios et de ses plugins (voir en annexes : I.1.a et I.1.b) ainsi que de l’interface graphique qui en résulte, j’ai pu en déduire un tableau expliquant les détails des serveurs et services supervisés à l’IRIT (voir en annexes : I.2. Globalement, à l’IRIT, Nagios permet par son interface graphique de visualiser les états des machines serveurs et de vérifier le bon fonctionnement des services qu’ils offrent aux utilisateurs du réseau de l’IRIT. On peut également créer quelques graphes statistiques sur les états des machines ou services mais la marge de création reste assez limitée. Il parait donc très intéressant d’y implémenter d’autres outils comme Centreon, NagVis, … ou du moins de réutiliser cet outil de supervision.

Thibaut PROBST

21

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

IV. Prospection C’est la seconde partie de mon projet et elle est essentielle à son bon déroulement. En effet, elle consiste à réaliser une étude approfondie des outils disponibles et les mieux adaptés dans le monde du libre. Ainsi, en analysant toutes les fonctions disponibles pour la supervision du réseau, j’arriverai à faire le choix qui est attendu par le service informatique pour ensuite réaliser la mise en production de l’outil de supervision. Tout d’abord sera étudié une surcouche logicielle à Nagios, Centreon. Puis, nous verrons le logiciel Cacti. Ensuite la plateforme FAN, et enfin la solution EyesOfNetwork avec pour finir un tableau comparatif des différents outils et le choix final. J’ai voulu étudier ces outils car ils font partie des plus utilisés et les plus documentés. De plus, ils ont entre eux des interactions intéressantes.

1. Centreon a. Présentation Centreon (anciennement appelé Oreon) est un logiciel de supervision réseau, basé sur le moteur de récupération d’informations Nagios. Il fournit une interface simplifiée pour rendre la consultation de l’état du système accessible à un plus grand nombre d’utilisateurs, notamment à l’aide de graphiques. Centreon intègre la gestion de tous les fichiers de configuration de Nagios, un module de chargement de configuration de Nagios avec des tests de validité des configurations (debugger de Nagios). On retrouve également des fiches d’identité serveurs/équipements réseaux regroupant les informations de base sur ces types de ressources. En outre, Centreon offre des représentations graphiques élaborées et personnalisables. De plus, il comprend un système de modules qui permet l’inclusion d’autres applications et un système de calcul de la qualité de service en temps réel. Des alertes sont émises en cas de diminution de la qualité de service et la notification est hiérarchisée. Enfin, la gestion des accès est bien ordonnée. b. Principe et fonctionnement Une fois Nagios installé sur le serveur Linux, il faut créer une base de données pour Centreon. Cette base de données servira à stocker les informations sur les machines supervisées par Centreon. Le plugin NDOutils servira à écrire les données dans la base. Nagios n’écrit pas les informations sur sa configuration dans la base de données NDO. C’est pour cela qu’il faut installer le plugin NDOutils. Ce dernier est composé de deux briques : NDOMOD et NDO2DB. Le premier prend les événements à partir du daemon Nagios (1) et les envoyer via un socket TCP ou UNIX (2) vers le second (3) qui va les convertir (4) dans un format compatible avec la base de données choisie (MySQL ou PgSQL) (5).

Thibaut PROBST

22

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Fonctionnement de NDO avec Nagios Centreon réutilisera alors les informations de la base. L’assistant d’installation et l’interface graphique permettent de faire le lien avec les bases de données et Nagios.

Rôles de Centreon par rapport à Nagios c. Conclusion sur Centreon Centreon est un outil parfaitement adapté pour l’IRIT. En effet, Nagios étant déjà en place, il est très intéressant d’y implémenter Centreon. Il apporte des fonctions de monitoring en temps réel, de traitement des données, de notifications et de contrôle d’accès. De plus, et c’est son rôle principal, il permet de configurer aisément Nagios. La fonction de tracés de graphes lui permet d’être à mes yeux un outil de supervision mono-site très complet.

2. Cacti a. Présentation Cacti est un logiciel libre de supervision réseau basé sur la puissance de stockage de données RRDTool. Il s’agit d’un outil de gestion de base de donnée RRD (Round Robin Database) sous licence GPL et d’ailleurs le standard de l’industrie open source permettant la sauvegarde haute performance et le tracé de graphique et de données chronologiques. En outre, le principal avantage d’une base RRD est sa taille fixe.

Thibaut PROBST

23

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau Cacti est considéré comme le successeur de MRTG (Multi Router Traffic Grapher) et également comme une interface d’utilisation de RRDTool. Il permet principalement de représenter graphiquement divers statuts de périphériques réseau en utilisant SNMP ou encore grâce à des scripts. Les données sont récoltées auprès des différents agents SNMP grâce à un script PHP. Pour de meilleures performances, un exécutable nommé cactid peut également effectuer les interrogations. L'intérêt de ce logiciel réside essentiellement dans son principe de « modèles » (Templates) qui permet de créer de manière générique les graphiques afin de les réutiliser. De manière générale, « tout » est modèle sous Cacti. Cela est avantageux lorsque de nombreuses données identiques doivent être observées, mais cela peut se révéler fastidieux à configurer lorsque les données sont hétérogènes. Contrairement à MRTG qui régénère l'ensemble des graphiques toutes les 5 minutes, Cacti génère les images dynamiquement à l'affichage à partir des fichiers de données RRDTool. Il est également possible d'effectuer des opérations simples (et des combinaisons d'opérations) avec les différentes données grâce à une interface graphique qui permet l'utilisation simplifiée de la commande CDEF de RRDTool. b. Principe et fonctionnement Cacti fonctionne selon le principe suivant : acquisition, stockage et présentation des données.

L’acquisition de données se fait de manière indexée ou non indexée. « Data Input Method » permet d’acquérir une ou plusieurs valeurs numériques (par exemple, une réponse d’un ping en ms ou un nombre d’utilisateurs connectés sur un poste) grâce à des scripts ou des requêtes SNMP et elle définit les sources des données. « Data Query » liste des données (par exemple, liste d’interfaces ou de partitions) selon un index ce qui facilite la création de graphes lorsqu’on a souvent des données similaires. Celles-ci sont ensuite stockées dans des modèles de données (« Data Template ») qui définissent la façon dont sont stockées les données (« Data Source ») dans les fichiers de la base de données RRD. Une ou plusieurs sources de données peuvent alors être stockées dans un fichier. Un fichier RRD peut contenir plusieurs RRA (Round Robin Archive) qui correspondent aux différents cycles de conservation des données (jour, semaine, mois année, etc…). En fait ces RRA correspondent à des moyennes des valeurs contenues dans le fichier RRD et permettent de visualiser les données sur différentes échelles de temps. A noter que c’est un outil, le poller, qui permet de stocker les données acquises dans les fichiers de la base RRD. Thibaut PROBST

24

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau La présentation des données est réalisée sous forme de modèles graphes (« Graph template ») qui définissent la manière dont sont présentées les données dans les graphes. Une ou plusieurs sources de données peuvent alors être présentées dans un même graphe.

Fonctionnement détaillé de Cacti Le but premier de Cacti est de fournir des graphes. Pour cela, les différents éléments de Cacti sont mis en relation afin de parvenir à la création de graphes. Tout est articulé autour du poller, un script en PHP qui est soumis à un planificateur de tâches (un cron). Les données sont récoltées par le biais de deux méthodes différentes (Data Input Method et Data Query) s’appuyant sur le protocole SNMP ou de simples scripts. Puis le poller va écrire ces données dans un fichier RRD grâce à RRDTool lorsque l’utilisateur commandera (dans l’interface graphique) la création d’une source de donnée en associant un modèle de donnée à un hôte. Il ne reste ensuite qu’à créer le graphe en utilisant le fichier RRD (contenant les données à représenter sur les graphes, les RRAs) avec un modèle de graphe. c. Extensions Les utilisateurs de Cacti ont développé des plugins, c’est-à-dire toutes sortes de petits programmes qui viennent se greffer à Cacti. Ceux-ci permettent d’offrir plus de fonctionnalités. - « Architecture » : améliore encore plus la structure de Cacti (créer des addons, …) ; - « Weathermap » : outil particulièrement utile qui génère des cartes graphiques pour mesurer les bandes passantes (en pourcentage ou en absolu) des liens réseaux. - « NTOP » : statistiques à propos de l’utilisation du réseau. Thibaut PROBST

25

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau -

« Syslog-Ng » : permet de lire les messages syslog-ng dans l’interface de Cacti. « BackUp » : ajoute une fonction de sauvegarde de l’installation de Cacti ; « Discovery » : découvrir automatiquement les périphériques réseau non contrôlés par Cacti et indique si SNMP est activé dessus ; - « Flowview » : visionneur des rapports fondés sur les données de flux crées par Netflow ; - « Haloe » : interface MySQL intégrée à Cacti pour enregistrer les événements à partir de scripts, … ; - « MacTrack » : pour suivre les adresses IP et MAC et les ports ; - « Monitor » : ajoute un onglet pour visualiser les états (Up ou Down) de tous les hôtes. Si un hôte tombe en panne une alerte sonore est émise ; - « RRDClean » : utilisé pour supprimer les RRAs non utilisées ; - « Reports » : envoie des graphes à des utilisateurs à des moments donnés ; - « Thold » : module « Threshold » (seuils, alertes, …) converti en plugin ; - « Tools » : ajoute des outils réseaux pour Cacti ; - « Update » : affiche les plugins installés et vérifie les mises à jour. Il existe également NPC (Nagios Plugin for Cacti), permettant de complètement intégrer Nagios à Cacti et offre les fonctionnalités suivantes : - Une nouvelle interface à Nagios complètement intégré à Cacti ; - Une interface utilisateur riche développée avec Ext 2.0 ; - Un point d'entrée unique pour surveiller les états et tendances des composants; - Toutes les données sont mises à jour de façon asynchrone grâce à JSON (Java Script Object Notation) ; - Importation/synchronisation des hôtes de Nagios dans Cacti (N2C). - Possibilités de customiser l'interface par utilisateur. L'idée de marier Cacti et Nagios n'est pas nouvelle mais franchit une étape avec NPC. d. Conclusion sur Cacti Cacti est un outil très orienté graphes. C’est sa fonction principale et bien que compliqué à manipuler, une fois acquis il constitue un puissant outil de métrologie. En effet il est possible de personnaliser entièrement ses graphes. En revanche, on peut penser que sans ses plugins Cacti est un peu léger en matière de supervision et les notions de « templates » (modèles) et de base RRD peuvent paraître rebutantes. Mais, après analyse de la richesse des plugins de Cacti lors d’une visite au service réseau du CICT, j’ai pu m’apercevoir que ceux-ci étaient parfaitement adaptés pour l’IRIT. Par exemple, la Weathermap permet de surveiller la charge du réseau de manière efficace, et le Monitoring permet de savoir facilement et visuellement l’état des machines en leur associant des seuils d’alertes (avec le plugin Thold). Certes Cacti n’est pas déployé pour surveiller les services, mais sachant qu’un Nagios fait déjà ce travail à l’IRIT et que l’on peut l’intégrer dans Cacti, cette solution parait donc adaptée aux besoins du service informatique.

3. Fully Automated Nagios FAN (Fully Automated Nagios) est une distribution GNU/Linux basée sur la distribution CentOS. Cette dernière est donc également une distribution GNU/Linux basée sur la distribution Red Hat Enterprise Linux. L’objectif de FAN est de fournir une installation de Nagios complétée de tous les outils mis à disposition par la communauté Nagios. Les outils fournis par FAN sont donc : - Nagios : logiciel de supervision puissant ; Thibaut PROBST

26

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau -

Nagios plugins : plugins pour Nagios ; Centreon : logiciel surcouche d’amélioration de Nagios ; NagVis : fonction de visualisations graphiques ; NDOutils : écrire dans les données dans une base ; NRPE : Nagios Remote Plugin Executor pour exécuter les plugins de Nagios; NaReTo : Nagios Reporting Tools, interface de haut-niveau pour organiser les éléments supervisés sous forme arborescente (suivi temps-réel, alarmes, reporting). FAN est un Centreon agrémenté de deux outils très intéressants. Cependant il faut savoir les manipuler pour en voir l’intérêt. NaReTo apporte de la simplicité dans le suivi et NagVis permet d’avoir une vision globale des éléments supervisés. FAN est donc très complet et à priori simple d’utilisation. Le principal défaut que j’ai relevé est que, à ce jour, la version 2 de FAN est en béta est donc non stable, et les versions antérieures (1.1 la dernière) ne comprennent pas les versions 2 de Centreon et 3 de Nagios. Installer FAN aujourd’hui signifierai donc ne pas être à jour sur ses composants.

4. EyesOfNetwork EyesOfNetwork est une solution Open Source réunissant de manière pragmatique les processus ITIL (Information Technology Infrastructure Library) et l’interface technologique permettant leur application. Le « bundle » EyesOfNetwork est composé d’un système d’exploitation minimaliste incluant un ensemble d’applications répondant aux différents besoins de supervision : - GED (Generic Event Dispatcher) : gestion multi sites et sécurisée des évènements ; - Nagios : gestion des incidents et des problèmes ; - NagiosBP : gestion de la criticité des applications ; - NagVis : cartographie personnalisée de la disponibilité ; - Cacti : gestion des performances ; - Weathermap : plugin de cacti pour cartographier de la bande passante ; - Backup Manager : outil de sauvegarde de la solution ; - EONWeb : interface web unifiée de la solution ; - Ezgraph : librairie d’affichage des graphiques ; - SNMPTT : traduction des traps SNMP. EyesOfNetwork est accessible via une interface Web unique dont l’objectif est de réunir les différents acteurs d’un système d’informations (DSI, Administrateurs, Techniciens, Opérateurs, …). Chacun des ces acteurs dispose d’une vue correspondant à son métier. Toutes les informations sont consolidées en Base de Données MYSQL ou BERKELEY. EyesOfNetwork est un produit sous licence GPL2 sponsorisé et proposé par APX dans le cadre de prestations de services (Intégration, Télé-service, Support téléphonique et Tierce Maintenance Applicative). EyesOfNetwork parait être un outil très complet pour superviser un réseau multi-sites. Cependant, il comprendrait trop de fonctions inutiles pour les besoins du service informatique.

Thibaut PROBST

27

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

5. Comparaison des outils et choix Voici un tableau comparatif des différentes caractéristiques des logiciels qui se rapprochent le plus de la demande du service, à savoir Nagios, Centreon, Cacti et FAN.

Licence Windows Linux

Nagios Libre GNU/GPL Oui Oui Serveur LAMP

Cacti Libre GNU/GPL Oui Oui Serveur LAMP RRDTool - SNMP

FAN Libre GNU/GPL CentOS

Milliers d’objets Oui Oui Oui Oui Non Basique Non Mono-site Non

Centreon Libre GNU/GPL Oui Oui Serveur LAMP Nagios - NDOutils RRDTool - SNMP Milliers d’objets Oui Oui Oui Oui Oui Basique Oui Mono-site Non

Milliers d’objets Oui Oui Oui Oui Non Oui Mono-site Non

Milliers d’objets Oui Oui Oui Oui Oui Basique Oui Mono-site Oui

Non

Non

Oui

Non

Local ou LDAP Basique Oui

Local ou LDAP ACL Oui

Local ou LDAP Oui

Local ou LDAP ACL Oui

Pré-requis Scalabilité Supervision SNMP Supervision locale Supervision passive Supervision distante Alarmes SNMP Bac à events Métrologie Navigation Génération de rapports Découverte du réseau Authentification Autorisation Interface graphique

-

Le service informatique de l’IRIT veut surveiller l’état des éléments actifs d’interconnexion, la charge du réseau et l’état des ressources communes (serveurs). Pour cela il faut un outil capable de faire du monitoring et permettant de tracer des graphes (avec RRDTool par exemple). Cacti, Centreon, et donc FAN (qui comprend Centreon) satisfont ce besoin. Mais la puissance des graphes de Cacti agrémenté de ses plugins comme Weathermap pour surveiller la charge réseau, ou Mactrack pour les adresses MAC, font que pour les besoins du service il est supérieur dans la simplicité de sa personnalisation et dans son développement. C’est pour cela que je propose une installation de Cacti ainsi que des quelques plugins utiles au service, et surtout d’y intégrer Nagios qui surveille précisément les serveurs de l’IRIT.

Thibaut PROBST

28

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

V. Mise en place de l’outil La solution retenue est donc de préserver Nagios existant qui surveille les services et les serveurs, et de l’intégrer à Cacti. Celui-ci, muni de ses plugins, permettra la surveillance des hôtes et du réseau : statuts des équipements, charge, … de manière simple et efficace et des ressources communes (serveurs) grâce à Nagios. D’abord, je vais expliquer comment l’outil à été installé et configuré, puis comment j’ai pu alors l’exploiter.

1. Installation Ici ne sont présentées que les méthodes pour la mise en place de l’outil de supervision. Pour plus de détails sur les diverses installations, voir en annexes : III.1. a. Pré-requis Il faut les fonctions de serveur web (Apache) et de serveur de base de données (MySQL), ainsi que l’interpréteur PHP pour les scripts. C’est ce qu’on appelle un serveur LAMP (Linux Apache MySQL PHP). Dans mon cas, ceci était déjà présent sur le serveur sur lequel j’ai installé Cacti. La base de données de Cacti sera stockée sur un autre serveur MySQL dédié. Par ailleurs, il a fallu vérifier la présence et le bon fonctionnement de l’outil RRDTool et du protocole SNMP sur le serveur. b. Cacti Pour installer Cacti, j’ai utilisé l’utilitaire YUM (Yellow dog Updater, Modified), qui offre des commandes permettant l’installation, la suppression ou la mise à jour de paquets provenant d’un dépôt RPM (RPM Package Manager). Il a fallu ensuite configurer différents fichiers pour l’accès à la base de données, ainsi que créer un cron (permet d’exécuter automatiquement un script, des commandes ou des logiciels à des dates et heures spécifiés ou selon un cycle défini) pour lancer le script PHP du poller toutes les minutes, et donc l’activation de la récolte des données. Il est essentiel de retenir trois éléments pour l’installation de Cacti : - la base de données de Cacti accessible via un utilisateur dédié ; - le répertoire de Cacti, propriété d’un utilisateur système ; - le cron de Cacti exécuté par le superutilisateur (« root ») sur la machine. c. Plugins Avant de pouvoir installer un plugin, il faut installer l’architecture des plugins, c’est-àdire configurer Cacti pour qu’il puisse recevoir des plugins. Il suffit de télécharger de l’archive puis faire un « patch » du répertoire de Cacti et une mise à jour de la base de données de Cacti. Tous les autres plugins s’installent de la même manière : téléchargement de l’archive, copie de l’extraction dans le répertoire des plugins de Cacti, ajout d’une ligne dans un fichier pour afficher le plugin dans l’interface et activation du plugin dans l’interface graphique. Il est

Thibaut PROBST

29

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau parfois nécessaire de mettre à jour la base de données de Cacti grâce à des fichiers « .sql » fournis par les développeurs. d. Intégration de Nagios à Cacti Pour que le plugin d’intégration de Nagios à Cacti fonctionne correctement, il a fallu d’abord installer NDOutils, configurer ses deux modules (NDOMOD et NDO2DB) et configurer Nagios pour écrire les données de celui-ci dans la base de Cacti. En effet, comme NDOutils est essentiel pour installer Centreon, il l’est également pour intégrer Nagios dans Cacti puisque le principe est le même. Puis le plugin NPC (Nagios Plugin for Cacti) s’installe comme un plugin classique dans Cacti. Il faut en plus renseigner dans la configuration de Cacti plusieurs informations pour faire les liens avec Nagios. e. Infrastructure finale J’ai donc installé Cacti dans sa dernière version muni de l’architecture des plugins, ainsi que dix plugins : - Settings ; - Monitor; - Thold ; - PHP Weathermap ; - MacTrack ; - Network Tools ; - NTOP ; - Updates ; - Nagios Plugin for Cacti; - SuperLinks. Et au final, voici l’architecture client-serveur de la plateforme de supervision :

Serveur distant MySQL Base de données

Requêtes SQL

Clients supervisés `

Requêtes HTTP

Thibaut PROBST

30

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau Un serveur sert à héberger les logiciels Nagios et Cacti. Il supervise le réseau à travers des requêtes SNMP (à noter que les clients supervisés disposent déjà des agents SNMP du fait de la présence de HP/OV initialement), des scripts ou les plugins de Nagios, et établi des échanges SQL pour écrire et récupérer des données de la base stockée sur un serveur distant. Enfin, pour administrer la station de supervision, on se connecte depuis un PC via HTTP à l’interface web de Cacti sur le port 8888 (indiqué dans le fichier de configuration d’Apache) : http://:8888/cacti/

2. Configuration a. Configuration générale Avant de se lancer dans l’exploitation de Cacti, il faut s’assurer que les différents composants sont bien configurés dans Cacti. Pour ce faire, le menu Configuration  Settings permet de vérifier que tout est bien indiqué (logs, SNMP, poller, répertoires, …) et offre la possibilité de personnaliser le fonctionnement global de Cacti et des plugins. Pour plus de détails, voir en annexes : III.2. b. Fichiers de configuration Les principaux éléments de configuration de Cacti sont les suivants : /etc/httpd/conf.d/cacti.conf : configuration d’Apache pour Cacti. /etc/cacti/db.php : configuration pour accès à la base de données de Cacti. /etc/cron.d/cacti : cron de Cacti. /usr/share/cacti/ : répertoire principal de cacti. - docs : documentations diverses. - include : configuration de l’interface web. - log/cacti.log : fichier de log de Cacti. - plugins : répertoires des plugins. - resource : fichier au format « .xml » (Data Queries). - rra : fichiers au format « .rrd » (Data Sources). - scripts : scripts au format « .pl » (Data Input Methods). /usr/local/nagios/etc/ndo2db.cfg : fichier de configuration de NDO2DB. /usr/local/nagios/etc/ndomod.cfg : fichier de configuration de NDOMOD. /etc/init.d/ndo2db : script de lancement automatique de NDO2DB.

c. Authentification et utilisateurs Il existe trois méthodes d’authentification à l’interface de Cacti : - Local : pour s’authentifier avec les utilisateurs crées via l’interface ; - Web Basic Authentication : authentification via serveur web ; - LDAP : authentification via serveur LDAP ; On a choisi d’utiliser pour l’instant la méthode d’authentification locale. Au départ, il n’y a que deux utilisateurs pour Cacti (un administrateur « admin » et un invité « guest »). Il a donc fallu, avec le compte administrateur, créer et configurer des utilisateurs pour Cacti. On peut donner à chacun différents droits sur l’utilisation de Cacti, des graphes, des fonctions des plugins et aussi le droit de modifier les droits des autres utilisateurs. Pour plus de détails, voir en annexes : III.15.

Thibaut PROBST

31

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

3. Exploitation a. Présentation de l’interface Tout d’abord je vais présenter ce que l’on obtient une fois connecté sur l’interface web de Cacti. Celle-ci est composé de deux modes de bases : « console » et « graphs », ainsi que des modes supplémentaires (« thold », « npc », « monitor », « weathermap », « mactrack », « NTop ») correspondant aux plugins ajoutés.

Dans le mode console, on retrouve les menus principaux d’administration : Menu Create : permet de créer simplement des graphes (voir en annexes : III.9.a). Menu Management : permet la gestion des graphes (voir en annexes : III.8 et II.9.a), des arbres de graphes (voir en annexes : III.8.a) des sources de données (voir en annexes : III.9.b), des équipements (voir en annexes : III. 5. b), des seuils (voir en annexes : III.11.b), des maps (voir en annexes : III.12), et des liens externes (voir en annexes : III.14). Menu Device Tracking Management : permet la gestion des équipements et modèles d’équipement pour suivi des adresses, grâce au plugin MacTrack (voir en annexes : III. 11). Thibaut PROBST

32

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau Menu Tracking Tools : outils de suivi des adresses MAC (voir en annexes : III. 11). Menu Collection Methods : pour gérer les méthodes d’acquisition de données (voir en annexes : III.3). Menu Templates : permet de gérer les modèles de graphes (voir en annexes : III.5), d’hôtes (voir en annexes : III.6.a), de données (voir en annexes : III.4) et de seuils (voir en annexes : III. 10. b). Menu Import/Export : sert à importer ou exporter des modèles (voir en annexes : III.7). Menu Configuration : pour la configuration générale de Cacti et des plugins (voir en annexes (III.2). Utilities : regroupe tout ce qui est relatifs aux informations générales de Cacti, utilisateurs de Cacti, droits d’accès, mises à jours, … Host Templates

Data Queries Data Templates

Devices

Graph Templates

Data Input Methods

Data Sources

Graph Management

RRDTool Graph

RRAs Relations entre les menus de Cacti b. Equipements J’ai d’abord ajouté des modèles d’équipements. Un pour les switches Hewlett-Packard et un pour le routeur Extreme Network. Dans le menu Templates  Host Templates, on retrouve les modèles d’équipement et notamment le modèle « HP Switch » ajouté :

Thibaut PROBST

33

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

J’ai associé plusieurs modèles de graphes et Data Queries. Ainsi, tous les équipements ou on indiquera qu’ils sont de ce modèle auront ces associations. La création de graphes sera ainsi facilitée. Ensuite ont du être ajoutés tous les commutateurs présents à l’IRIT, le routeur, et enfin les serveurs. Pour chaque machine il fallait indiquer notamment le nom DNS ou l’adresse IP, le modèle d’équipement et les paramètres ICMP et SNMP. Ainsi, dans le menu Management  Devices, on a :

Thibaut PROBST

34

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau On retrouve la liste des équipements ajoutés un par un avec notamment leur nom ou adresse IP, le nombre de graphes associés, leur statuts, le temps de réponse et leur disponibilité (en pourcentage). A noter que le statut d’un hôte peut-être déterminé par une requête ICMP ou une requête SNMP, ou bien les deux. Avant de créer des graphes pour surveiller chacune des machines, j’ai décidé de trier celles-ci selon leur position géographique à l’IRIT. Dans Management  Graph Trees, j’ai créé un arbre et ses branches correspondants aux bâtiments, étages, …

Ici par exemple on voit que j’ai placé les trois switches du 3ème étage du bâtiment irit1. Cette idée de classifier les équipements est intéressante pour le mode graphs lorsqu’on voudra visualiser les graphes associés aux équipements. c. Monitoring et seuils Une fois tous les équipements renseignés dans Cacti, j’ai pu visualiser grâce au plugin Monitor les états de ces derniers de manière plus agréable. Par ailleurs, j’ai configuré le plugin Monitor de manière à voir les hôtes regroupés selon l’arbre que j’ai construit précédemment. On obtient alors, dans le mode monitor :

Thibaut PROBST

35

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Selon la couleur de l’équipement, on sait s’il est en fonctionnement ou non (vert : état normal ; bleu : attente pour confirmer l’état normal ; orange : seuil atteint ; rouge : hors fonctionnement). Si un hôte tombe en panne, alors une alerte sonore est émise et une alerte par mail sera envoyée :

A noter qu’un autre mail peut être envoyé quand l’hôte redevient en fonctionnement On peut également associer des seuils (« Thresholds » en anglais). Ceux-ci font passer un hôte dans l’état « Threshold Breached » (en orange) et une alarme est émise (à configurer).

Thibaut PROBST

36

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau Par exemple, on crée un seuil à 2% pour le graphe représentant l’usage de la CPU Système d’un serveur. Lorsque celui-ci va être atteint, le serveur passera en statut « Threshold Breached » dans le mode monitor :

Une alerte sonore est émise et une alerte par mail personnalisable sera envoyée :

A noter qu’un autre mail peut être envoyé quand l’hôte repasse en statut normal. Thibaut PROBST

37

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau Pour plus de détails sur la création de seuils, voir en annexes : III.10.b. d. Graphes Pour surveiller en détail les équipements actifs d’interconnexion (switches, routeur) et les ressources communes (serveurs), j’ai crée pour chacun différents graphes. J’ai utilisé les modèles de graphes de base fournis par Cacti, ceux-ci contenant des items définis par des modèles de données. Ces modèles de données utilisent soit les méthodes d’acquisition de données (liste de donnée avec SNMP ou donnée avec un script), soit indiquent un OID pour retourner directement une donnée avec SNMP. J’ai cependant rencontré un problème avec certains modèles de graphes utilisant les scripts pour remonter les données. Je me suis rendu compte que certains scripts n’ont aucun paramètre pour indiquer l’hôte sur lequel s’exécuter. Ainsi, ces graphes ne sont applicables que sur la station de supervision. Au final, j’ai pu exploiter les graphes utilisant SNMP et quelques autres utilisant des scripts applicables sur des hôtes distants : Paramètre surveillé Temps de réponse Mémoire (RAM, SWAP) Charge moyenne Utilisation de la CPU Trafic Trafic Unicast Trafic Non-Unicast

Modèle de graphe Unix – Ping Latency ucd/net – Memory Usage ucd/net – Load Average ucd/net – CPU Usage Interface - Traffic (bits/sec) Interface - Unicast Packets Interface - Non-Unicast Packets

Méthode Script SNMP SNMP SNMP SNMP SNMP SNMP

Dans le mode graphs, on retrouve les graphes crées, à visualiser de trois manières différentes :

en arbre (à gauche) ; listé (au centre) ; pré-visualisé (à droite) Thibaut PROBST

38

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Graphe représentant le temps de réponse d’un serveur sur une journée

Graphe représentant l’utilisation de la mémoire d’un serveur sur près de trois jours

Graphe représentant la charge moyenne du système (nombre moyen de processus en train d’utiliser ou d’attendre le processeur) d’un serveur sur une journée

Thibaut PROBST

39

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Graphe représentant le pourcentage d’utilisation de la CPU d’un serveur sur près de deux heures

Graphe représentant le trafic sur l’interface du 1er switch situé au 2ème étage du bâtiment IRIT1 relié au routeur sur quatre heures

Graphe représentant le trafic sur l’interface du routeur relié au 1er switch situé au 2ème étage du bâtiment IRIT1 sur quatre heures Thibaut PROBST

40

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau On constate que les deux graphes précédents représentent les mêmes valeurs, mais dans le sens contraire (trafic en entré chez l’un équivalent au trafic en sortie chez l’autre).

Graphe représentant le trafic de paquets unicast sur une interface du routeur sur une journée

Graphe représentant le trafic de paquets non-unicast sur une interface du routeur sur une journée e. Cartographie de la bande passante Le plugin Weathermap de Cacti permet l’insertion du puissant logiciel de cartographie PHP Weathermap. On va pouvoir ainsi créer des cartes (ou maps) où sera exprimée la charge du réseau sur plusieurs liens. La version PHP de ce plugin nous propose : - un éditeur web pour la création des maps ; - une prise en charge de l'état des équipements (up, down, recovering) ; - des courbes pour les liens ; - une intégration des images RRD lors du passage de la souris sur les liens. Pour créer les maps, j’ai utilisé les graphes relatifs au trafic sur les interfaces des switches ou du routeur. On a vu précédemment que ces derniers étaient équivalents. J’ai donc eu le choix lors de la constitution des maps. Pour ce qui des serveurs, j’ai du sélectionner une interface spécifique qui correspondait à un Trunk (permet de faire transiter plusieurs VLAN sur un seul lien). Pour comprendre la démarche de création d’une map, voir en annexes : III.12. Dans le mode weathermap, on retrouve les maps créées. Thibaut PROBST

41

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Map représentant la charge réseau du bâtiment IRIT2 Chaque flèche indique le pourcentage de la bande passante utilisé entre deux équipements dans un sens et dans l’autre. La bande passante du backbone de l’IRIT est de 1 Gb/s. On s’aperçoit donc que généralement, le réseau n’est que très peu chargé. f. Suivi des adresses MAC Le plugin Mactrack permet de connaître pour un équipement d’interconnexion ses adresses IP ou adresses MAC relatives à chaque port. J’ai du créer des modèles d’équipements pour chaque type de switch et de routeur présent à l’IRIT et indiquer un OID spécifique à chaque marque. Cet OID servira à détecter quel est le modèle d’un équipement. Dans mon cas, j’avais trois modèles de switch différents et un modèle de routeur à ajouter : - HP ProCurve 2810-24G ; - HP ProCurve 2810-48G ; - 3250 FC Switch ; - Extreme Networks Router. Pour chaque modèle, une fonction de scannage d’adresse MAC et d’adresse IP est disponible, et c’est elle permet de retourner les adresses MAC, les ports, les VLANs, … Pour les deux modèles de switch HP, j’ai utilisé une fonction de scannage personnalisée, en employant un script PHP (voir en annexe : III.11.d) apportant cette nouvelle fonction « get_procurve_ng_switch_ports ». Enfin, j’ai ajouté chaque switch et routeur en spécifiant son modèle. Ainsi, dans le mode mactrack, on obtient grâce aux remontées SNMP la liste des adresses MAC, des ports et des VLANs pour un switch donné : Thibaut PROBST

42

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

g. Nagios Plugin for Cacti Ce plugin affiche dans Cacti le contenu des tables de la base de données de Cacti remplie par NDO, qui recopie les informations de Nagios dans ces tables. Toutes les données sont ainsi placées dans la même plateforme de supervision. Dans le mode npc, on obtient :

Thibaut PROBST

43

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau On retrouve les informations délivrées par Nagios mais dans une interface plus agréable. h. NTOP Ce plugin permet d’afficher dans Cacti le logiciel libre de supervision réseau NTOP (Network TOP). Cette application produit des informations sur le trafic d'un réseau en temps réel (comme pourrait le faire la commande top avec les processus). Il capture et analyse les trames d'une interface donnée, et permet d'observer une majeure partie des caractéristiques du trafic (entrant et sortant) et accepte pour cela, notamment deux modes de fonctionnement : une interface web et un mode interactif. L’intérêt de sa mise en place réside dans le fait qu’il offre des informations très détaillées et apporte des statistiques sur les protocoles, les hôtes, de tout le réseau que Cacti ne peut fournir. NTOP utilise également RRDTool pour tracer des graphes pour chaque machine. Pour plus de détails sur l’utilisation de NTOP, voir en annexes : III.13. Voici quelques exemples d’informations que peut retourner NTOP :

Graphe représentant la charge réseau

Graphe représentant le trafic HTTP de la station de supervision

Thibaut PROBST

44

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Graphe représentant le trafic SNMP sur un serveur supervisé

Tableau indiquant le trafic en fonction des machines et des protocoles

Tableau indiquant les sessions TCP/UDP en cours

Thibaut PROBST

45

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Informations et graphes circulaires relatifs aux protocoles utilisés sur un serveur i. Liens externes Le plugin SuperLinks permet de créer des liens hypertextes dans Cacti. Il va en fait directement écrire dans le contenu PHP du site de Cacti. Je m’en suis servi pour pouvoir créer des liens vers le logiciel HP ProCurve Manager, à la demande de certaines personnes du service informatique. Ainsi, dans un nouveau menu, j’ai ajouté les liens vers l’URL de l’application de web de HP ProCurve Manager pour chaque switch dans un nouveau menu :

Thibaut PROBST

46

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

4. Maintenance Le plugin Updates installé sert à vérifier que les différents composants de Cacti sont à jour. Dans le menu Utilities  Updates  Current, on a :

Pour chaque élément installé (Cacti, plugins, …), il est indiqué la version de chacun et le site internet correspondant. Le menu Utilities  Updates  Updates permet de vérifier si une mise à jour est disponible :

Le fichier /usr/share/cacti/docs/UPGRADE indique une procédure simple pour la mise à jour de Cacti. Pour se tenir au courant des mises à jour de Cacti et télécharger la dernière version, aller sur le site officiel de Cacti : http://www.cacti.net Le forum de Cacti sur ce site permet de poser des questions à la communauté. On peut également se tenir au courant des dernières nouveautés annoncées par les développeurs et suggérer d’éventuelles nouveautés. Pour se tenir au courant des mises à jour des plugins de Cacti et télécharger les dernières versions, aller sur le site : http://www.cactiusers.org Thibaut PROBST

47

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Retour d’expérience Le stage, au terme des deux ans d’études à l’IUT, constitue un point fort de la formation. Il permet de valider les compétences acquises à l’IUT, l’autonomie de travail, de recherche et de documentation, dans le cadre professionnel afin de familiariser les étudiants avec le monde du travail. Ce stage fut pour moi une expérience enrichissante, car j’ai pu développer des méthodes de travail, des connaissances sur la supervision réseau et le monde des logiciels libres ainsi que le système d’exploitation Linux. La supervision est un thème intéressant que l’on introduit seulement à l’IUT et je suis ainsi satisfait d’avoir pu approfondir ce domaine, en travaillant sur un outil très modulaire : Cacti. En effet, il m’a permis de bâtir une solution pour remplir ma mission de départ en mettant en place les éléments correspondant aux besoins ciblés dans mon étude préliminaire. J’ai été par ailleurs complètement intégré dans la vie du service informatique de l’IRIT, en suivant l’évolution de ses projets, en participant aux réunions de travail, … J’ai eu la chance de pouvoir collaborer avec des personnes qualifiées dans le milieu que j’aime. Elles m’ont parfois aidé à comprendre le fonctionnement du service informatique, où tout simplement à m’apporter de l’aide dans mon travail. D’un point de vue humain, ces premiers pas vers le monde du travail m’ont permis d’enrichir mon sens des relations humaines et de me conformer à des approches différentes des problèmes rencontrés, grâce à l’aide du personnel avec lequel j’ai travaillé.

Thibaut PROBST

48

R&T – 2ème année 2008/2009

Mise en place d’un outil de supervision réseau

Bibliographie o Cours de 2ème année DUT R&T • Supervision réseau et protocole SNMP. • TP : Mise en œuvre protocole SNMP. o Rapports • Cacti : supervision d’un système informatique hétérogène – Romain Garelli et Abdel Regragui (LP RMS – juin 2007). • Etude et mise en place d’une solution de métrologie réseau basée sur Cacti – Slim Chaffaï et Julien Hueber. o Portable Document Format • La supervision, la métrologie – Matthieu Herrb (LAAS). • Introduction à Cacti (LINAGORA) – Clément Oudot. • Cacti – Nicolas Rouanet (INSA de Toulouse). • Rapport de stage : Introduction à la supervision réseau sous GNU/Linux – Baptiste Gaultier (IUT de Rouen – Département GTR). o Internet • http://fr.wikipedia.org/wiki/Accueil : wiki. • http://www-igm.univ-mlv.fr/~dr/XPOSE2004/nchaveron/Supervision.html : la supervision systèmes et réseau et Nagios. • http://www.nagios-fr.org/wiki : wiki de la communauté francophone de Nagios. • http://nagios.sourceforge.net/docs/ : documentations officielles de Nagios et NDOutils. • http://www.cacti.net : site officiel de Cacti. • http://www.cactiusers.org : plugins de Cacti. • http://oss.oetiker.ch/rrdtool : site officiel de RRDTool. • http://blog.nicolargo.com/2009/02/pour-en-finir-avec-ndo.html : tutoriel d’installation de NDOutils. • http://nagios-fr.org/wiki/cacti/npc : tutoriel d’installation de NPC.

Thibaut PROBST

49

R&T – 2ème année 2008/2009

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF