II-V-5-e) Exemple d'utilisation
II-V-5-e-1) Cas d'un routeur Cisco 1700
Tout d'abord modifions le fichier
/usr/local/nagios/etc/nagios.cfg en dé
commentant la
ligne :cfg_file=/usr/local/nagios/etc/object/switch.cfg.
Le template pour l'hôte:
define host{
name generic-router name of this host
template
use generic-host ; Inherit default values from the
generic-host template
check_period host_time ; By default, router are
monitored round the clock
check_interval 5 ; router are checked every 5
minutes
retry_interval 1 ; Schedule host check retries at
1 minute intervals
max_check_attempts 10 ; Check each switch 10 times
(max)
check_command check-host-alive ; Default command to
check if routers are "alive"
notification_period host_time ; Send notifications
at any time
notification_interval 30 ; Resend notifications
every 30 minutes
notification_options d,r ; Only send notifications
for specific host states
contact_groups admins ; Notifications get sent to
the admins by default
register 0 ; DONT REGISTER THIS - ITS JUST A
TEMPLATE
}
Explication:
Name : Nom du template;
Use : Nom du template standard
à utiliser;
Check_period : Indique les
périodes de supervision ;
Check_interval : pas de
vérification, ici 5 minutes;
Max_check_attempts : Nombre
check maximum effectué;
Check_command : Nom de la
commande à appliquer à l'hôte;
Notification_period : Indique
les périodes de notification ;
Notification_interval: Temps après lequel la
notification est renvoyée;
Notification_options: Indique le
type de notification à envoyer;
Contact_group : Le groupe
d'individu à alerter ;
Register permet d'indiquer qu'on est
en face d'un template.
Le « template »
pour le service
define service{
name
router-service ; The 'name' of this service template
use generic-host ; Inherit default values
from the generic-host template
active_checks_enabled 1 ;
Active service checks are enabled
passive_checks_enabled 1 ;
Passive service checks are enabled/accepted
notifications_enabled 1 ;
Service notifications are enabled
event_handler_enabled 1 ;
Service event handler is enabled
flap_detection_enabled 1 ;
Flap detection is enabled
failure_prediction_enabled 1 ;
Failure prediction is enabled
process_perf_data 1 ;
Process performance data
retain_status_information 1 ;
Retain status information across program restarts
retain_nonstatus_information 1 ;
Retain non-status information across program restarts
is_volatile 0 ;
The service is not volatile
check_period check_router
; The service can be checked at any time of the day
max_check_attempts 3
;
normal_check_interval 10 ; Check
the service every 10 minutes under normal conditions
retry_check_interval 2
;
contact_groups admins
;
notification_options w,u,c,r ;
notification_interval 60 ;
Re-notify about service problems every hour
notification_period
router_notification ; Notifications can be sent out at any
time
register 0 ;
C'est un template!
}
Il est en quelques points identiques au
template pour l'hôte.
« Template »
pour le contact
define contact{
name
generic-contact ; The name of this contact template
service_notification_period host_time ;
service notifications can be sent anytime
host_notification_period host_time ;
host notifications can be sent anytime
service_notification_options w,u,c,r,f,s ;
send notifications for all service states, flapping events, and scheduled
downtime events
host_notification_options d,u,r,f,s ;
send notifications for all host states, flapping events, and scheduled downtime
events
service_notification_commands
notify-service-by-email ; send service notifications via email
host_notification_commands
notify-host-by-email ; send host notifications via email
register 0
}
Ajoutons maintenant l'hôte à superviser.
define host{
use generic-router ; Indique le template à
utiliser;
host_name Cisco1700 ; Nom du
routeur
alias Routeur Internet : Plus vaste
description;
address 172.16.16.254 ; groupe auquel appartient
le routeur;
hostgroups routers ; groupe auquel appartient le
routeur;
}
Effectuons des ping sur l'hôte en question.
define service{
use generic-service ; Inherit values from a
template
host_name Cisco1700
service_description PING ; Description sur le
service
check_command check_ping!200.0,20%!600.0,60% ;
Options de la commande
normal_check_interval 5 ; Check effetué toutes les
5minutes retry_check_interval 1 ; Re-check toutes les
minutes.
}
Indiquons le contact à alerter.
define contact{
contact_name Parfait ;
Nom du contact
use generic-contact ;
alias Parfait
Eloundou
email
parfait.eloundou@groupecicam.com ; e-mail de l'administrateur
}
Vérifions notre configuration et redémarrons
Nagios :
Commande : # /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg
Si tout s'est bien passé, on devrait avoir :
...
...
Total Warnings :0
Total Errors 0
...
...
Commande : # /etc/init.d/nagios
restart
Notre serveur est prêt pour superviser notre routeur
internet. Notre maître de stage recevra un mail si le routeur est
inaccessible. De même, si 20% des paquets sont perdus lors du ping, une
alerte de WARNING est envoyée ainsi qu'une
alerte CRITICAL en cas de perte de 60% de paquets.
Cette manipulation est à effectuer à chaque fois que nous
souhaitons ajouter un hôte à superviser.
Si nous souhaitons éviter les fichiers de
configurations, nous pouvons profiter de quelques outils comme
Centreon qui donne une interface administrative
à Nagios. L'avantage ici est que plusieurs personnes pourront
administrer nagios via Centreon.
|