Projet de synthèse

Transcription

Projet de synthèse
Projet de synthèse
Monitoring Réseau
Titre Visé: Technicien Supérieur Gestionnaire Exploitant des Ressources Informatiques
Auteur : Mohamed DAOUES
Numéro de Version : 1.0
Année : 2011 - 2012
Monitoring Réseaux
TSGERI 2011-2012
2
Suivi des Versions
Version :
Date :
0.1
12/09/2011
Création du document : squelette
0.2
16/09/2011
Ajout du chapitre I, II, III
0.3
23/09/2011
0.4
08/10/2011
0.5
13 et
14/10/2011
Du
0.6
28/10/2011
au
02/11/2011
Nature des modifications :
Ajout d’un nouveau chapitre qui a
remplacé l’ancien chapitre II
Ecrit par :
Relu
Validé
par :
par :
Mohamed
DAOUES
MD
MD
Modification au niveau du chapitre IV
MD
Ajout du tableau des outils
MD
Réflexion sur quel outil choisir,
téléchargement et test de plusieurs
outils et plateforme.
MD
Ajout de la partie V et VI
Correction au niveau de la partie IV
Du
0.7
11/11/2011
au
Ajout de la partie 1.4 au niveau de la
partie VI
MD
16/11/2011
0.8
23/11/2011
Ajout de la partie VII et VIII
MD
1.0
19/12/2011
Finalisation du rapport et vérification
MD
Essia
DAOUES
|Elaboré par Mohamed DAOUES
2
Monitoring Réseaux
TSGERI 2011-2012
3
Table des matières
Table de Figures..................................................................................................................................... 6
Avant-propos : ................................................................................................................................................... 8
I.
Introduction : ............................................................................................................................................. 9
II.
La Supervision : ........................................................................................................................................ 10
1.1
Qu’est-ce que la supervision ?......................................................................................................... 10
1.2
Pourquoi superviser son système d’information ............................................................................ 10
1.3
Les limites de la supervision ............................................................................................................ 10
1.4
Le protocole lié à la supervision : SNMP ......................................................................................... 11
1.4.1
Présentation du protocole SNMP ................................................................................................ 11
1.4.2
Fonctionnement du protocole SNMP : ........................................................................................ 11
III.
Le marché des outils d’administration et de supervision.................................................................... 12
1.1
La situation du marché .................................................................................................................... 12
1.2
Les tendances du marché ................................................................................................................ 12
IV.
Présentation des outils de supervision: .............................................................................................. 14
1.1
Outils propriétaires :........................................................................................................................ 14
1.2
Outils Open Source : ........................................................................................................................ 14
V.
Choix de l’outil ......................................................................................................................................... 15
VI.
Présentation de l’outil ......................................................................................................................... 19
1.
Nagios .................................................................................................................................................. 19
1.1
Les fonctionnalités de Nagios .......................................................................................................... 19
1.2
Principe de fonctionnement ............................................................................................................ 20
1.3
Architecture ..................................................................................................................................... 21
1.4
Nagios et ses plugins ....................................................................................................................... 21
2.
Centreon .............................................................................................................................................. 22
2.1
Présentation de Centreon ............................................................................................................... 22
2.2
Fonctionnalité de Centreon ............................................................................................................. 22
2.3
Architecture de Centreon ................................................................................................................ 22
VII.
Installation et configuration de l’outil : ............................................................................................... 23
1.
Plateforme de test choisie : ................................................................................................................. 23
2.
Installation Nagios /Centreon :............................................................................................................ 23
2.1
Les pré-requis pour l’installation de nagios.................................................................................... 23
2.2
Installation de Nagios ...................................................................................................................... 24
2.3
Les pré-requis pour l’installation de Centreon ............................................................................... 27
2.4
Installation du NDOUTILS ................................................................................................................ 27
2.5
Installation de Centreon .................................................................................................................. 29
|Elaboré par Mohamed DAOUES
3
Monitoring Réseaux
3.
TSGERI 2011-2012
4
Configuration Nagios/Centreon .......................................................................................................... 32
3.1
Fichiers de configuration Nagios ..................................................................................................... 32
3.1.1
Fichiers de configuration Nagios ................................................................................................. 32
3.1.2
Données à définir dans Nagios .................................................................................................... 33
3.1.2.1
Commandes de vérification ......................................................................................................... 34
3.1.2.2
Période de temps........................................................................................................................ 34
3.1.2.3
Les commandes de notification : ................................................................................................. 35
3.1.2.4
Les hôtes ...................................................................................................................................... 35
3.1.2.5
Les services .................................................................................................................................. 36
3.1.2.6
Les contacts ................................................................................................................................. 37
3.1.2.7
Les groupes de contacts .............................................................................................................. 38
3.2
Configuration de Centreon .............................................................................................................. 39
3.2.1
Configuration de la communauté SNMP ..................................................................................... 39
3.2.2
Configuration du fichier Ndo2db.cfg ........................................................................................... 39
3.2.3
Configuration du fichier Ndomod.cfg .......................................................................................... 40
3.2.4
Configuration du broker module ................................................................................................. 41
3.2.5
Génération de la configuration de Nagios par Centreon ............................................................ 41
VIII.
Administration ..................................................................................................................................... 42
1.
Interface graphique nagios .................................................................................................................. 42
2.
Interface graphique Centreon ............................................................................................................. 42
2.1
Présentation de l’interface de Centreon ......................................................................................... 42
2.1.1
Menu Accueil : ............................................................................................................................. 42
2.1.2
Menu Supervision : ...................................................................................................................... 43
2.1.3
Menu Vues : ................................................................................................................................. 44
2.1.4
Menu Rapport :............................................................................................................................ 44
2.1.5
Menu Configuration : .................................................................................................................. 45
2.1.6
Menu Administration : ................................................................................................................ 48
2.2
Prise en main de l’interface ............................................................................................................. 51
2.2.1
Ajout d’un hôte ............................................................................................................................ 51
2.2.2
Ajout d’un groupe d’hôtes........................................................................................................... 52
2.2.3
Ajout d’un service ........................................................................................................................ 52
2.2.4
Ajout d’un groupe de services ..................................................................................................... 53
2.2.5
Ajout d’une commande ............................................................................................................... 53
2.2.6
Suppression d’une commande, d’un service, ou d’un hôte : ...................................................... 54
2.2.7
Paramétrage d’un compte utilisateur en lecture seule ............................................................... 55
2.2.8
Gestion des ACL ........................................................................................................................... 56
|Elaboré par Mohamed DAOUES
4
Monitoring Réseaux
TSGERI 2011-2012
5
Conclusion : ..................................................................................................................................................... 58
Annexes ............................................................................................................................................... 59
|Elaboré par Mohamed DAOUES
5
Monitoring Réseaux
TSGERI 2011-2012
6
Table de Figures
Figure 1: Fonctionnement du SNMP ............................................................................................................... 11
Figure 2: Fonctionnalités Nagios ..................................................................................................................... 19
Figure 3 Principe de fonctionnement de Nagios ............................................................................................. 20
Figure 4 : Architecture de Nagios .................................................................................................................... 21
Figure 5: Architecture de Centreon ................................................................................................................. 22
Figure 6 : Interface web de Nagios .................................................................................................................. 26
Figure 7 : Architecture NDOUTILS ................................................................................................................... 27
Figure 8 : Installation Centreon via l'interface Web ........................................................................................ 31
Figure 9 : interface de connexion Centreon .................................................................................................... 32
Figure 10 : architecture des fichiers de configuration de Nagios .................................................................... 32
Figure 11 : Configuration de la communauté SNMP ....................................................................................... 39
Figure 12 : Configuration du fichier ndo2db.cfg ............................................................................................. 39
Figure 13 : Configuration de la base de données NDO ................................................................................... 40
Figure 14 : Configuration du fichier ndomod.cfg ............................................................................................ 40
Figure 15 : Modification du Broker module .................................................................................................... 41
Figure 16 : Exportation de la configuration vers Nagios ................................................................................. 41
Figure 17 : Processus de génération de la configuration de Nagios par Centreon ......................................... 41
Figure 18 : Sous menu tactical Overview ........................................................................................................ 42
Figure 19 : Sous menu Global Health .............................................................................................................. 42
Figure 22 : Statut des services par Hôtes ........................................................................................................ 43
Figure 20 : Statistique Nagios_Graphiques de performances ......................................................................... 43
Figure 21 : Statistique Nagios_Infos performance .......................................................................................... 43
Figure 23 : Menu Vues ..................................................................................................................................... 44
Figure 24 : Menu reporting ............................................................................................................................. 44
Figure 25 : Vue configuration Hôtes ............................................................................................................... 45
Figure 26 : vue configuration Services............................................................................................................. 45
Figure 27 : Vue configuration des utilisateurs ................................................................................................. 46
Figure 28 : Vue configurations des commandes ............................................................................................. 46
Figure 29 : Vue notification - Escalades/Dépendances ................................................................................... 47
Figure 30 : Vue configuration Nagios .............................................................................................................. 47
Figure 31 : vue configuration Centreon........................................................................................................... 48
Figure 32 : Vue administration Options .......................................................................................................... 48
Figure 33 : Menu Administration ACL ............................................................................................................. 49
Figure 34 : Menu Administration databases ................................................................................................... 49
Figure 35 : Menu Administration Sessions ...................................................................................................... 49
Figure 36 : Menu Server Status ....................................................................................................................... 50
Figure 37 : Menu Administration About .......................................................................................................... 50
Figure 38 : Ajout d'un hôte .............................................................................................................................. 51
Figure 39 : Ajout d'un Service .......................................................................................................................... 52
Figure 40 : Vue Configuration/Commande ..................................................................................................... 53
Figure 41 : Ajout d'une commande ................................................................................................................. 54
Figure 42 : Processus de suppression .............................................................................................................. 54
|Elaboré par Mohamed DAOUES
6
Monitoring Réseaux
TSGERI 2011-2012
7
Figure 43 : Ajout d'un utilisateur ..................................................................................................................... 55
Figure 44 : Ajout d'un groupe d'accès ............................................................................................................. 56
Figure 45 : Ajout d'un accès aux menus .......................................................................................................... 56
Figure 46 : Ajout d'une liste de contrôle ......................................................................................................... 57
|Elaboré par Mohamed DAOUES
7
Monitoring Réseaux
TSGERI 2011-2012
8
Avant-propos :
Dans le cadre de la préparation du titre professionnel TSGERI (Technicien Supérieur Gestionnaire
Exploitant de Ressources informatiques), j’ai eu l’opportunité de découvrir le cœur du métier d’un TSGERI
qui consiste à la mise en exploitation, l’administration courante des serveurs, des postes de travail
connectés, le suivi et la sécurisation du système informatique au sein de l’entreprise.
Ce sujet de synthèse a pour objectif de faire la synthèse de mes connaissances théoriques et pratiques,
d’affiner ma perception du métier, d’en retirer une expérience ainsi qu’une analyse globale et approfondie
de l’administration réseau et de son environnement, tout en me préparant dans les meilleures conditions à
la vie professionnelle.
Pour ce rapport de synthèse, j’ai choisi comme thème le monitoring (supervision). Le choix de l’outil
sera expliqué dans une rubrique ultérieure, vu le nombre élevée des solutions sur le marché.
|Elaboré par Mohamed DAOUES
8
Monitoring Réseaux
I.
TSGERI 2011-2012
9
Introduction :
Actuellement aucun administrateur réseau ne peut se priver d’utiliser des outils nécessaires à son
travail. Et très souvent quand il est confronté à gérer un réseau informatique de taille importante, le
nombre des postes utilisateurs peut être trop élevée. Par conséquent, la maintenance ainsi que la gestion
de cette infrastructure devient assez complexe, et une panne du réseau peut avoir de graves conséquences
voir même désastreuses.
Pour se prémunir de ce genre de défaillances, un administrateur doit se doter d’un bon outil de
supervision au sein de son établissement. Ces outils vérifient l'état du réseau ainsi que des machines
connectées et permettent à l'administrateur d'avoir une vue d'ensemble en temps réel de l'ensemble du
parc informatique sous sa responsabilité. Il peut être aussi informé (par email, par SMS) en cas de
problème. Grâce à un tel système, les délais d'interventions sont fortement réduits.
Plusieurs outils existent sur le marché et nous les trouvons de tous types, gratuits ou payants, libre de
droit ou propriétaire. De plus outre ces offres, nous pouvons trouver également de nombreuses sociétés
de services qui proposent leurs compétences en termes d’installation, de dépannage et de suivi.
Afin d’exposer les différentes solutions existantes sur le marché, nous allons leur consacrer une partie
dans notre rapport.
|Elaboré par Mohamed DAOUES
9
Monitoring Réseaux
II.
TSGERI 2011-2012
10
La Supervision :
1.1 Qu’est-ce que la supervision ?
La supervision se définit comme une technique utilisant au mieux les ressources informatiques. En effet,
elle nous permet de surveiller, rapporter et alerter les fonctionnements normaux et anomaux des systèmes
informatiques. Elle permet aussi de collecter des informations, qui serviront d'outils pour gérer de manière
optimale le traitement des pannes ainsi que la qualité des réseaux (problèmes de surcharge).
Cette définition de la supervision est décrite plus en détail dans la norme ISO7498/4. Un tel processus
est réalisé à plusieurs niveaux d'un parc de machines : Au niveau interconnexions (Réseau), au niveau de la
machine elle-même (Système) et au niveau des services offerts par cette machine (Applications).
Supervision réseau
Par le terme réseau nous sous entendons l’aspect communication entre les machines. Donc l’essentiel
ici est de s’assurer du bon fonctionnement des communications et de la performance des liens. C’est dans
ce cadre-là que l’on va vérifier si une adresse IP est disponible ou pas, ou si tel port est ouvert ou non.
Supervision système
Ce type de supervision porte principalement sur les trois types principaux de ressources système : la
charge du processeur, la mémoire utilisée, la quantité de stockage disponible.
Supervision applicative
Cette technique nous permet de connaître la disponibilité des machines en termes de services rendus
en testant les applications hébergées sur les serveurs, à titre d’exemple une tentative de connexion sur le
port de l’application pour voir si elle retourne ou demande les bonnes informations. En effet, la supervision
applicative passe par des mesures faites sur la base des flux de service.
1.2 Pourquoi superviser son système d’information
Superviser c’est surveiller dans le sens de veiller à ce que tout fonctionne bien. La supervision vise à
faire remonter les informations cachées d’un système d’information telles que la congestion du réseau, le
taux d’occupation des serveurs et la disponibilité des applications distantes. Ces informations
s’accompagnent souvent d’une démarche de garantie du niveau de service.
Avec la complexité grandissante des infrastructures, celle-ci demandent une attention assez particulière.
En effet toute panne ou incident peut entrainer de lourdes conséquences sur le système d’information en
terme financier, organisationnel, et de notoriété (image et crédibilité).
La supervision permet de remonter des indicateurs à la direction informatique en termes de données
qualitatives ou quantitatives relatives à la gestion des ressources informatiques. De ce point de vue-là, il
faut faire attention à la pertinence des remontées d’information car « trop d’information tue
l’information ».
La supervision nous permet alors de prévenir, diagnostiquer, prévoir et anticiper.
1.3 Les limites de la supervision
Comme tout système et/ou outil la supervision a des limites. En effet, elle nous permet d’avoir une vue
globale de l’état de santé d’un système d’information, nous permet de générer des indicateurs et des
rapports quant au bon fonctionnement ou non de notre système d’information, et une fois que nous avons
|Elaboré par Mohamed DAOUES
10
Monitoring Réseaux
TSGERI 2011-2012
11
l’information, cela peut engendrer des actions, certaines qu’on peut automatiser et d’autres où
l’intervention humaines est indispensable.
Prenons l’exemple où nous regardons de près l’état de l’espace disque sur un serveur, nous prédirons
que d’ici un mois le disque sera plein, donc il faudra prévoir une action afin de rajouter un deuxième disque
au moment voulu. Cette action ne pourra se faire que par une intervention humaine.
Donc ce qu’il faut retenir ici que la supervision ne s’auto suffit pas et l’interprétation des rapports
nécessite en parallèle une ou plusieurs actions, d’où l’intérêt de les accompagner par des procédures
(Documenter !).
1.4 Le protocole lié à la supervision : SNMP
1.4.1
Présentation du protocole SNMP
SNMP (Simple Network Management Protocol) est un protocole d’administration qui permet aux
administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer des
problèmes réseaux et matériels à distance.
Il décrit la façon dont s’établit le dialogue (syntaxe, type d’information...) entre un équipement du
réseau et la station d’administration. Ce protocole fonctionne en mode datagramme, c’est-à-dire sans
établissement d’une connexion entre les nœuds concernés. Le transport du protocole SNMP sur le réseau
local est assuré soit par UDP/IP, soit par IPX.
1.4.2
Fonctionnement du protocole SNMP :
SNMP permet 2 types de transactions entre le Manager et les Agents :
 Les transactions de type requête du Manager et réponse de l’Agent.
 Les messages (traps) envoyés par les Agents suite à un événement non provoqué dans un des
