Vous êtes sur la page 1sur 33

Nagios

Outil de supervision réseau

Ces matériaux sont sous licence Creative Commons Attribution-NonCommercial 4.0 International license
(http://creativecommons.org/licenses/by-nc/4.0/)
Introduction


Probablement le logiciel de supervision
réseau open source le plus utilisé

Interface Web permettant d'afficher l'état,
l'historique de navigation, la planification

des temps d'arrêt, etc.
Envoie des alertes par e-mail. Peut être
configuré pour utiliser d'autres
mécanismes, par exemple SMS
Introduction

Nagios surveille activement la


disponibilité

•des Hôtes (périphériques)

•et des Services


Nagios : Vue Générale
Vue des hôtes
Vue des
services
Caractéristiques
Utilise la topologie pour déterminer les
dépendances
− Différencie ce qui est en panne vs. ce qui
est inaccessible. Evite les vérifications
inutiles et l'envoi d'alarmes redondantes
Vous permet de définir comment envoyer
les notifications en fonction des
combinaisons de:
− Contacts et listes de contacts
− Périphériques et groupes de périphériques
− Services et groupes de services
− Horaires définis par personnes ou groupes.
− L'état d'un service.
Les plugins

Les plugins sont utilisés pour vérifier les


services et les périphériques :
− L’architecture de Nagios est assez simple pour que l’
écriture de nouveaux plugins soit assez facile dans le
langage de votre choix.
− Il y a beaucoup, beaucoup de plugins disponible (des
milliers).
http://exchange.nagios.org/

http://nagiosplugins.org/
Les plugins préinstallés pour Ubuntu
/usr/lib/nagios/plugins

/etc/nagios-plugins/config
Les plugins préinstallés pour FreeBSD
/usr/local/libexec/nagios
Comment fonctionnent les Checks
Périodiquement Nagios appelle un plugin pour tester l'état
de chaque service. Les réponses possibles sont :
− OK
− WARNING
− CRITICAL
− UNKNOWN
Si un service n'est pas OK, il passe à un état d'erreur
"soft". Après un certain nombre de tentatives (3 par
défaut), il passe à un état d'erreur "hard". À ce stade, une
alerte est envoyée..
Vous pouvez également déclencher des gestionnaires
d'événements externes en fonction de ces transitions
d'état.
Comment fonctionnent les Checks (Suite)
Paramètres
− Intervalle de checking normal
− Intervalle de réessaie (ç-à-d quand ce n’est pas
OK)
− Nombre maximum de tentatives
− Délai d'exécution des checks
− Délai d'envoi des notifications
Planification
− Nagios étale ses checks sur toute la période
pour uniformiser la charge de travail
− L’interface Web indique quand le prochain check
est planifiée
Hiérarchie : le concept de parents
Les hôtes peuvent avoir des parents :
• Le parent d’un PC connecté à un switch
serait le switch.
• Nous permet de spécifier les dépendances
entre les périphériques.
• Évite d'envoyer des alarmes lorsque le parent
ne répond pas.
• Un nœud peut avoir plusieurs parents
(double hébergement).
Point de vue du réseau

• L’emplacement de votre serveur Nagios


déterminera votre point de vue du
réseau.
• Le serveur Nagios devient la “racine” de
votre arbre de dépendance.
Point de vue du réseau
Arborescence réduite de vue en
réseau
Surveillance d'un hôte unique
localhost.cfg
define host { host_name pc1
alias pc1 in group 1 address pc1.ws.nsrc.org use
generic-host
}
copier les paramètres à partir de ce template

● C'est une configuration minimale fonctionnel


●Vous ne faites que pinguer l'hôte ; Nagios vous
avertira que vous ne surveillez aucun service
● Le nom du fichier peut être n'importe quoi se
terminant .cfg
● Organisez vos périphériques comme bon vous
semble (par exemple: hôtes semblables dans le
même fichier)
Remplacement des valeurs par défaut
Tous les paramètres peuvent être remplacés par hôte
localhost.cfg
define host { host_name
alias address use pc1
notification_interval pc1 in group 1
contact_groups pc1.ws.nsrc.org
} generic-host
120
admins,managers
Définition des services : voie directe
Checking des services

● La combinaison hôte + service est un


identifiant unique pour le contrôle de
service, par ex.
● “pc1,HTTP”
● “pc1,SSH”
● “pc2,HTTP”
● “pc2,SSH”
● check_command pointe sur le plugin
● service template spécifie la fréquence à
laquelle la vérification est effectuée, ainsi
que les destinataires et le moment de
l'alerte.
Templates de services génériques
define service{
name generic-service
active_checks_enabled 1
passive_checks_enabled 1
parallelize_check 1
obsess_over_service 1
check_freshness 0
notifications_enabled 1
event_handler_enabled 1
flap_detection_enabled 1
failure_prediction_enabled 1
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
notification_interval 0
is_volatile 0
check_period 24x7
normal_check_interval 5
retry_check_interval 1
max_check_attempts 4
notification_period 24x7
notification_options w,u,c,r
contact_groups admins
register 0 ; NE PAS ENREGISTRER CETTE DÉFINITION
}

template.cfg
Remplacement des valeurs par défaut
Encore une fois, les paramètres peuvent être
remplacés par service
services.cfg
define service {
host_name pc1 HTTP
service_description check_http
check_command generic-service
use contact_groups admins,managers
3
max_check_attempts
}
Répéter les checkings de service

● Nous surveillons souvent un service


identique sur plusieurs hôtes
● Pour éviter les doublons, un meilleur
moyen consiste à définir un checking
de service pour tous les hôtes d’un
hostgroup
Configuration de la topologie
define host {
host_name pc1 pcs.cfg
alias pc1 in group 1
address pc1.ws.nsrc.org
use generic-host
parents rtr1 hôte parent
}

● Cela signifie que "pc1 est du côté éloigné de "rtr1"


● Si rtr1 tombe en panne, pc1 est «inaccessible», pas
«en panne»
● Empêche une cascade d'alertes si rtr1 tombe en
panne
● Permet également à Nagios de dessiner une bonne
carte d'état
Autre vue de la configuration
RTR
define host {
use generic-host
host_name rtr
alias Gateway Router
address 10.10.0.254 }
SW
define host {
use generic-host
host_name sw
alias Backbone Switch
address 10.10.0.253
parents rtr }
RTR3
define host { generic-host
use
rtr3
host_name
alias router 3
address 10.10.3.254
parents sw }
PC11…
Les Notifications Out of Band (OOB)
Élément critique à retenir : un SMS ou un
système de messagerie indépendant de
votre réseau.
− Vous pouvez utiliser un téléphone portable
connecté au serveur Nagios ou un dongle
USB avec carte SIM
gammu: http://wammu.eu/
− Vous pouvezhttp://www.gnokii.or
gnokii: utiliser des packages tels que:
sms-tools: http://smstools3.kekekasvi.com/
g/

J'utilise un Raspberry Pi avec Kannel :


http://www.kannel.org/
Options de notification d'hôte
Etat de l’hôte :
Lors de la configuration d'un hôte, vous
pouvez configurer une notification pour les
conditions suivantes :
– d: DOWN
– u: UNREACHABLE
– r: RECOVERY
– f: FLAPPING (début / fin)
– s: SCHEDULED DOWNTIME (début / fin)
– n: NONE
Options de notification de service
Etat de service:
Lors de la configuration d'un service, vous pouvez
configurer une notification pour les conditions
suivantes :
– w: WARNING
– c: CRITICAL
– u: UNKNOWN
– r: RECOVERY
– f: FLAPPING (début / fin)
– s: SCHEDULED DOWNTIME (début / fin)
– n: NONE
Fichiers de configuration
Périodes
Ceci définit les périodes de base qui
contrôlent les checkings, les
notifications, etc.
− Par défaut: 24 x 7
− Ajustez au besoin, telle que la semaine de travail
seulement.
− Configurer une nouvelle période pour “en dehors
des heures régulières”, etc
# '24x7'
define timeperiod{
timeperiod_name 24x7
alias 24 Hours A Day, 7 Days A Week
sunday 00:00-24:00
monday
tuesday 00:00-24:00
wednesday 00:00-24:00
thursday 00:00-24:00
friday 00:00-24:00
saturday
00:00-24:00
}
00:00-24:00
Plus d'exemples de captures d'écran

Beaucoup d'autres exemples de


captures d'écran de Nagios
sont disponibles ici :

http://www.nagios.org/about/screenshots
Crédit

Le document original appartient à:


Network Startup Resource Center
www.nsrc.org

Vous aimerez peut-être aussi