Si un problme survient, le moniteur de supervision nous prvient (courriel, SMS, coup de tlphone, etc.)
ou peut entreprendre certaines actions (relancer un service, tuer un processus, demander un redmarrage, etc.).
authorized_for_all_services = indiquent quels sont les utilisateurs pouvant voir l'tat de tout les services (par dfaut, on
voit uniquement les services pour lesquels l'utilisateur est une personne de contact)
authorized_for_all_hosts = idem que ci-dessus mais pour les htes (les machines)
authorized_for_all_service_commands = indiquent quels sont les utilisateurs pouvant excuter des commandes pour
tous les services (par dfaut, on peut excuter des commandes uniquement sur les services pour lesquels l'utilisateur est
une personne de contact)
authorized_for_all_host_commands = idem que ci-dessus mais pour les htes (les machines)
Garder dans le dossier " /etc/nagios3/ " que le fichier " nagios.cfg " (c'est le seul " .cfg " ncessaire dans ce dossier),
nous allons tout mettre dans un dossier que nous crerons pour l'occasion :
su mkdir /etc/nagios3/conf.d
Dplacer tous les fichiers " .cfg " (sauf " nagios.cfg " et " cgi.cfg ") dans ce dossier.
Afin que Nagios retrouve ces petits nous allons lui indiquer que le dossier conf.d est la
o se trouvent ces fichiers de configuration. Ajouter la ligne ci-dessous au fichier
" /etc/nagios3/nagios.cfg " (idalement aux alentours de la ligne 44, pour garder le tout cohrent).
cfg_dir=/etc/nagios3/conf.d/
Ensuite commenter toutes les lignes commenant par " cfg_file ".
Aprs chaque modification d'un fichier, faites un :
sudo nagios3 -v /etc/nagios3/nagios.cfg
Les mots-cls utiliss pour la configuration d'une plage horaire se passent de commentaires.
Cet horaire indique les priodes d'activit de certains services.
Les dfinitions des plages horaires nous serviront dans la suite de la configuration.
priode de temps durant laquelle le contact peut tre notifi d'un problme
qui survient pour un hte (un serveur). Les priodes sont dfinies dans le
fichier /etc/nagios3/timeperiods.cfg.
service_notification_options = tats des services pour lesquels le contact doit tre notifi.
Les lettres qui suivent signifient :
- w : le service est en tat avertissement (warning).
- u : le service est en tat inconnu (unknown).
- c : le service est en tat critique (critical).
- r : le service est revenu dans un tat OK (recovery).
host_notification_options = tats des htes (machines) pour lesquels le contact doit tre notifi.
Les lettres qui suivent signifient :
- d : l'hte est teint (down).
- u : l'hte est injoingnable (unreachable).
- r : l'hte est nouveau accessible (recovery).
service_notification_commands = commandes utiliser pour notifier un tat pour un service.
Ces commandes sont dcrites dans le fichier /etc/nagios3/commands.cfg
host_notification_commands =
La surveillance de services et d'htes s'articule autour de plusieurs fichiers de configuration et ces fichiers
sont tous lis les uns aux autres.
Pour utiliser un test de service il faut plusieurs choses :
un greffon ou plugin utilisable en ligne de commande (le nom commence par check_ ) ,
il est trs intressant de le tester via la ligne de commande pour voir ses arguments
Un objet Nagios dfinissant la commande utilisant le plugin prcdent
un objet Nagios dfinissant le service utilisant la commande prcdente
Pour rcapituler :
script shell chekcommands.cfg services.cfg
Remarque : Les explications concernant les diffrentes options sont disponibles sur votre serveur Nagios au travers de
l'interface web. En haut gauche de l'cran, il y a un lien Documentation qui mne directement la doc. Elle explique
exhaustivement les diffrents paramtres.
Notre exemple consiste en deux htes (un serveur mail et un serveur de fichier). Le serveur mail possde un service
SMTP et un service IMAP. Le serveur de fichier possde un service NFS. Ces deux htes sont connects sur un routeurswitch qui est le lien vers l'extrieur. Nous allons tester ces diffrents htes et services.
Les htes (par dfaut le fichier est /etc/nagios3/conf.d/localhost_nagios2.cfg)
define host{
use
generic-host
host_name
router
alias
Routeur vers exterieur - connexion internet
address
192.168.0.254
check_command
check-router-alive
}
define host{
use
generic-host
host_name
fileserver
alias
Serveur fichiers
address
192.168.0.10
check_command
check-host-alive
}
define host{
use
generic-host
host_name
mail
alias
Serveur mail
address
192.168.0.20
check_command
check-host-alive
}
Pour que les notifications soient effectives pour les htes, les htes doivent tre mis dans des groupes d'htes.
Dans ces groupes d'htes, un (ou plusieurs) groupe de contact est assign.
C'est--dire que si il y a un problme sur un hte et que le degr de notification est atteint,
les contacts du groupes d'htes sont notifis. Les groupes d'htes sont dfinis dans le fichier
/etc/nagios3/conf.d/hostgroups_nagios2.cfg
Ici, nous allons dterminer deux groupes d'htes:
define hostgroup{
hostgroup_name connectique
alias
Routeurs, firewalls et gateway
contact_groups admins-router
members
router
}
define hostgroup{
hostgroup_name mail-server
alias
Serveurs de mails Ubuntu
contact_groups admins-ubuntu
members
mail1, mail2
}
Avec les groupes d'htes et les groupes de contacts,
on peut subdiviser les machines par zone gographique ou par fonctions.
De cette manire, on notifie ainsi le groupe de contact qui peut intervenir au plus vite.
L'avant dernire tape de configuration est de dfinir quels sont les services surveiller.
Dans ce cas, cela signifie que l'on passe en tat warning lorsqu'on perd plus de 20% des paquets ou
si le temps de rponse est > 100ms. On indique galement que l'on passe en tat critical lorsqu'on perd plus de 60%
des paquets ou si le temps de rponse est > 500ms. Dans tous les cas il faut se rapporter a la dfinition
de la commande et tester le script pour voir comment il se comporte.
Les lignes :
normal_check_interval
max_check_attempts
notifications if any
retry_check_interval
5
3
1
mritent peut-tre un peu d'attention. Rien de pire que les fausses alertes,
ici Nagios testera les services toutes les 5 minutes, si un des services est dans un statut non OK
(warning, critical, unknown) il va ressayer de le contacter une minute plus tard,
et ceci 3 fois de suite puis dclenchera l'alerte (envoi de mail, etc),
ds que le service rpond de nouveau OK Nagios 'rinitialise' les compteurs et reprend les checks sur l'intervalle
normale
(normal_check_interval).
Avantages :
On rduit les chances de fausse alerte : le service a t test 3 fois comme non OK.
Inconvnients :
On n'a pas d'alerte la seconde ou Nagios a dtect le problme.
############################# Dmarrage et rechargement de Nagios ################################
Pour dmarrer ou arrter Nagios, vous pouvez le faire en ligne de commande de la manire suivante :
sudo /etc/init.d/nagios3 start
sudo /etc/init.d/nagios3 stop
Pour recharger la configuration de Nagios (et en mme temps la tester), utilisez la commande suivante :
sudo /etc/init.d/nagios3 reload
Pour modifier les services surveills par Nagios en local, il faut aller dans le fichier
/usr/local/nagios/etc/objects/localhost.cfg
################################# LOGICIEL Agent de Nagios #####################################
Lors de l'installation rentrer l'adresse IP du serveur Nagios, un mot de passe ainsi que des "modules" autiliser pour les
informations transmises au serveur
Fichier de configuration de NSClient:
C:\Program Files\NSClient++\NSC.ini
Pour vrifier si l'agent fonctionne rentrer cette commande:
/usr/local/nagios/libexec/check_nt -H <adresse-ip> -v CLIENTVERSION -p 12489 -s <mot-de-passe>
Remplacer les chevrons par l'Ip et le mot de passe.
Normalement cette valeur est retourn:
NSClient++ 0.3.9.328 2011-08-16
En cas de problme vrifi bien les pare-feu Linux et Windows, redmarr le service de NSClient++ et ressayer