composants du réseau.
SNMP ne transporte que des variables et s'appuie sur le protocole UDP (User Datagram Protocol). SNMP
va créer un dialogue entre des agents installés sur des machines à superviser et un serveur de supervision.
Étant donné que ces requêtes utilisent des noms de variables, ceux-ci doivent être communs à tout
matériel que l'on souhaite monitorer (et supportant SNMP).C'est pour cette raison que les données sont
stockées dans une base normalisée nommée MIB (Managed Information Base). Cette base organisée de
manière hiérarchique et est assez compliquée à lire pour un humain. Chaque information (les fameuses
variables précédentes) est identifiée par un OID (Object IDentifier).
Figure 1: Fonctionnement du SNMP
|Elaboré par Mohamed DAOUES
11
Monitoring Réseaux
III.
TSGERI 2011-2012
12
Le marché des outils d’administration et de supervision
1.1 La situation du marché
Les éditeurs logiciels ont rapidement compris que la supervision était indispensable pour les
entreprises qui, de plus en plus, utilisent leur système d’information et ont donc besoin d’une disponibilité
accrue de leur infrastructure informatique. Par conséquent, la supervision est un domaine dans lequel les
entreprises n’hésitent pas à investir depuis des années.
Suite à diverses recherches sur le web nous nous sommes confronté à un grand manque d’informations
par rapport à la situation du marché des outils de supervision. Nous avons néanmoins réussi à trouver des
données par rapport à la croissance de ce marché depuis 2003 ainsi que ses tendances.
En effet, en 2003 la part du marché des outils d’administrations dans le monde représentait 5.1 Md de
dollars et n’a pas cessé d’augmenter pendant les dernières années jusqu’à atteindre la barre de 18,6 Md de
dollars en 2008, selon une étude de ForresterResearch (un cabinet d’analyse américain).
Mais malgré ses chiffres prometteurs ce marché connait depuis 2009 et 2010 une croissance lente
respectivement égale à 3% et à 7%. Cela est dû en premier temps à la crise économique et en deuxième
temps à la banalisation des outils dans les couches basses (certaines fonctions sont désormais présentes
dans tous les outils du marché comme la découverte des équipements reliés sur le réseau, savoir quel
serveur est en panne, ou quelle application ne fonctionne plus,…).
Le recul marqué de ces trois années a eu un impact sur les entreprises et par conséquent sur les
services informatiques et leurs budgets « faire plus avec moins de dépense ! ». Ainsi cette banalisation, a
un impact sur les revenus des offreurs sur le marché et leurs prix des solutions. Un autre facteur qui fait
baisser les prix, c’est l’accroissement des offres Open Source sur le marché et qui proposent ces outils de
couches basses de l’administration de systèmes. Néanmoins, et dans ce contexte l’open source peut
fortement faire jouer ses avantages en termes de coût, d’après des hommes de terrain, ils voient une
montée en puissance de projets de migration de gros et moyen comptes vers des solutions open source de
plus en plus mature.
Ces outils semblent donc prendre la place des couches de supervision des grandes suites
d’administration. Le portefeuille des produits sur le marché s’étouffe ? Depuis quelques temps, si Nagios
est l’outil le plus connu du secteur, d’autres outils commencent aussi à émerger dans les entreprises
comme Zabbix, Eyes of network qui réunit de manière pragmatique le processus ITIL.
1.2 Les tendances du marché
Les acteurs présents sur ce marché sont nombreux et d’origines différentes. Malgré le fort besoin
ressenti, le marché de ce secteur ne connaît qu’une faible croissance. En effet, de nouveaux modèles de
commercialisation sont apparues, Open Source et Cloud. Ainsi les outils se rationnalisent et embarquent de
bonnes pratiques provenant de référentiel comme ITIL.
Depuis 2010 de nouveaux besoins apparaissent et le marché évolue avec l’émergence de nouvelles
technologies fortes telles que la Virtualisation et le Cloud. Ces technologies demandent aux outils
d’administration des fonctions différentes. Donc le recours à ces outils ne devrait pas couvrir seulement les
aspects d’administration classique, mais devront aussi permettre un contrôle et un audit des services
fournis pour permettre en interne le recensement des services présents dans le catalogue et en externe
pour prouver la qualité et la réalité de la prestation.
Les entreprises de taille plus petite devraient principalement être des consommatrices de ce type de
service pour optimiser leur production informatique ou contrôler leurs relations avec leurs prestataires. En
|Elaboré par Mohamed DAOUES
12
Monitoring Réseaux
TSGERI 2011-2012
13
ce qui concerne aussi les offres, il y’a une tendance qui s’affirme c’est de pouvoir utiliser des fonctions
d’administration ou de supervision en Cloud.
|Elaboré par Mohamed DAOUES
13
Monitoring Réseaux
IV.
TSGERI 2011-2012
14
Présentation des outils de supervision:
Vu le nombre élevée des outils et des solutions de supervision, nous pouvons découper le marché en
deux grandes catégories d’offres : d’une partie les offres éditeurs (propriétaires), de l’autre les offres du
monde libre. Pour cela nous n’allons présenter qu’une liste exhaustive des logiciels les plus connus pour
leur stabilité et fiabilité, sinon nous risquerons de nous noyer dans une comparaison sans fin.
Vu les différents besoins spécifiques propres à chaque organisation, c’est à l’utilisateur final dont
revient le choix de l’outil ou bien de la solution. Nous allons dans ce qui suit présenter le marché, ses
tendances et exposer les différentes solutions disponibles sur le marché.
1.1 Outils propriétaires :
S’assurant que la supervision est un marché porteur, les sociétés se pressent de plus en plus à investir
dans des produits permettant la supervision et une meilleure gestion des réseaux. Ayant compris cet enjeu
les gros éditeurs logiciels sont donc très vite entrés dans la course aux logiciels de monitoring tel que :
 HPopenview,
 BMC (ProactiveNet Performance Management),
 IBMTivoli Network manager,
 Ipswitch What's Up Gold,
 Ciscoworks Internetwork Performance Monitor,
 LANDesk Management Suite,
 Microsoft Operations Manager,
 PRTG Network Monitor 8.
