Rapport de NAGIOS
Rapport de NAGIOS
Rapport de NAGIOS
GROUPE :
TRI2 B
Réalisé par :
Boujdour Chaima
Chbani Rabab Encadré
par :
TRI2 GB 1
NAGIOS
Elgoutay Sara Mme. SALIM
FATIMA
2014/2015
TRI2 GB 1
NAGIOS
Remerciement
Tout d’abord, ce travail ne serait
pas aussi riche et n’aurait pas pu
avoir le jour sans l’aide et
l’encadrement de Mme SALIM
FATIMA , On la remercie pour la
qualité de son encadrement
exceptionnel, pour sa patience, sa
rigueur et sa disponibilité durant
notre préparation de ce projet de
fin de formation . Enfin nous
remercions nos collègues et aussi
nos formateurs de l’Institut
Spécialisé des Technologies
Appliqués à Marrakech .
TRI2 GB 1
NAGIOS
TRI2 GB 1
NAGIOS
Sommaire
Remerciement…………………………………………………………
……………….3
Introduction
générale……………………………………………………………….5
A. Partie théorique : présentation de Nagios comme solution
supervision systèmes
réseaux……………………………………………………………………………
……6
I. NAGIOS comme outils pour la supervision de
réseaux………………………6
1) C’est quoi
Nagios ?..............................................................................
..........6
2) Historique
…………………………………………………………………………..6
3) Version et
licence…………………………………………………………………7
4) Avantages et
inconvénients………………………………………………….8
5) Fonctionnalités de
Nagios…………………………………………………….8
II. Concepts et principe de fonctionnement de
Nagios………………………....10
1) Comment Nagios fonctionne-t-il ?
……………………………………...10
2) Architecture de Nagios
……………………………………………………...10
3) C'est quoi un greffon
(plugin)?.............................................................11
4) Exécution des
greffons………………………………………………………12
a. NSCLIENT
……………………………………………………………………12
b. NRPE…………………………………………………………………
…………12
TRI2 GB 1
NAGIOS
c. NSCA…………………………………………………………………
…………13
d. NDOUTils……………………………………………………………
………..14
5) Emplacement du système de
supervision………………………….14
B. Partie pratique : Installation et configuration de
Nagios………………………15
I. Installation de
Nagios…………………………………………………………………...15
1) Pré-
requis……………………………………………………………………
….....15
a. Création d'un utilisateur
Nagios…………………………………....15
b. Compilation et
installation…………………………………………....15
II . Configuration de
Nagios………………………………………………………………….16
1) Serveur
web………………………………………………………………………
16
2) Nagios
……………………………………………………………………
…….....16
III. L’interface de
Nagios……………………………………………………………………..
21
1) Les vue du
monitoring……………………………………………………….21
2) Les vue du
reporting………………………………………………………….25
C. Conclusion…………………………………………………………………
…………………...…..29
TRI2 GB 1
NAGIOS
Introduction
L a taille des réseaux ne cessant de grandir de jour
en jour et l’importance de ceux-ci dans le monde de
l’entreprise prenant une place prépondérante, le
besoin de contrôler en temps réel leur qualité et leur
état est rapidement devenu une priorité. C’est dans
ce but qu’est apparu, il y a maintenant une
vingtaine d’années, le concept de supervision de
réseaux.
L’Un des principaux enjeux de la supervision de
réseaux est l’automatisation du traitement de
l’information. En effet, face à l’importance (taille et
criticité) des réseaux dans tous les milieux
professionnels, il reste difficile de prendre
connaissance de toutes les informations et de réagir
pro-activement. Des lors, l’automatisation de
l’analyse des informations remontées par la
supervision permet la mise en place de statistiques
et de procédures pour la résolution des problèmes
récursifs ou étendus.
TRI2 GB 1
NAGIOS
A. Partie théorique :
Nagios comme solution supervision systèmes et
réseaux :
2. Historique
TRI2 GB 1
NAGIOS
Mai 2002 : première version de Nagios
3. Version et licence
TRI2 GB 1
NAGIOS
● Ajout du support des certificats d'authentification x509 dans
les CGIs
4. Avantages et inconvénients :
Avantages
o Grosse communauté et bonne réputation.
o Très puissant et modulaire.
o Peut disposer d'une surcouche graphique (Centreon).
o Centreon apporte la gestion de graphiques.
o Peut disposer de nombreux plugins.
Inconvénients
o Difficile à installer et à configurer.
o Nagios dispose d'une interface austère.
o Nagios n'affiche pas de graphs en natif.
o Nagios ne permet pas d'ajouter des hosts via Web.
5. Fonctionnalités de Nagios :
TRI2 GB 1
NAGIOS
II. Concepts et principe de fonctionnement de Nagios
TRI2 GB 1
NAGIOS
l’administrateur du réseau de différentes manières :
courriers électroniques, messages instantanés, SMS,
etc.
2. Architecture de Nagios
TRI2 GB 1
NAGIOS
o Par les agents d'exécution de tests tels que: NRPE, NSCA,
check_by_ssh, NSClient, etc...
a. NSClient :
TRI2 GB 1
NAGIOS
c. NSCA :
d. NDOUtils
NDOUtils est un addon qui vous permet de stocker toutes les
informations d'état de Nagios dans une base de données
MySQL. Plusieurs instances de Nagios peuvent tous stocker leurs
informations dans une base de données centrale pour le reporting
centralisé. Ce sera probablement servir de base pour une nouvelle
interface web basée sur PHP pour Nagios à l'avenir.
TRI2 GB 1
NAGIOS
Dans un système de supervision on comprend que la topologie
est importante. Le système de supervision deviendra vite non
opérationnel s'il est trop éloigné des éléments à superviser et
que certains hôtes critiques sont susceptibles d'empêcher
toute communication entre le système de supervision et les
éléments à superviser.
I. Installation de Nagios
1. Pré-requis
#groupadd nagios
# useradd -g nagios -m -d /home/nagios -G apache nagios
b. Compilation et installation
Une fois les pré requis installés, et les sources récupérées sur
le site officiel, la phase d'installation suit les étapes suivantes
#./configure --options
# make all
# make install
TRI2 GB 1
NAGIOS
Pour rendre Nagios complètement opérationnel, il reste quelques
commandes à passer :
# make install-init
Créer et mettre les droits sur le répertoire qui va contenir les
fichiers de communication entre le serveur Nagios et les CGI de
présentation
# make install-commandmode
Installer un exemple de configuration de Nagios. Les fichiers de
configuration ainsi créés verront leur nom se terminer par -sample,
pour éviter ainsi d'écraser la configuration actuelle en cas
d'upgrade
# make install-config
L'installation de Nagios est alors terminée. Il faut maintenant
passer à la phase de configuration.
II.Configuration de Nagios
1. Serveur web
L'accès à Nagios doit être restreint car il peut montrer des informations sensibles voire
confidentielles concernant le système d'information.
Par ailleurs, des actions peuvent être entreprises via l'interface web, allant de l'acquiescement
des alarmes jusqu'au redémarrage de machines.
Pour cette raison, il faut protéger l'accès aux CGI de Nagios, au travers le mécanisme
d'authentification de votre serveur web (ex : mécanisme htpasswd pour Apache)
2. Nagios
La configuration de Nagios demande beaucoup de temps et n'est pas chose aisée. En effet,
l'ensemble de la configuration du logiciel se fait dans des fichiers textes d'extension .cfg
define type{
attribut1 valeurs
TRI2 GB 1
NAGIOS
attribut2 valeurs
... valeurs
}
Ce mécanisme de définition implique qu'aucun espace ne pourra être inséré dans les paramètres
et leurs valeurs
La cohérence des fichiers de configuration peut être testée en exécutant Nagios avec l'option -
v et en lui fournissant le fichier de configuration principal
Nagios supervise les équipements à travers le réseau. Ils peuvent être des serveurs, des
équipements réseaux, ou tout autre type de machine reliée au réseau.
Ces hosts peuvent être regroupés dans un ou plusieurs groups, permettant ainsi d'agir sur un
ensemble de machines plutôt que sur chacune, une par une.
Viennent ensuite les services. Ils correspondent aux services testés par les plugins. Définis dans
un fichier de configuration, les services font appel aux plugin via descommands elles-même
définies dans un fichier checkcommands.cfg
L'ordonnancement de la vérification des services se fait elle selon des périodes de temps définis
par les clauses timeperiod dans le fichier timeperiods.cfg
Le rôle de Nagios est donc de prévenir lorsqu'un problème survient. Les contacts à prévenir sont
définis dans le fichier contacts.cfg et peuvent eux aussi être groupés dans le
fichier contactgroups.cfg
L'escalade des alertes entre les groupes, en cas de non réponse, peut être définie dans le
fichier escalations.cfg
Il reste alors le fichier misccommands.cfg dans lequel sont déclarées les commandes non-
destinées au lancement de plugin. On y trouvera par exemple les commandes nécessaires à
l'envoi de mail, de SMS, etc..
Enfin, d'autres fichiers peuvent également être utilisés tels que dependencies.cfg pour définir
des dépendances entre services, cgi.cfg pour la configuration des CGI,hostextinfo.cfg pour les
infos supplémentaires sur les hôtes (icône, coordonnées graphiques sur la statusmap, ...)
et serviceextinfo.cfg idem que hostextinfo.cfg mais pour les services.
nagios.cfg
ressource.cfg
hosts.cfg
hostgroups.cfg
services.cfg
TRI2 GB 1
NAGIOS
servicegroups.cfg
checkcommands.cfg
misccommands.cfg
timeperiods.cfg
contacts.cfg
contactgroups.cfg
escalations.cfg
dependencies.cfg
cgi.cfg
hostextinfo.cfg
serviceextinfo.cfg
nagios.cfg
Il s'agit du fichier principal de configuration de Nagios. Il contient notamment la liste des autres
fichiers de configuration utilisés, ainsi que l'ensemble des directives globales de fonctionnement
de Nagios, comme le nom et le groupe de l'utilisateur nagios.
ressource.cfg
Il s'agit d'un fichier de déclaration utilisé par les autres fichiers de configuration de Nagios. Il
permet de définir des variables globales pour une utilisation simplifiée dans les autres fichiers
de configuration (ex : $USER1$=/usr/local/nagios/libexec).
hosts.cfg
define host{
host_name bogus-router
alias Bogus Router #1
address 192.168.1.254
parents server-backbone
check_command check-host-alive
max_check_attempts 5
process_perf_data 0
retain_nonstatus_information 0
notification_interval 30
TRI2 GB 1
NAGIOS
notification_period 24x7
notification_options d,u,r
}
hostgroups.cfg
Il contient les groupes d'hôtes permettant ensuite d'agir sur un ensemble de machines.
define hostgroup{
hostgroup_name novell-servers
alias Novell Servers
contact_groups novell-admins
members netware1,netware2,netware3,netware4
}
services.cfg
Fichier de configuration des services supervisés. La définition d'un service identifie un service
tournant sur un hôte. Le terme "service" est très générique. Il peut s'appliquer à un service ( tel
que POP, SMTP, HTTP, etc.) ou bien tout autre type de mesure associée à l'hôte (temps de
réponse à un ping, nombre d'utilisateurs connectés, usage des disques).
define service{
host_name linux-server
service_description check-disk-sda1
check_command check-disk!/dev/sda1
max_check_attempts 5
normal_check_interval 5
retry_check_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups linux-admins
}
servicegroups.cfg
Il contient les groupes de services permettant ensuite d'agir sur des ensembles de services.
checkcommands.cfg
define command{
command_name check_pop
command_line /usr/local/nagios/libexec/check_pop -H $HOSTADDRESS$
}
misccommands.cfg
timeperiods.cfg
TRI2 GB 1
NAGIOS
Fichier de configuration des calendriers
define timeperiod{
timeperiod_name nonworkhours
alias Non-Work Hours
sunday 00:00-24:00
monday 00:00-09:00,17:00-24:00
tuesday 00:00-09:00,17:00-24:00
wednesday 00:00-09:00,17:00-24:00
thursday 00:00-09:00,17:00-24:00
friday 00:00-09:00,17:00-24:00
saturday 00:00-24:00
}
contacts.cfg
Fichier de définition des contacts à notifier. Une définition de contact s'applique à la personne
physique qui doit être contactée en cas de problèmes sur le réseau.
define contact{
contact_name jdoe
alias John Doe
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-email
host_notification_commands host-notify-by-email
email jdoe@localhost.localdomain
pager 555-
5555@pagergateway.localhost.localdomain
}
contactgroups.cfg
Il contient les groupes de contacts permettant ainsi de regrouper les contacts à notifier en cas
d'alerte.
define contactgroup{
contactgroup_name novell-admins
alias Novell Administrators
members jdoe,rtobert,tzach
}
escalations.cfg
define serviceescalation{
host_name nt-3
service_description Processor Load
first_notification 4
last_notification 0
notification_interval 30
contact_groups all-nt-admins,themanagers
}
TRI2 GB 1
NAGIOS
define hostescalation{
host_name router-34
first_notification 5
last_notification 8
notification_interval 60
contact_groups all-router-admins
}
define hostgroupescalation{
hostgroup_name netware-servers
first_notification 5
last_notification 0
notification_interval 30
contact_groups netware-admins,themanagers
}
dependencies.cfg
Il définit les dépendances entre les différents services, qu'ils soient sur le même serveur ou non.
On peut ainsi par exemple faire dépendre le serveur web virtuel de la présence d'un processus
Apache.
define hostdependency{
host_name WWW1
dependent_host_name DBASE1
notification_failure_criteria d,u
}
cgi.cfg
Il définit la configuration des CGI de Nagios utilisés dans l'interface graphique web.
hosttextinfo.cfg
Il permet d'ajouter des propriétés graphiques aux hôtes définis dans hosts.cfg comme par
exemple une icône ou des coordonnées à utiliser dans la statusmap de l'interface web.
define hostextinfo{
host_name netware1
notes_url http://webserver.localhost.localdomain/hostinfo.pl?
host=netware1
icon_image novell40.png
icon_image_alt IntranetWare 4.11
vrml_image novell40.png
statusmap_image novell40.gd2
2d_coords 100,250
3d_coords 100.0,50.0,75.0
}
serviceextinfo.cfg
define serviceextinfo{
host_name linux2
service_description Log Anomalies
TRI2 GB 1
NAGIOS
notes_url
http://webserver.localhost.localdomain/serviceinfo.pl?
host=linux2&service=Log+Anomalies
icon_image security.png
icon_image_alt Security-Related Alerts
}
Monitoring
Reporting
TRI2 GB 1
NAGIOS
Host Detail : vue des hôtes supervisés
TRI2 GB 1
NAGIOS
Service Detail : vue des services supervisés
TRI2 GB 1
NAGIOS
Status Map : cartographie du système d'informations supervisé
TRI2 GB 1
NAGIOS
2) Les vue de Reporting
Les vues de reporting permettent de créer, à la volée, des rapports sur l'activité du système
d'information, en fonction des données collectées par Nagios.
Couplé avec MRTG, les rapports pourront alors intégrer des graphiques.
TRI2 GB 1
NAGIOS
Alert History : permet d'avoir un historique des alertes
TRI2 GB 1
NAGIOS
Trends : permet de grapher des données mesurables en fonction du temps
TRI2 GB 1
NAGIOS
TRI2 GB 1
NAGIOS
C. Conclusion
Ce travail effectué nous a permis de comprendre les
concepts de la supervision dans un système
d'information et de mettre en évidence les
différentes architectures possibles dans le cadre de
la supervision. Le choix de Nagios comme logiciels
cobails nous a permis de se mettre en situation réel
en s'imaginant dans le monde professionnel. Ce
logiciel compatible et matures étant très utilisés
dans le monde professionnel. Nous pensons que ce
document nous aidera dans un futur proche si
jamais nous sommes appelés à travailler dans un
projet informatique prenant en compte la
supervision Il pourrait également aider certains
professionnels réseaux et systèmes.
TRI2 GB 1
NAGIOS