Même si les offres commerciales des constructeurs peuvent présenter l'avantage de proposer une
cohérence dans la supervision du SI, leur coût d'acquisition, d'installation et de maintenance amène de
plus en plus de décideurs informatiques à se tourner vers des solutions open source.
1.2 Outils Open Source :
Même du côté de la communauté du logiciel libre, c’est depuis des années que l’activisme dans le
domaine de la supervision a commencé. Plusieurs projets ont vu le jour, il suffit juste d’aller faire un petit
tour sur sourceforge pour se rendre compte de la multitude des projets autour de la supervision système et
réseau. Et nous noterons ici que ceux qui sont les plus populaires :
Nagios, NetXMS,OpenNMS, Zenoss, Zabbix(similaire à Nagios), Shinken (une refonte complète du
cœur de Nagios en Python), Centreon, EyesOfNetwork.
|Elaboré par Mohamed DAOUES
14
Monitoring Réseaux
V.
TSGERI 2011-2012
15
Choix de l’outil
Une multitude de plateformes de supervision existent aujourd’hui sur le marché. Certaines se
contentent de gérer à temps réels l’état du réseau et préserve une vue globale sur le fonctionnement de
son architecture, d’autres permettent également de connaître l’état des différents services, et d’autres
offrent la possibilité de ressortir de nombreuses statistiques du réseau permettant une analyse assez fine.
Les différentes solutions commerciales déjà présentées (HPOpenview, Ipswitch,BMC,IBM, etc...)
nécessitent un investissement important pour leur mise en place, et pour des raisons d’essai qui sont
limitées en durée et en fonctionnalités, toutes ces solutions sont à écarter de notre liste de choix. Et juste à
titre d’exemple nous allons citer la tranche de prix de ces outils pour montrer l’investissement lourd que ça
nécessite : les prix sont de 5 000€ pouvant arriver jusqu’à 100 000€ et cela dépend du nombre de nœuds à
superviser ainsi que des licences à octroyer.
Parmi les solutions open Source, les plus connues, nous allons dresser un tableau récapitulatif qui
recense les différentes fonctionnalités de chaque outil.
Produit
Présentation
Fonctionnalités
C’est un logiciel de supervision des systèmes et -Offre une interface web basée sur les CGL avec
Nagios
réseaux sous licence libre. cette solution gestion des droits pour la consultation.
permet
entre
autres,
de
superviser
la
-Génère des rapports de surveillance.
disponibilité d'actifs réseaux, de serveurs ou -Il a la possibilité de monitorer à distance à
d'applications, suivre l'évolution des capacités travers un firewall.
disques ou la bande passante de carte réseau
-Il peut définir des serveurs esclaves qui
prennent le relais si le serveur maitre tombe en
panne.
-Surveillance des ressources des serveurs (CPU,
mémoire…)
-Surveillance des services réseaux.
-Arrêt temporaire de la supervision locale ou
globale.
-Génère des graphes par l’interfaçage avec
RRDTools.
C’est un outil de supervision de réseau Open -Découverte des équipements réseaux.
OpenNMS
Source. Il a été développé en Java et s'appuie -Mesure la connectivité réseau entre le serveur
sur le moteur applicatif Jetty pour fonctionner.
et les équipements supervisés.
-Identifie et liste les coupures réseaux (outages,
pathoutages).
-Fournit un outil de base pour traduire les MIBs
et les intégrer dans l'outil.
-Traduit et affiche les traps SNMP reçues sous
forme d'évènements (sans corrélation) et sous
forme d'alarmes avec deux fonctions de
corrélation de base.
|Elaboré par Mohamed DAOUES
15
Monitoring Réseaux
Produit
TSGERI 2011-2012
Présentation
16
Fonctionnalités
-Une interface multi-utilisateurs intuitive et
Centreon
C’est un logiciel de surveillance et de personnalisable
supervision réseau, fondé sur le moteur de -Une interface évoluée pour configurer le
récupération d'information libre Nagios
périmètre à superviser
-Une
gestion
de
tous
les
fichiers
de
configuration de Nagios
-Un module de chargement de configuration de
Nagios
-Un test de validité des configurations avec le
debugger de Nagios
- Des représentations graphiques élaborées
- Une gestion des accès très fine basée sur une
Liste de Contrôle d'Accès (LCA)
-Une gestion de la prise en compte des incidents
-Une gestion des temps d'arrêt des éléments
supervisés
-Un gestionnaire des évènements survenus sur
le système de supervision
-Un système de modules qui permet l'inclusion
d'autres applications dans Centreon
- Un compte rendu complet sur les incidents
-Une MAP java pour une vision simplifiée de
l'état du SI
-Gestion
multi
sites
et
sécurisation
Eyes Of
C’est une solution Open Source réunissant de évènements.
Network
manière pragmatique les processus ITIL et -Gestion des incidents et des problèmes
des
l’interface technologique permettant leur -Gestion de la criticité des applications
application. EyesOfNetwork Supervision est la -Cartographie personnalisée de la disponibilité
première brique d’une gamme de produits -Gestion des performances
bâtie autour de la gestion des évènements, de -Cartographie de la bande passante
la disponibilité, des problèmes et de la - Outil de sauvegarde de la solution
capacité.
- Interface Web unifiée de la solution,
-Librairie d’affichage des graphiques
- Traduction des traps snmp,
-Gestion de parc.
|Elaboré par Mohamed DAOUES
16
Monitoring Réseaux
TSGERI 2011-2012
17
-Découverte de la Topologie IP du réseau
NetXMS
C’est un système de surveillance de toute -Découverte
l’infrastructure
informatique
automatique
des
nouveaux
extrêmement serveurs et dispositifs
fiable et puissant qui permet d’améliorer la -Surveillance du statut des dispositifs de réseau,
disponibilité du réseau ainsi que le taux de des serveurs, et des applications installées.
disponibilité.
-Collecte des données d'exécution de vos
dispositifs de réseau, des données d'exécution
des serveurs.
-Il permet le stockage des données rassemblées
pour une analyse postérieure
-Envoi des alertes par l'intermédiaire d'email ou
SMS.
Produit
Zenoss
Présentation
Fonctionnalités
C’est un outil de supervision open-source -La découverte de la configuration du réseau
gratuit (il existe une version commerciale -La découverte automatique de l’environnement
comportant plus d’options). Il se base sur une -La gestion de la performance, d’événement, et
application Web qui va surveiller les nœuds de l’alerte.
votre réseau et générer des rapports.
Zabbix
-La supervision de l’activité réseau
C’est une application libre (open source) de -Découverte automatique des équipements
supervision des systèmes et des réseaux en -Supervision et vérification des statuts d’une
infrastructure IT, développée en C. L’interface multitude de services réseaux ou systèmes
web est quant à elle, développée en PHP et en -Supervision niveau matériel
JavaScript.
-Support du Protocol IPMI
Zabbix est multiplateforme, et est disponible -Intègre par défaut la gestion des cartes et de
sous des systèmes d’exploitation tels que par graphiques.
exemple Windows, Linux, Solaris…etc.
Shinken
consiste en une refonte complète du cœur de -Vérifications des états softwares/hardwares
Nagios en Python, lui apportant une nouvelle -Gestion des dépendances réseaux et logiques
architecture plus souple et plus facile à (applicatives)
maintenir que le démon monolithique actuel. -Gestion des actions correctrices
Se basant sur une vue Unix, l’architecture se -Supervision active et passive
compose de démons simples qui coopèrent -Vérification de la fraicheur des informations
afin de proposer les mêmes fonctionnalités dans le cadre de la supervision passive.
que Nagios.
-Supervision distribuée hautement disponible
|Elaboré par Mohamed DAOUES
17
Monitoring Réseaux
TSGERI 2011-2012
18
Le monde du logiciel libre est vaste. Comment s’y retrouver parmi les nombreuses solutions qui existent
et trouver celle qui répond au mieux à ses besoins ? C’est la question qui s’est posée lors de la fixation de
notre choix. Et pour y répondre nous avons pris en considération la maturité de l’outil, la communauté qui
l’entoure.
Si l’on retient ses considérations, notre choix se portera vers Nagios, une solution qui a fait ses preuves.
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 CNRS, le Ministère de
l’Education National.
Au début nous voulions travailler sur la solution Shinken mais lors de la configuration de cette dernière
nous nous sommes confronté à un problème bloquant, donc par la suite nous nous sommes focalisé sur la
solution Eyes Of Network mais vu le nombre de paramètres à configurer et d’interfaces graphiques à gérer
ainsi que le délai qui nous a été accordé pour l’élaboration de ce projet de synthèse, nous avons abandonné
cette solution.
|Elaboré par Mohamed DAOUES
18
Monitoring Réseaux
VI.
TSGERI 2011-2012
19
Présentation de l’outil
1. Nagios
Nagios est un outil open source qui permet de superviser un système d’information de taille moyenne
ou importante. Utilisé par de nombreuses sociétés, il a fait l'objet de contributions et de recherches très
actives. Nagios a un fonctionnement modulaire et ouvert, ce qui l’a rendu très attractif par rapport aux
autres produits. En revanche, sa configuration peut se révéler complexe. Il a été Créé en 1999 sous le nom
de NetSaint et toujours maintenue par Ethan Galstad, il surveille les hôtes et les services associés, et alerte
le personnel d’astreinte lorsqu’un problème se présente.
Nagios n’est pas le seul outil de supervision open source. Par rapport à ses concurrents, sa plus grande
force réside dans sa modularité complète. Il n’a pas de domaine de prédilection et peut observer tout ce
que ses plug-ins sont capables de rapporter. D’autres outils open source de supervision existent, mais ils ne
sont pas aussi modulaires ou performants que Nagios.
1.1 Les fonctionnalités de Nagios
Parmi ses fonctionnalités, Nagios inclut :
 La surveillance des services réseaux (SMTP, POP3, HTTP, NTP, PING, etc.)
 La surveillance des ressources des hôtes (charge processeur, utilisation des disques, etc.)
 Un système simple de plugins permettant aux utilisateurs de développer facilement leurs propres
vérifications de services.
 Des contrôles parallèles des services.
 La possibilité de définir la hiérarchie du réseau en utilisant des hôtes parents, ce qui permet la
détection et la distinction entre hôtes à l'arrêt et hôtes injoignables.
 Notification des administrateurs quand un seuil d'alerte a été franchi (via email, pager, sms, ou par
toute autre méthode définie par l'utilisateur).
 La capacité à définir des gestionnaires d'événements permettant une résolution proactive des
problèmes.
 La rotation automatique des fichiers journaux.
 Le support pour mettre en œuvre des serveurs de supervision redondants.
 Une interface web optionnelle permettant de voir l'état courant du réseau, l'historique des
notifications et problèmes, le fichier journal, etc.
Figure 2: Fonctionnalités Nagios
|Elaboré par Mohamed DAOUES
19
Monitoring Réseaux
TSGERI 2011-2012
20
1.2 Principe de fonctionnement
Le principe de fonctionnement de Nagios repose sur l'utilisation de greffon, l'un installé sur la machine
qui supporte le serveur Nagios, et l'autre sur la machine que l'on souhaite superviser.
Un greffon (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
greffon, contact l'hôte souhaité et l'informe des informations qu'il souhaite recevoir. Le greffon
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 greffon
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 supervision: La supervision active et la supervision passive. La différence entre les
deux types est l'initiative de la supervision. 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 supervision passive, l'envoi d'information est planifié en local, soit à partir
d'une date, soit en réaction à un événement qui se déroule sur la machine administrée. Pour notre projet,
nous avons décidé d'utiliser le premier type de supervision, à savoir le type actif, ceci évite donc de
configurer les postes à superviser.
La collecte d'informations se fait grâce à l'exécution de 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, il faut aller chercher l'information.
Une fois que Nagios a 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.
Figure 3 Principe de fonctionnement de Nagios
|Elaboré par Mohamed DAOUES
20
Monitoring Réseaux
TSGERI 2011-2012
21
1.3 Architecture
Nagios est un noyau qui gère l’ordonnancement et les dépendances des vérifications (effectuées à l’aide
des greffons) et les actions à prendre en fonction des incidents (alertes, actions correctives, etc.), il peut
être couplé à une interface graphique de type client web. Il est possible aussi de le coupler à une base de
données lorsque le nombre de nœuds à superviser devient important.
Figure 4 : Architecture de Nagios
1.4 Nagios et ses plugins
Nagios fonctionne grâce à des plugins écris en Perl ou en C. Sans ces derniers, il est dans l’incapacité de
superviser et récolter les informations.
Ces plugins sont des programmes externes au serveur, des exécutables qui peuvent se lancer en ligne de
commande afin de tester une station ou service. Ils fonctionnent sous le principe d’envoi de requêtes vers
les hôtes ou services choisis lors d’un appel du processus de Nagios, et la transmission du code de retour au
serveur principale qui par la suite se charge d’interpréter les résultats et déterminer l’état de l’entité réseau
testée.
Lors de son installation Nagios est livré avec un ensemble de greffons. Pour une utilisation basique et
simple, ils devraient être suffisants. En voilà quelques exemples:
 check_smtp : Vérifie la présence d'un serveur SMTP.
 check_snmp : Envoie une requête SNMP (passée en argument) à un hôte.
 check_ssh : Vérifie la présence d'un service SSH.
 check_tcp : Vérifie l'ouverture d'un port TCP (passé en argument).
 check_users : Compte le nombre d'utilisateurs sur la machine locale.
 check_http : Vérifie la présence d'un serveur web.
 check_load : Vérifie la charge CPU locale.
 check_ping : Envoie une requête Ping à un hôte.
 check_pop : Vérifie la présence d'un serveur POP3.
 check_procs : Compte les processus locaux.
Nous verrons un peu plus loin l’utilité de ces plugins ainsi que leur rôle dans la recherche et la collecte
d’informations pour notre serveur de supervision.
|Elaboré par Mohamed DAOUES
21
Monitoring Réseaux
TSGERI 2011-2012
22
2. Centreon
2.1 Présentation de Centreon
Afin d’offrir une administration moins rudimentaire à Nagios nous avons choisi de lui ajouter un greffon.
En effet ce dernier, est une couche applicative web. Cette couche est connue sous le nom de Centreon, qui
est un produit complet, avec une interface qui le rend professionnel aux yeux des décideurs. Et pour ceux
qui auront affaire avec Nagios ça leur évitera les fichiers de configurations et les lignes de commandes
brutes. Centreon intègre une interface multi-utilisateurs complète et intuitive qui permet, les accès à
d’autres utilisateurs, on leurs attribuerons des privilèges différents.
Ce projet a vu le jour en 2003 sous le nom d’Oreon et dispose à ce jour d’une large communauté
d’utilisateurs. C’est un produit français distribué sous une licence GPL v2.
2.2 Fonctionnalité de Centreon
Parmi ses fonctionnalités Centreon inclut :
 Une interface multi-utilisateurs intuitive et personnalisable
 Une interface évoluée pour configurer le périmètre à superviser
 Une gestion de tous les fichiers de configuration de Nagios
 Un module de chargement de configuration de Nagios
 Un test de validité des configurations avec le debugger de Nagios

Des représentations graphiques élaborées
 Une gestion des accès très fine basée sur une Liste de Contrôle d'Accès (LCA)
 Une gestion de la prise en compte des incidents
 Une gestion des temps d'arrêt des éléments supervisés
 Un gestionnaire des évènements survenus sur le système de supervision
 Un système de modules qui permet l'inclusion d'autres applications dans Centreon
 Une MAP java pour une vision simplifiée de l'état du SI
2.3 Architecture de Centreon
Centreon est divisé en plusieurs composants :
 CentreonWeb : une interface web qui permet la configuration et la visualisation des objets
supervisés.
 CentreonCore : c’est le cœur de la solution qui permet aux différents composants d’interagir.
 Centreon Storage : c’est l’outil de métrologie qui exploite les données envoyées par nagios.
Figure 5: Architecture de Centreon
|Elaboré par Mohamed DAOUES
22
Monitoring Réseaux
VII.
TSGERI 2011-2012
23
Installation et configuration de l’outil :
1. Plateforme de test choisie :
Pour mettre en œuvre et tester la solution choisie nous avons créé des machines virtuelles sur trois
machines hôtes. La configuration du réseau que nous allons superviser est de type LAN et contient au total
-
Le serveur linux (Nagios)
-
Un serveur w2008 (DNS + DHCP)
-
Une machine cliente sous Windows XP
-
Une machine cliente sous Debian (serveur de partage/serveur ftp)
Toutes ses machines ont la même passerelle qui est l’adresse de mon routeur d’accès à internet.
2. Installation Nagios /Centreon :
Dans ce chapitre nous allons décrire l’installation de notre serveur de supervision Nagios et son « fidèle
ami » pour sa configuration Centreon. Mais avant tout nous devons mettre à jour notre système Ubuntu
par les commandes suivantes :
$ sudo apt-get update
$ sudo apt-get upgrade
2.1 Les pré-requis pour l’installation de nagios
L’installation de nagios requiert des pré-requis pour son bon fonctionnement et qui sont les suivants :
-
Un serveur web : apache2
-
Un compilateur GCC et librairies de développement
-
Des librairies de développement GD.
$ sudo apt-get install apache2
$ sudo apt-get install build-essential
$ sudo apt-get install bind9-host dnsutils libbind9-60 libdns66 libisc60 libisccc60 libisccfg60
liblwres60 libradius1 qstat radiusclient1 snmp snmpd
Pour tester notre serveur web, nous commençons par le démarrer via la commande suivante :
$ sudo /etc/init.d/apache2ctl start
Ou bien
$ sudo apache2ctl start
Puis nous ouvrons notre navigateur web et nous saisissons l’URL suivante : http://Adresse_ip_serveur .
Une page de bienvenue devra s’afficher. Par la suite nous procédons à l’installation des librairies qui
serviront à nagios pour afficher les diagrammes d’état de notre réseau supervisé.
$ sudo apt-get install libgd2-noxpm-dev libpng12-dev libjpeg62 libjpeg62-dev
|Elaboré par Mohamed DAOUES
23
Monitoring Réseaux
TSGERI 2011-2012
24
2.2 Installation de Nagios
Dans cette partie nous allons décrire l’installation de notre système de supervision. Pour cela il est
fortement conseillé et pour des raisons de sécurité, de procéder à la création d’un utilisateur et un groupe
associé à ce dernier nommé tous les deux Nagios.
Le groupe Nagios comprendra les utilisateurs Nagios et www-data (utilisateur avec lequel le serveur
apache sera lancé par défaut)
$ sudo /usr/sbin/useradd nagios
$ sudo passwd nagios
$ sudo /usr/sbin/groupadd nagios
$ sudo /usr/sbin/usermod -G nagios nagios
$ sudo /usr/sbin/usermod -G nagios www-data
Pour pouvoir installer Nagios et plugins nous nous sommes rendus à la page officielle des
téléchargements sur le site de Nagios pour vérifier la dernière version stable. Cette dernière est la 3.3.1, et
celle des plugins est la 1.4.15
Pour faciliter l’installation nous sommes passés en mode root par le biais de cette commande :
~$ sudo -s
[sudo] password for insta:
~#
Par la suite, nous procédons au téléchargement des sources dans le fichier /usr/src :
# cd /usr/src
# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.3.1.tar.gz
# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
|Elaboré par Mohamed DAOUES
24
Monitoring Réseaux
TSGERI 2011-2012
25
Une fois le téléchargement terminé, nous décompressons les sources et nous lançons la compilation via
les commandes suivantes :
# tar xzf nagios-3.3.1.tar.gz
# cd nagios-3.3.1
# ./configure –with-command-group=nagios
...
General Options:
-----------------------Nagios executable: nagios
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Check result directory: ${prefix}/var/spool/checkresults
Init directory: /etc/init.d
Apache conf.d directory: /etc/apache2/conf.d
#
#
#
#
make
make
make
make
all
install
install-config
install-commandmode
Nous installons ensuite le script de démarrage pour que nagios se lance automatiquement avec notre
serveur de supervision :
# make install-init
# ln
-s /etc/init.d/nagios
Les
commandes
qui suivent/etc/rcS.d/S99nagios
servent à installer l’interface web :
# make install-webconf
# sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
REMARQUE: Saisir le mot de passe pour le compte nagiosadmin de l'interface Web
# /etc/init.d/apache2 reload
De base nagios est livré sans aucune extension. Il faut donc installer les plugins nécessaires lui
permettant de surveiller les machines de notre réseau à superviser.
# sudo aptitude install fping libnet-snmp-perl libldap-dev libmysqlclient-dev libgnutls-dev
libradiusclient-ng-dev
|Elaboré par Mohamed DAOUES
25
Monitoring Réseaux
TSGERI 2011-2012
26
Par la suite nous procédons à la décompression du fichier des plugins et à leur installation. La version
des plugins est la 1.4.15.
# cd /usr/src
# tar xzf nagios-plugins-1.4.15.tar.gz
# cd nagios-plugins-1.4.15
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make
# make install
Une fois l’installation terminée, nous pouvons vérifier le bon fonctionnement de notre serveur de
supervision. Nous allons donc tester les fichiers de configuration grâce à la commande suivante :
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Si tout se passe bien nous aurons ce message comme réponse :
Total Warnings: 0
Total Errors: 0
Thingsnous
look pouvons
okay - Nodémarrer
serious problems
were nagios
detected
Ensuite
notre serveur
: during the pre-flight check
# /etc/init.d/nagios start
Starting nagios:No directory, logging in with HOME=/
Il ne nous reste plus qu’à aller sur notre navigateur web et de saisir l’URL suivante :
http://192.168.62.128/nagios/.(Login : nagiosadmin / mot de passe : ******), nous devrions voir s’afficher
cela :
Figure 6 : Interface web de Nagios
|Elaboré par Mohamed DAOUES
26
Monitoring Réseaux
TSGERI 2011-2012
27
2.3 Les pré-requis pour l’installation de Centreon
Centreon utilise une base de donnée MySQL, nous commençons alors par installer MySQL server sur
notre serveur de supervision.
# sudo apt-get install mysql-server
# sudo apt-get install php5-mysql
# sudo apt-get install libmysqlclient15-dev
Afin que Nagios et Centreon puissent communiquer entre eux, ils utilisent une base de donnée
commune (appelée NDO). Donc pour commencer, nous allons la créer avec le compte root de mysql et
nous créons l’utilisateur et mot de passe qui aura le droit d’administrer la base :
# mysqladmin -u root -p create ndo
# mysql -u root -p mysql
mysql> GRANT ALL ON ndo.* TO ndouser@localhost IDENTIFIED BY ‘ndopassword’;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
2.4 Installation du NDOUTILS
En effet pour que nagios puisse écrire les informations sur sa base de données NDO, il faut lui installer
son plugin NDOUTILS. Ce dernier est conçu de deux blocs : « Ndomod » et « Ndo2db », le premier va
prendre les informations à partir du démon Nagios et les envoyer via un socket (TCP ou UNIX) vers le
deuxième qui va les convertir dans un format compatible avec la base de données MySQL. Ce complément
permettra à « Centreon » d’accéder de manière optimisée aux données d’états et performances de Nagios
et de partager ses données.
Et pour que tout le système fonctionne il faut que NDOMOD soit chargé par Nagios au démarrage et le
démon NDO2DB soit lancé en tâche de fond.
Figure 7 : Architecture NDOUTILS
|Elaboré par Mohamed DAOUES
27
Monitoring Réseaux
TSGERI 2011-2012
28
Nous commençons par récupérer le plugin et le placer dans le dossier /usr/src :
# cd /usr/src
# wget
http://dfn.dl.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz
Par la suite nous décompressons le fichier ndoutils-1.4b9.tar.gz, et nous commençons la compilation de
NDO avec quelques pré-requis pour notre installation
# tar zxvf ndoutils-1.4b9.tar.gz
# cd ndoutils-1.4b9
# ./configure --disable-pgsql --with-mysql-lib=/usr/lib/mysql --with-ndo2db-user=nagios --withndo2db-group=nagios
# make
Nous
procèderons à l’installation des fichiers de NDO dans l’arborescence de Nagios :
cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db
chown nagios:nagcmd /usr/local/nagios/bin/ndo*
chmod 774 /usr/local/nagios/bin/ndo*
Et nous copions les fichiers de configuration dans l’arborescence de Nagios :
# cp config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
# cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
# chown nagios:nagcmd /usr/local/nagios/etc/ndo*
A l’étape suivante nous éditons le fichier de configuration du module NDO et nous vérifierons les
paramètres suivants : que le « output_type » est de type Unixsocket pour des questions de performances
et en cas de rupture réseau, nous sommes sûres que les données ne seront pas perdues.
# nano /usr/local/nagios/etc/ndomod.cfg
instance_name=Central
output_type=unixsocket
output=/usr/local/nagios/var/ndo.sock
tcp_port=5668
output_buffer_items=5000
buffer_file=/usr/local/nagios/var/ndomod.tmp
|Elaboré par Mohamed DAOUES
28
Monitoring Réseaux
TSGERI 2011-2012
29
Nous passons par la suite à éditer les fichiers de configuration de la base de données NDO et à la
# nano /usr/local/nagios/etc/ndo2db.cfg
ndo2db_user=nagios
ndo2db_group=nagcmd
vérification
des paramètres suivants :
socket_type=unix
socket_port=5668
db_servertype=mysql
db_host=localhost
db_name=ndo
db_port=3306
db_prefix=nagios_
db_user=ndouser
db_pass=ndopassword
Et pour finaliser cette opération nous procédons à la redirection des sorties de Nagios vers la base de
données Ndo grâce à la déclaration du module Broker dans nagios.cfg
# nano /usr/local/nagios/etc/nagios.cfg
event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
Dans une autre étape nous procédons à la création d’un script d’init qui a pour principal rôle
d’automatiser le lancement du démon ndo2db avec le lancement du serveur nagios. (Voir Annexe 1). A ce
script on lui donne les droits « root » afin qu’il se lance.
chown root:root /etc/init.d/ndo2db
chmod 755 /etc/init.d/ndo2db
update-rc.d ndo2db defaults
2.5 Installation de Centreon
Dans cette partie nous allons procéder à l’installation de la version 2.1.11 de Centreon sur notre serveur
de supervision. Pour commencer nous devons récupérer les sources depuis internet, nous nous identifions
en tant que root sur notre serveur.
# sudo -s
# cd /usr/src
# wget http://download.centreon.com/index.php?id=144
# tar zxvf centreon-2.1.11.tar.gz
# cd centreon-2.1.11
|Elaboré par Mohamed DAOUES
29
Monitoring Réseaux
TSGERI 2011-2012
30
Par la suite nous lançons l’assistant d’installation et nous devons répondre à quelques questions.
# ./install.sh -i
Do you accept GPL license?
[y/n], default to [n]:
>y
Do you want to install : Centreon Web Front
[y/n], default to [n]:
>y
Do you want to install : Centreon Nagios Plugins
[y/n], default to [n]:
>y
Do you want to install : Centreon Snmp Traps process
[y/n], default to [n]:
>y
Do you want me to create this directory? [/usr/local/centreon]
[y/n], default to [n]:
>y
Path /usr/local/centreon OK
Do you want me to create this directory? [/usr/local/centreon/log]
………………………………………………………………………………………………………………………………..
…………………………………………………………………………………………………………….
…………………………………………………………………
Do you want me to create this directory ? [/var/lib/centreon/centplugins]
[y/n], default to [n]:
>y
Path /var/lib/centreon/centplugins OK
A la fin de l’installation il nous suffit d’ouvrir un navigateur et de taper l’url suivante :
http://192.168.62.123/centreon/
À l’ouverture de cet Url nous serons invités à terminer l’installation de Centreon. Donc nous suivrons les
étapes de 1 jusqu’à 12.
|Elaboré par Mohamed DAOUES
30
Monitoring Réseaux
TSGERI 2011-2012
31
Figure 8 : Installation Centreon via l'interface Web
|Elaboré par Mohamed DAOUES
31
Monitoring Réseaux
TSGERI 2011-2012
32
A la fin de l’installation nous voilà face à la page d’authentification de Centreon, il ne nous reste plus
qu’à s’identifier avec le login « admin » et le mot de passe : tsgeri.
Figure 9 : interface de connexion Centreon
Une fois connecté nous pouvons visualiser tous les volets présents sur l’interface web de Centreon que
nous allons détailler dans ce qui suit, car nous allons utiliser cette dernière pour configurer notre serveur de
supervision « Nagios ». Mais avant de passer à la configuration de notre serveur via Centreon nous allons
consacrer un volet pour les fichiers de configuration de Nagios, ainsi qu’aux types de données à définir dans
ce dernier.
3. Configuration Nagios/Centreon
Cette partie est consacrée à l’explication des éléments de configuration de Nagios ainsi que Centreon.
3.1 Fichiers de configuration Nagios
Dans cette partie nous exposons les différents fichiers de configuration respectifs à Nagios, sans
forcément les définir sur notre serveur de supervision. Comme nous l’avons précisé au préalable, nous
allons utiliser l’interface web de Centreon pour la configuration de notre Nagios.
3.1.1
Fichiers de configuration Nagios
L’arborescence des fichiers de configuration de nagios se présente comme suit :
Figure 10 : architecture des fichiers de configuration de Nagios
|Elaboré par Mohamed DAOUES
32
Monitoring Réseaux
TSGERI 2011-2012
33
 Nagios.cfg :
C’est le fichier de configuration principal de Nagios. Il contient la liste des autres fichiers de
configuration et comprend l'ensemble des directives globales de fonctionnement.
 Cgi.cfg :
Il contient un certain nombre de directives qui affectent le mode de fonctionnement des CGI. Il
peut être intéressant pour définir des préférences concernant l'interface web de Nagios.
 Resource.cfg :
Il permet de définir des variables globales réutilisables dans les autres fichiers. Etant inaccessible
depuis les CGI qui génèrent l'interface, ce fichier peut être utilisé pour stocker des informations
sensibles de configuration.
 Commands.cfg
Il contient les définitions des commandes externes, telles que celles qui seront utiles pour la
remontée d'alerte.
 Checkcommands.cfg :
Il
contient les définitions des commandes de vérification prédéfinies et celles définies par
l'utilisateur.
 Hosts.cfg :
Il définit les différents hôtes du réseau à superviser. A chaque hôte est associé son nom, son
adresse IP, le test à effectuer par défaut pour caractériser l'état de l'hôte, etc.
 Services.cfg :
Il associe à chaque hôte ou à chaque groupe d'hôtes l'ensemble des services qui doivent être
vérifiés.
3.1.2
Données à définir dans Nagios
Ici nous allons parler des éléments les plus importants à définir dont Nagios a besoin afin d’accomplir
son travail. Ces éléments devront être définis dans les fichiers de configuration, ces derniers sont situés
généralement dans le répertoire par défaut /usr/local/Nagios et ils se présentent sous la forme suivante :
define type {
Parametre1=valeur1
Parametre2=valeur2
}
; commentaire
Ici nous nous voyons la déclaration d’un objet type comme valeur « valeur1 » pour paramètre1. Parmi
ces paramètres, il existe ceux qui sont indispensables et ceux qui sont facultatifs. Les commentaires
commencent par le signe « ; ».
Parmi ces données à définir nous retrouvons les commandes de vérification, les périodes de temps, les
commandes de notification, les hôtes les services et les contacts.
|Elaboré par Mohamed DAOUES
33
Monitoring Réseaux
TSGERI 2011-2012
34
3.1.2.1 Commandes de vérification
Afin qu’il puisse fonctionner Nagios a besoin qu’on lui fournisse les commandes responsables des
vérifications des éléments distants. Ces dernières ont la responsabilité de déterminer les éléments distants
et de fournir les informations d’états et de performance. Pour les définir, nous devons instancier l’objet
« command ». Ces instances figurent dans le fichier « command.cfg ». Les objets sont simples et ne
comportent que deux propriétés :
-
Command_name : c’est le nom de la commande tel que nous allons l’utiliser dans le reste de la
configuration Nagios.
-
Command_line : c’est la commande que doit lancer Nagios.
Exemple de commande :
define command {
command_namecheck_tcp
command_line /usr/local/Nagios/libexec/check_tcp –H $HOSTADDRESS$ -p $ARG1$
}
Dans l’exemple ci-dessus nous essayons de vérifier juste si nous pouvons nous connecter à l'hôte
mentionné dont sa valeur est définie au niveau de $HOSTADDRESS$, sur le port dont le numéro est précisé
dans $ARG1$.
En effet, le $HOSTADDRESS$ est une macro qui est positionnée lors du lancement de la commande par
Nagios. Sa valeur peut changer en fonction du contexte, ici elle est égale à l’adresse réseau de l’élément
qu’on veut surveiller. Les commandes peuvent prendre des arguments, comme c’est le cas dans notre
exemple. Ces derniers peuvent prendre la forme $ARGn$, « n » pouvant aller de 1 à 32. Ils peuvent être
donnés lors de l’appel de la commande, par un hôte ou par un service. Ceci, permet entre autres, d’avoir
une seule définition de commande pour vérifier un port TCP et de spécifier, par exemple dans le service, le
numéro de port que nous souhaitons surveiller.
3.1.2.2 Période de temps
Pour pouvoir exécuter ses commandes Nagios a besoin de savoir quand superviser les éléments et
quand avertir les utilisateurs. Ces périodes de temps peuvent varier suivant le contexte, il faut que
l’utilisateur puisse les définir librement.
L’objet qui se charge de cela est timeperiod. Ses instances se trouvent dans le fichier timeperiods.cfg.
Cet objet a comme propriétés :
-
Timeperiod_name : c’est le nom qui sera utilisé dans le reste de la configuration,
-
Alias : c’est un nom d’affichage dans les interfaces,
-
Sunday,Monday,etc : pour chaque jour, on peut préciser un intervalle de temps qui sera pris en
considération.
Exemple de configuration simple :
define timeperiod{
timeperiod_name workhours
alias
Work Hours
Monday
09:00,17:00
Tuesday
09:00,17:00
….
…….….,……….
Friday
09:00,17:00
}
;Lundi
;Mardi
;……….
;Vendredi
|Elaboré par Mohamed DAOUES
34
Monitoring Réseaux
TSGERI 2011-2012
35
3.1.2.3 Les commandes de notification :
Ces commandes servent à avertir les administrateurs d’un dysfonctionnement au sein des éléments à
superviser. Elles sont des commandes comme les autres, elles utilisent des macros relatives aux éléments
supervisés, à leur état et aux contacts à prévenir. Ces commandes sont placées dans le fichier
commands.cfg aux côtés des commandes de vérifications. Par exemple pour envoyer un e-mail relatif à un
évènement sur un hôte, nous avons la définition suivante :
define command {
command_namehost-notify-by-email
command_line /bin/echo "Host $HOSTNAME$ is $HOSTSTATE$" | /bin/mail $CONTACTEMAIL$
}
3.1.2.4 Les hôtes
Les hôtes sont nommés aussi nœuds ou ressources, ce sont les éléments que nous supervisons. Un
nœud (Host) possède des propriétés particulières comme son adresse réseau ou bien les personnes à
contacter en cas de besoin (problème). Au sens de Nagios c’est un objet host et il figure dans le fichier
hosts.cfg. Un hôte peut avoir plusieurs états :
 UP : il est en état de répondre ;
 DOWN : il est indisponible ;
 UNREACHABLE : l’état n’est pas connu car il est situé, en termes de réseau, derrière un élément
qui est tombé.
Les propriétés indispensables à la définition d’un hôte sont les suivantes :
-
Host_name : c’est le nom de l’hôte tel qu’il sera utilisé dans le reste de la configuration,
-
Alias : c’est le nom qui sera affiché aux utilisateurs,
-
Address : c’est l’adresse réseau de l’hôte,
-
Max_check_attempts : c’est le nombre de vérifications que nagios doit tenter avant de le déclarer
réellement down,
-
Check_period : c’est la période de temps pendant laquelle le nœud est supervisé,
-
Contacts : c’est la liste des contacts à prévenir en cas de souci,
-
Contact_groups : c’est le groupe de contacts à prévenir en cas de problème,
-
Notification_interval : intervalle de temps, en minutes, entre les notifications d’erreur,
-
Notification_period : c’est la période de temps appliquée aux notifications des contacts.
-
Check_command : c’est la commande à travers laquelle nagios vérifie l’état de l’hôte. Elle est
optionnelle car dans certains cas particuliers comme la supervision passive, elle n’est pas
nécessaire.
-
Notifications_options : ce sont les états des hôtes qui doivent faire l’objet d’une notification. Si
l’option n’est pas spécifiée, Nagios considère que tous les états doivent être remontés. Les états
possibles sont :
-d : lorsqu’un hôte passe en état Down,
-u : lorsqu’un hôte passe en état Unreachable,
-r : lorsqu’un hôte revient en état up,
-f : lorsqu’un hôte est en mode flapping,
-s : lorsqu’un hôte arrive dans une période de maintenance définie par un administrateur,
-n : elle est utilisée lorsqu’un contact ne veut pas recevoir de notification.
|Elaboré par Mohamed DAOUES
35
Monitoring Réseaux
TSGERI 2011-2012
36
Exemple de définition d’un hôte :
define host{
host_name
srv-web1
alias
Serveur Web 1
address
192.168.0.1
check_command
check-host-alive
check_interval
5
retry_interval
1
max_check_attempts 3
check_period
24x7
contact_groups web-admins
notification_interval 30
notification_period
24x7
notification_optionsd,u,r
}
3.1.2.5 Les services
Les services sont les points supervisés sur les hôtes. Dans le cas d’un serveur, il s’agira, par exemple, de
s’assurer du bon fonctionnement d’une application ou bien de vérifier si la charge du serveur est
acceptable. Les hôtes et les contacts à alerter sont indispensables dans la définition des services. Un service
peut avoir plusieurs états :
 OK : tout va bien pour l’élément surveillé.
 WARNING : quelque chose commence à aller mal comme, par exemple, un disque qui est presque
rempli.
 CRITICAL : la situation est très grave et demande une intervention immédiate. C’est le cas, par
exemple, d’un disque plein.
 UNKNOWN : la commande de vérification n’a pas pu obtenir les informations souhaitées.
Tout comme pour les autres objets, les services ont des propriétés indispensables
-
service_description : nom du service,
-
host_name : c’est le nom de l’hôte où se trouve le point à surveiller,
-
check_command : c’est une commande de vérification pour obtenir l’information souhaitée,
-
max_check_attempts : c’est le nombre de tentative au bout desquelles la situation est considérée
comme sûre,
-
check_interval : c’est la période entre deux tests en temps normal,
-
retry_interval : c’est la période entre deux tests lorsqu’il y’ a un souci,
-
check_period : c’est la période de temps durant laquelle le service est supervisé,
-
notification_interval : c’est l’intervalle de temps entre deux notifications,
-
notification_period : c’est la période de temps durant laquelle les notifications sont envoyées,
-
contacts : c’est les contacts à prévenir,
-
contact_groups : c’est les groupes de contacts à informer,
-
notification_options : ce sont les états qui, pour un service, doivent faire l’objet d’une notification.
Comme pour les hôtes, si ce paramètre n’est pas positionné, tous les états sont pris en compte.
Ces états sont les suivants :
-w : lorsqu’un service passe en état WARNING,
-u : lorsqu’un service passe en état UNKNOWN,
-c : lorsqu’un service passe en état CRITICAL,
|Elaboré par Mohamed DAOUES
36
Monitoring Réseaux
TSGERI 2011-2012
37
-r,f,s,n : mêmes options que pour les hôtes, mais appliquées aux services.
Exemple de définition d’un service
define host{
host_name
srv-web1
service_description
Http
check_command
check_tcp!80
max_check_attempts
2
check_interval
5
retry_interval
3
check_period
24x7
contact_groups
web-admins
notification_interval
30
notification_period
24x7
notification_options
w,c,r
}
3.1.2.6 Les contacts
Ce sont les personnes qui reçoivent les notifications d’alertes. En effet, nous attribuons les hôtes et les
services à des contacts pour les prévenir que des incidents qui les concernent. Nous allons avoir un contact
par utilisateur de Nagios. Chaque contact aura de ce fait sa période de notification.
Les objets contenant les contacts sont définis dans le fichier contact.cfg et possèdent les propriétés
suivantes :
-
contact_name : c’est le nom du contact tel qu’il sera utilisé dans le reste de la configuration,
-
host_notifications_enabled : accepte ou non les notifications concernant les hôtes,
-
service_notifications_enabled : accepte ou non les notifications concernant les services,
-
host_notification_period : période de temps où les notifications d’erreurs sur les hôtes sont
acceptées,
-
service_notification_period : période de temps où les notifications d’erreurs sur les services sont
acceptées,
-
host_notification_options: états qui, sur les hôtes, doivent faire l’objet d’une notification. Les
valeurs possibles sont les mêmes que pour le paramètre notification_options des hôtes,
-
service_notification_options : états qui, sur les services, doivent faire l’objet d’une notification. Les
valeurs possibles sont les mêmes que pour le paramètre notification_options des services,
-
host_notification_commands : commande de notification qui est utilisée pour avertir d’un
évènement sur un hôte.
-
service_notification_commands : commande de notification qui est utilisée pour avertir d’un
évènement sur un service.
-
email : l’adresse e-mail du contact.
|Elaboré par Mohamed DAOUES
37
Monitoring Réseaux
TSGERI 2011-2012
38
Exemple de configuration de l’objet contacts :
define contact{
contact_nameMdaoues
aliasMohamedDaoues
host_notifications_enabled
service_notifications_enabled
service_notification_period
host_notification_period
service_notification_options
host_notification_options
service_notification_commands
host_notification_commands
email
[email protected]
}
1
1
24x7
24x7
w,u,c,r
d,u,r
notify-by-email
host-notify-by-email
3.1.2.7 Les groupes de contacts
De la même manière que les contacts nous pouvons configurer les notifications pour un groupe de
contacts. La définition est très simple, le fichier à modifier est contacts.cfg :
-
contactgroup_name : nom du groupe tel qu’il sera utilisé dans le reste de la configuration ;
-
alias : nom d’affichage pour ce groupe ;
-
members : liste des contacts du groupe, séparés par des virgules ;
-
contactgroup_members : liste des groupes de contacts faisant parti du groupe.
Exemple de configuration de l’objet groupes de contacts :
definecontactgroup{
contactgroup_name admins-web
alias
Administrateurs web
members
dmartin,dbrossart
contactgroup_members admins-linux
}
|Elaboré par Mohamed DAOUES
38
Monitoring Réseaux
TSGERI 2011-2012
39
3.2 Configuration de Centreon
Dans cette partie nous allons exposer toutes les vues de la configuration de Centreon, d’une manière
simple et compréhensible pour tous, pour obtenir au final une configuration adaptée à nos besoins.
3.2.1
Configuration de la communauté SNMP
Une fois que nous sommes connectés sur Centreon via l’interface web, nous cliquons sur l’onglet
Configuration NagiosRessources  puis su la ligne $USER2$.
Figure 11 : Configuration de la communauté SNMP
Dans le champ MACRO Expression, nous indiquons le nom de la communauté SNMP dont nous
appartenons, c’est celle-là qu’il faudra configurer sur chaque machine que nous voulons superviser. Pour
valider les changements nous cliquons sur « Save ».
3.2.2
Configuration du fichier Ndo2db.cfg
Dans cette partie nous allons configurer Centreon pour qu’il puisse se connecter avec la base de
données NDO. Pour cela, il faut aller dans le menu Configuration/Centreon, puis cliquer sur le lien
ndo2db.cfg dans le menu de gauche et cliquer sur le lien Principal. Par la suite, il faut saisir la configuration
suivante dans l’onglet General :
 Socket type: unix

Socket name: /usr/local/nagios/var/ndo.sock
Figure 12 : Configuration du fichier ndo2db.cfg
|Elaboré par Mohamed DAOUES
39
Monitoring Réseaux
TSGERI 2011-2012
40
Ensuite nous allons modifier le login et le mot de passe pour l’accès à la base de données NDO, nous
restons sur la même page de tout à l’heure , nous cliquons sur database, et nous saisissons « ndouser »
pour l’utilisateur, « ndopassword » pour le mot de passe.
Figure 13 : Configuration de la base de données NDO
3.2.3
Configuration du fichier Ndomod.cfg
Il faut ensuite aller dans le menu ConfigurationCentreon, puis cliquer sur le lien ndomod.cfg dans le
menu de gauche, cliquer sur le lien Principal, et saisir la configuration suivante :
 Socket type: unixsocket

Output: /usr/local/nagios/var/ndo.sock
 Buffer File: /usr/local/nagios/var/ndomod.tmp
Figure 14 : Configuration du fichier ndomod.cfg
|Elaboré par Mohamed DAOUES
40
Monitoring Réseaux
3.2.4
TSGERI 2011-2012
41
Configuration du broker module
Maintenant nous assurerons que Nagios et NDoutils sont bien configurés, pour cela nous devons
remplir le champ « Broker Module » avec cette ligne-là :
/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg.
Pour cela il faut cliquer sur Configuration Nagiosnagios.cfgData, par la suite il faut mettre la
valeur « -1 » dans le champ « Broker Module Options », et cliquer sur « Save ».
Figure 15 : Modification du Broker module
3.2.5
Génération de la configuration de Nagios par Centreon
En effet pour que toute ses modifications soient prisent en compte par nagios, il faut exporter toute la
configuration générée par Centreon. Pour cela, il faut se rendre dans le menu Configuration / Nagios et
cocher les trois cases suivantes :
 Move Export Files, Include Comments, Restart Nagios.
Figure 16 : Exportation de la configuration vers Nagios
Figure 17 : Processus de génération de la configuration de Nagios par Centreon
|Elaboré par Mohamed DAOUES
41
Monitoring Réseaux
VIII.
TSGERI 2011-2012
42
Administration
1. Interface graphique nagios
Dans cette partie nous allons décrire brièvement l’interface graphique de Nagios car cette dernière sert
uniquement à visualiser l'état du réseau supervisé. En effet, cette interface ne pourra pas nous servir pour
la configuration de notre serveur de supervision.
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 « Annexe2 ». 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 'Current status' dans
laquelle il est possible de sélectionner les informations que l'on souhaite visualiser. Il y a de nombreux sousmenus 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. Dans la partie "Reports" 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 "System", il est possible
de visualiser toute les configurations grâce à laquelle Nagios sait qui et quoi supervisé.
Maintenant nous allons passer à la partie d’administration qui concerne Centreon, c’est sur celle-ci que
nous essayerons de développer d’avantage.
2. Interface graphique Centreon
Cette partie sera consacrée dans un premier temps pour présenter l’interface graphique de Centreon,
qui servira pour configurer notre serveur Nagios. Et dans un deuxième temps, à expliquer la prise en main
de cette interface.
2.1 Présentation de l’interface de Centreon
L’interface graphique de Centreon se compose de six menus principaux que nous allons énoncer dans ce
qui suit.
2.1.1
Menu Accueil :
Il s’agit de la première vue juste après la connexion à Centreon, dans ce menu nous retrouvons à
gauche de l’écran deux sous menus qui nous permettent de voir l’état de santé globale sous forme
de camembert, ainsi qu’un aperçu tactique de tous les hôtes, services, et les problèmes non encore
traités.
Figure 18 : Sous menu Global Health
Figure 19 : Sous menu tactical Overview
|Elaboré par Mohamed DAOUES
42
Monitoring Réseaux
TSGERI 2011-2012
43
Nous retrouvons aussi un autre onglet qui concerne les statistiques de nagios où nous pouvons
visualiser les performances de notre serveur de supervision, les informations par rapport aux
processus nagios, et les graphes afférents.
Figure 21 : Statistique Nagios_Infos performance
2.1.2
Figure 20 : Statistique Nagios_Graphiques de performances
Menu Supervision :
Dans cette vue nous pourrons accéder à l’ensemble des hôtes et services supervisés. Nous pouvons
sélectionner différentes vues selon le filtre choisi à gauche de l’écran.
Figure 22 : Statut des services par Hôtes
|Elaboré par Mohamed DAOUES
43
Monitoring Réseaux
2.1.3
TSGERI 2011-2012
44
Menu Vues :
Cette vue nous permet de voir, créer, paramétrer des Templates de graphiques pour pouvoir les
exploiter ensuite pour l’ensemble de nos hôtes et services.
Figure 23 : Menu Vues
2.1.4
Menu Rapport :
Cette vue nous permet d’avoir des statistiques de fiabilité des hôtes, des groupes d’hôtes, ou de
groupes de services sur une période de temps données.
Figure 24 : Menu reporting
|Elaboré par Mohamed DAOUES
44
Monitoring Réseaux
2.1.5
TSGERI 2011-2012
45
Menu Configuration :
Ce menu concerne la configuration de notre serveur de supervision, et se compose de plusieurs
autres vues que nous allons énoncer dans ce qui suit. Ce menu remplace la configuration en ligne de
commande qu’avaient les administrateurs à effectuer, de ce fait ce menu est primordial.
 Sous Menu Hôtes : dans ce sous menu, nous allons pouvoir créer et paramétrer les hôtes pour
qu’ils soient ensuite injectés dans nagios. Concernant la création d’un nouveau hôte, nous allons
la voir un plus bas.
Figure 25 : Vue configuration Hôtes
 Sous Menu Services : dans cette vue nous allons pouvoir créer et paramétrer les services que
nous voulons superviser.
Figure 26 : vue configuration Services
|Elaboré par Mohamed DAOUES
45
Monitoring Réseaux
TSGERI 2011-2012
46
 Sous Menu Utilisateurs : Au niveau de cette vue nous allons pouvoir créer et paramétrer
l’ensemble des utilisateurs qui pourront se connecter à l’interface de Centreon. Via ce menu
nous pouvons paramétrer plusieurs types de comptes ainsi que le fichier « timeperiod » de
notification qu’utilise nagios pour indiquer les plages horaires de notification.
Figure 27 : Vue configuration des utilisateurs
 Sous Menu commandes : Dans cette vue, nous pourrons créer et paramétrer l’ensemble des
commandes de check que Nagios effectue lors de sa collecte d’informations. Nous avons une
liste de commandes prêtes à utiliser comme nous pouvons le voir sur la figure 28, celles qui
nous sera utiles pour aller chercher les informations.
Figure 28 : Vue configurations des commandes
|Elaboré par Mohamed DAOUES
46
Monitoring Réseaux
TSGERI 2011-2012
47
 Sous Menu notifications : Dans ce menu nous retrouvons toutes la gestion des escalades
d’hôtes, de services ainsi que les groupes respectifs à ses derniers. Nous pouvons aussi
paramétrer les dépendances entre les hôtes, groupes d’hôtes, les services et les groupes de
services. (voir Annexe 3 pour la réception des Alertes)
Figure 29 : Vue notification - Escalades/Dépendances
 Sous Menu Nagios : cette vue-là nous permet de gérer la configuration générale, les ressources
de Nagios et d’exporter la configuration de Centreon dans le répertoire « etc » de Nagios pour
qu’il prenne en compte les modifications.
Figure 30 : Vue configuration Nagios
|Elaboré par Mohamed DAOUES
47
Monitoring Réseaux
TSGERI 2011-2012
48
 Sous Menu Centreon : la vue suivante est plus orientée vers la gestion de NDO et la supervision
en mode distribuée. Nous pouvons ajouter tant de collecteurs que nous voulons.
Figure 31 : vue configuration Centreon
2.1.6
Menu Administration :
Ce menu concerne comme son nom l’indique l’administration de notre serveur de supervision et il se
compose de 8 sous menus que nous allons les énoncer dans ce qui suit.
 Sous Menu options : dans cette vue nous retrouvons les points de configurations fondamentaux
de Centreon, tel que le répertoire d’installation, les options d’affichage, les options de
configuration de la base de données, etc.
Figure 32 : Vue administration Options
|Elaboré par Mohamed DAOUES
48
Monitoring Réseaux
TSGERI 2011-2012
49
 Sous Menu Modules : cette vue sert à créer des modules pour pouvoir les greffer à Centreon.
 Sous Menu ACL : ce sous menu nous permet de gérer les rôles et les droits d’accès à l’interface
pour les différents utilisateurs.
Figure 33 : Menu Administration ACL
 Sous Menu Base de données : cette vue nous permet de garder un œil sur la taille de notre base
NDO, et donc de réagir au plus vite dès que la taille de la base devient trop importante.
Figure 34 : Menu Administration databases
 Sous Menu Sessions : comme son nom l’indique ce menu nous permet de voir les utilisateurs qui
se connectent sur le portail de supervision.
Figure 35 : Menu Administration Sessions
|Elaboré par Mohamed DAOUES
49
Monitoring Réseaux
TSGERI 2011-2012
50
 Sous Menu Etat du serveur : cette vue nous permet d’avoir un état de santé globale de notre
serveur Centreon sans avoir à aller dans un terminal et taper des commandes linux.
Figure 36 : Menu Server Status
 Sous Menu A propos de : dans cette section nous pouvons trouver des informations utiles
concernant le projet Centreon.
Figure 37 : Menu Administration About
|Elaboré par Mohamed DAOUES
50
Monitoring Réseaux
TSGERI 2011-2012
51
2.2 Prise en main de l’interface
Dans cette partie nous allons exposer quelques exemples de configuration tel que l’ajout ou la suppression
d’un hôte, d’un groupe de hôtes, d’un service ou même l’ajout d’une commande. Nous pourrons voir aussi
le paramétrage d’un compte utilisateur en lecture seule ainsi que la gestion des ACL.
2.2.1
Ajout d’un hôte
La configuration d’un hôte peut être assez fastidieuse car elle comporte un grand nombre de
paramètres à fixer. Cependant, il est fortement recommandé d’utiliser les modèles pour les hôtes afin de
faciliter le travail. Ces modèles permettent de définir les paramètres par défaut. De base, Centreon définit
tout un ensemble de Templates, dans le cadre du projet, nous utilisons, pour le moment le Template
«generic-host ». Dans ce qui suit, nous précisons les paramètres essentiels pour configurer un hôte.
 Nom de l’hôte : C’est le nom qui va l’identifier pour Nagios et Centreon
 Alias : Le « surnom » de l’hôte. On peut aussi mettre des informations supplémentaires.
 Adresse IP/DNS : l’adresse IP
 Surveillé depuis : Le collecteur qui va le superviser
 Modèle multiple de l’hôte : Le Template attaché pour cet hôte.
Une fois ces paramètres renseignés, il est possible d’attacher, si nécessaire cet hôte à un ou des
groupes. Il est aussi possible de définir une « généalogie » pour les hôtes :
On définit des hôtes parents et /ou enfants. Cette notion permet de définir une cartographie des hôtes.
Figure 38 : Ajout d'un hôte
|Elaboré par Mohamed DAOUES
51
Monitoring Réseaux
2.2.2
TSGERI 2011-2012
52
Ajout d’un groupe d’hôtes
Il est recommandé de regrouper les hôtes pour améliorer l’affichage et la gestion des services dans
Centreon. Par exemple, nous pouvons souhaiter regrouper les hôtes par type d’OS, par environnements
applicatifs, par type de matériels. Pour ajouter ou modifier un groupe d’hôtes, il faut se rendre dans
l’onglet Configuration → Hôtes → Groupe d’hôtes. Il suffit ensuite de compléter la page, en spécifiant le
nom du groupe, son alias (« surnom ») et les membres de ce groupe.
2.2.3
Ajout d’un service
Une fois l’hôte et la commande renseignés, nous allons pouvoir définir un service attaché au serveur
supervisé. Pour ajouter ou modifier un service, il faut se rendre dans l’onglet Configuration → Services. Sur
la page s’affiche tous les services par hôte.
Pour ajouter un service, il suffit donc de sélectionner Ajouter et de commencer la configuration. Comme
pour les hôtes, il y a un grand nombre de paramètres à définir. Il est donc conseillé d’utiliser les Templates
pour faciliter la configuration du service. Par défaut nous utilisons le Template generic-service. Sur la page
Configuration du service, nous allons renseigner les paramètres suivants :
 Description : C’est le nom du service qui sera affiché dans la page de supervision
 Modèle de service : Le Template utilisé, par défaut nous prenons generic-service.
 Commande de vérification : c’est ici que l’on précise la commande à utiliser.
 Arguments : les arguments de la commande. Le format est !arg1 !arg2 !arg3 !
 Contacts liés : les contacts à notifier
 Groupe de contacts liés : les groupes de contacts à notifier
Figure 39 : Ajout d'un Service
|Elaboré par Mohamed DAOUES
52
Monitoring Réseaux
2.2.4
TSGERI 2011-2012
53
Ajout d’un groupe de services
De la même manière que les hôtes nous pouvons aussi regrouper les services par groupes. Pour ajouter
ou modifier un groupe de service il faut se rendre à l’onglet Configuration Services Service groupes. Il
suffit ensuite de compléter la page, en spécifiant le nom du groupe de service, son alias (surnom) et les
hôtes de ce groupe.
2.2.5
Ajout d’une commande
Un service, dans Centreon (ou Nagios) définit une tâche « logique » à effectuer sur un hôte (contrôle
d’un serveur web, contrôle des données systèmes…). Le travail réel est effectué par le plugin (programme,
script… sur le collecteur ou en local sur l’hôte, par exemple « check_http » pour le contrôle d’un service
web). Pour faire le lien entre le service et le plugin qui doit être lancé, il faut définir des commandes. Une
commande correspond à l’exécution du plugin en ligne de commande, avec les paramètres nécessaires.
Pour ajouter ou modifier une commande, il faut se rendre dans l’onglet Configuration → Commands →
Checks. Sur la page s’affiche toutes les commandes déjà connues et qu’il est possible de modifier.
Figure 40 : Vue Configuration/Commande
Donc si nous souhaitons ajouter une commande, il suffit de cliquer sur ajouter. Et en ce qui concerne les
paramètres pour la définition d’une commande, ce sont les suivantes :
 Nom de la commande : c’est le nom qui va être sélectionnable quand nous allons définir un service.
 Ligne de commande : c’est ici que l’on construit la commande qui va être lancée par Nagios.
Centreon propose des menus déroulants afin de faciliter cette construction.
o
Le premier menu donne accès aux macros utilisateurs (par défaut la macro $USER1$
contient le chemin des plugins).
o
Le deuxième menu permet de sélectionner le plugin qui doit être utilisé.
o
Le troisième menu permet de sélectionner les macros disponibles dans Nagios (ex
$HOSTADDRESS$).
|Elaboré par Mohamed DAOUES
53
Monitoring Réseaux
TSGERI 2011-2012
54
 Exemple d’arguments : Ces deux cases permettent de tester une commande et de définir les
valeurs par défaut lors de la définition d’un service.
 Type de commande : nous laissons la valeur par défaut « vérification ».
 Modèle de graphique : nous pouvons laisser ce champ vide ou utiliser un des modèles proposés.
Figure 41 : Ajout d'une commande
2.2.6
Suppression d’une commande, d’un service, ou d’un hôte :
Dans cette partie nous allons voir comment supprimer un service, et ce qu’il faut retenir, c’est que nous
pouvons le réitérer pour la suppression d’un hôte ou bien d’une commande. En effet pour supprimer un
service, il suffira de le sélectionner et de choisir supprimer dans l’onglet « plus d’action ».
Figure 42 : Processus de suppression
|Elaboré par Mohamed DAOUES
54
Monitoring Réseaux
2.2.7
TSGERI 2011-2012
55
Paramétrage d’un compte utilisateur en lecture seule
Au niveau de Centreon, nous avons la possibilité de créer plusieurs utilisateurs de consultation, et pour
se faire nous devons paramétrer les comptes en mode lecture seule.
Pour commencer nous devons créer un utilisateur, et pour cela il faut aller dans l’onglet
configurationutilisateursAjouter.
Figure 43 : Ajout d'un utilisateur
Ensuite, nous allons renseigner notre utilisateur comme ci-dessous :
 Nom complet : Mohamed Daoues
 Alias/login : M_DOS
 Email : [email protected]
 Autorisé à se connecter à l’interface Web : Oui
 Mot de passe : Mdos
 Administrateur : Non
 Options de notifications d’hôte : None
 Période de notifications d’hôte : none
 Commande de notification d’hôte : host-notify-by-email
 Options de notifications de service : None
 Période de notifications de service : none
 Commande de notification de service : service-notify-by-email
|Elaboré par Mohamed DAOUES
55
Monitoring Réseaux
TSGERI 2011-2012
56
Une fois que notre compte a été crée, nous allons nous intéresser à ces droits. Pour cela, nous devons
nous rendre à l’onglet Administration ACLGestion des groupes d’accèsAjouter et créer un groupe
d’accès pour rattacher le nouveau compte que nous venons de créer.
Figure 44 : Ajout d'un groupe d'accès
2.2.8
Gestion des ACL
Il faut aller dans l’onglet Administration –>ACL –> Gestion des accès aux menus –> Ajouter
Figure 45 : Ajout d'un accès aux menus
|Elaboré par Mohamed DAOUES
56
Monitoring Réseaux
TSGERI 2011-2012
57
Il faut paramétrer l’accès aux différentes vues comme ci-dessous :
Figure 46 : Ajout d'une liste de contrôle
|Elaboré par Mohamed DAOUES
57
Monitoring Réseaux
TSGERI 2011-2012
58
Conclusion :
Le domaine de la supervision est un domaine important de l’administration systèmes et réseaux. En
constante évolution, les solutions libres de supervision ont prouvé qu’elles avaient leur place dans la sphère
professionnelle. Et comme nous l’avons déjà explicité dans notre étude, la supervision est un des moyens
indispensables pour favoriser la croissance de rendement d’une entreprise.
Le propos de ce projet de synthèse était de choisir une solution qui répandait aux besoins
organisationnels et financiers de n’importe quel l’entreprise et il n’y’avait pas mieux pour combler ce
besoin que Nagios.
Nagios est un outil qui répond largement aux besoins de supervision des grandes comme des petites
entreprises. Sa prise en main est complexe, mais une fois que les principes fondamentaux sont compris,
nous découvrons un vaste potentiel de développement. En effet, L'association de Nagios et de Centreon a
permis la constitution d'une solution de monitoring à la fois puissante et efficace. Centreon agit comme un
intermédiaire entre l'administrateur et les fichiers de configuration de Nagios. Il enregistre dans une base
de données les configurations effectuées par l'administrateur, puis il modifie les fichiers de configuration
de Nagios en fonction du contenu de la base de données. Ce qui a permis de simplifier grandement le
travail de l'administrateur, contrairement à l'utilisation de Nagios seul.
A titre personnel, je tire un bilan positif de ce travail. Cela m'a permis de me familiariser avec
l'administration système et réseau sous Linux, de découvrir un logiciel de supervision riche, et par chance
mon stage d’application vient s’inscrire dans la continuité de cette étude, me permettant d’approfondir ces
points.
|Elaboré par Mohamed DAOUES
58
Monitoring Réseaux
TSGERI 2011-2012
59
Annexes
Annexe 1 : Script init ndo2db
#!/bin/sh
#
#
# chkconfig: 345 99 01
# description: Nagios to mysql
#
# Author : Gaëtan Lucas
# Realase : 07/02/08
# Version : 0.1 b
# File : ndo2db
# Description: Starts and stops the Ndo2db daemon
#
used to provide network services status in a database.
#
status_ndo ()
{
if ps -p $NdoPID > /dev/null 2>&1; then
return 0
else
return 1
fi
return 1
}
printstatus_ndo()
{
if status_ndo $1 $2; then
echo "ndo (pid $NdoPID) is running..."
else
echo "ndo is not running"
fi
}
killproc_ndo ()
{
echo "kill $2 $NdoPID"
kill $2 $NdoPID
}
pid_ndo ()
{
if test ! -f $NdoRunFile; then
echo "No lock file found in $NdoRunFile"
echo -n "
checking runing process..."
NdoPID=`ps h -C ndo2db -o pid`
if [ -z "$NdoPID" ]; then
echo "
No ndo2db process found"
exit 1
else
echo "
found process pid: $NdoPID"
echo -n "
reinit $NdoRunFile ..."
touch $NdoRunFile
chown $NdoUser:$NdoGroup $NdoRunFile
echo "$NdoPID" > $NdoRunFile
echo "
done"
fi
fi
NdoPID=`head $NdoRunFile`
}
|Elaboré par Mohamed DAOUES
59
Monitoring Réseaux
TSGERI 2011-2012
60
# Source function library
# Solaris doesn't have an rc.d directory, so do a test first
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
fi
prefix=/usr/local/nagios
exec_prefix=${prefix}
NdoBin=${exec_prefix}/bin/ndo2db
NdoCfgFile=${prefix}/etc/ndo2db.cfg
NdoRunFile=${prefix}/var/ndo2db.run
NdoLockDir=/var/lock/subsys
NdoLockFile=ndo2db.lock
NdoUser=nagios
NdoGroup=nagcmd
# Check that ndo exists.
if [ ! -f $NdoBin ]; then
echo "Executable file $NdoBin not found.
exit 1
fi
Exiting."
# Check that ndo.cfg exists.
if [ ! -f $NdoCfgFile ]; then
echo "Configuration file $NdoCfgFile not found.
exit 1
fi
Exiting."
# See how we were called.
case "$1" in
start)
echo -n "Starting ndo:"
touch $NdoRunFile
chown $NdoUser:$NdoGroup $NdoRunFile
$NdoBin -c $NdoCfgFile
if [ -d $NdoLockDir ]; then
touch $NdoLockDir/$NdoLockFile;
fi
ps h -C ndo2db -o pid > $NdoRunFile
if [ $? -eq 0 ]; then
echo " done."
exit 0
else
echo " failed."
$0 stop
exit 1
fi
;;
stop)
echo -n "Stopping ndo: "
pid_ndo
killproc_ndo
|Elaboré par Mohamed DAOUES
60
Monitoring Réseaux
TSGERI 2011-2012
61
# now we have to wait for ndo to exit and remove its
# own NdoRunFile, otherwise a following "start" could
# happen, and then the exiting ndo will remove the
# new NdoRunFile, allowing multiple ndo daemons
# to (sooner or later) run
#echo -n 'Waiting for ndo to exit .'
for i in 1 2 3 4 5 6 7 8 9 10 ; do
if status_ndo > /dev/null; then
echo -n '.'
sleep 1
else
break
fi
done
if status_ndo > /dev/null; then
echo
echo 'Warning - ndo did not exit in a timely manner'
else
echo 'done.'
fi
rm -f $NdoRunFile $NdoLockDir/$NdoLockFile
;;
status)
pid_ndo
printstatus_ndo ndo
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: ndo {start|stop|restart|status}"
exit 1
;;
esac
# End of this script
|Elaboré par Mohamed DAOUES
61
Monitoring Réseaux
TSGERI 2011-2012
62
Annexe 2 : capture d’écrans de l’interface graphique de nagios
|Elaboré par Mohamed DAOUES
62
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
63
63
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
64
64
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
65
65
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
66
66
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
67
67
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
68
68
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
69
69
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
70
70
Monitoring Réseaux
TSGERI 2011-2012
|Elaboré par Mohamed DAOUES
71
71
Monitoring Réseaux
TSGERI 2011-2012
72
Annexe 3 : Aperçu des notifications reçus lors des simulations d’arrêt de quelques Hôtes
|Elaboré par Mohamed DAOUES
72

Documents pareils