TP2 : Configuration de Nagios

Transcription

TP2 : Configuration de Nagios
TP2 : Configuration de Nagios
Table des matières
TP2 : Configuration de Nagios
2.1 - Inventaire après l’installation de Nagios
2.2 - Configuration du fichier principal : nagios.cfg
2.3 - Configuration des CGI : cgi.cfg
2.4 - Configuration des ressources externes : resource.cfg
2 .5 - Configuration des objets
2.5.1 - Définir des périodes de temps
2.5.2 - Définir des contacts et groupes de contacts
2.5.3 - Définir des hôtes et des groupes d’hôtes
Objectif : Ce document va expliquer comment configurer l'outil de monitoring Nagios 4.x.
INFO : C’est juste de l’information mais qui peut être nécessaire à la compréhension du TP
IMPORTANT : Information importante à prendre en compte
TP à Faire : Travaux à réaliser
1
LEVEAU Stanislas
Configuration de Nagios
TP2 : Configuration de Nagios
2.1 - Inventaire après l’installation de Nagios
Après avoir installé Nagios, vous allez le configurer. Vous êtes dans une entreprise, plusieurs
serveurs à superviser (Linux, Windows), plusieurs personnes à contacter en cas de défaillances, des
périodes d’astreinte…
Attention : A l’installation de Nagios, celui-ci est pré-configuré, c’est à dire que les fichiers de
configuration sont pré-renseignés. Vérifier lorsque vous allez les paramétrer, que certains paramètres
n’existent pas déjà (exemple : période de temps 24/24). SURTOUT NE PAS MODIFIER L’EXISTANT
DANS LES FICHIERS DE CONFIGURATION.
- Vérifier la présence de ces répertoires :
/usr/local/nagios/etc contient les fichiers de configuration.
/usr/local/nagios/bin/nagios est l’exécutable Nagios.
/usr/local/nagios/libexec/ contient les modules de base de Nagios (les scripts).
/usr/local/nagios/sbin/ contient les scripts CGI utilisés par Nagios.
2.2 - Configuration du fichier principal : nagios.cfg
- Définir l’arborescence des fichiers de configuration (déjà existante) :
Fichier nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
2
LEVEAU Stanislas
Configuration de Nagios
N’oubliez pas de définir les fichiers que vous ajouterez par la suite à la configuration.
Exemple : serveurs-linux.cfg…ce qui donnera une ligne comme celle-ci à ajouter au fichier nagios.cfg :
cfg_file=/usr/local/nagios/etc/objects/serveurs-linux.cfg
2.3 - Configuration des CGI : cgi.cfg
Nagios se base sur une interface Web pour générer ses rapports. Cette interface Web est générée
dynamiquement par des scripts CGI. Le fichier cgi.cfg a pour but de configurer ces CGI.
- Définir l’emplacement du fichier nagios.cfg :
Fichier cgi.cfg
main_config_file=/usr/local/nagios/etc/nagios.cfg
- Définir l’URL avec laquelle nous allons accéder au serveur Web de Nagios.
Si par exemple vous voulez y accéder à l’adresse http://localhost/nagios, il faut éditer l’option :
Fichier cgi.cfg
url_html_path=/nagios
2.4 - Configuration des ressources externes : resource.cfg
Nagios utilise un système de plugins (check_http, check_ping….). Le fichier resource.cfg sert à les
localiser. Le fichier fourni en standard défini le répertoire d’accueil des plugins standards :
Fichier resource.cfg
$USER1$=/usr/local/nagios/libexec
Libre à vous d’ajouter d’autres répertoires de plugins.
Exemple : pour vos plugins autres que ceux de la distribution officielle :
Fichier resource.cfg
$USER2$=/usr/local/nagios/plugins-perso
3
LEVEAU Stanislas
Configuration de Nagios
2 .5 - Configuration des objets
2.5.1 - Définir des périodes de temps
Vous allez définir des périodes de temps pendant lesquelles les notifications ou les contrôles seront
actifs.
-
Une période 24/24, 7/7 (période déjà existante dans le fichier) :
Fichier timeperiods.cfg
define timeperiod{
timeperiod_name
alias
sunday
monday
tuesday
wednesday
thursday
friday
saturday
}
-
24x7
24 sur 24, 7 sur 7
00:00-24:00
00:00-24:00
00:00-24:00
00:00-24:00
00:00-24:00
00:00-24:00
00:00-24:00
Une période pour les horaires de bureau :
Fichier timeperiods.cfg
define timeperiod{
timeperiod_name
alias
monday
tuesday
wednesday
thursday
friday
}
-
eme
Une 3
horaires_bureau
Les horaires de bureau
08:00-19:00
08:00-19:00
08:00-19:00
08:00-19:00
08:00-19:00
période pour les astreintes :
Fichier timeperiods.cfg
define timeperiod{
timeperiod_name
alias
sunday
monday
tuesday
wednesday
thursday
friday
saturday
}
4
LEVEAU Stanislas
astreinte
Periode d astreinte
07:30-23:30
07:30-09:00,18:00-23:30
07:30-09:00,18:00-23:30
07:30-09:00,18:00-23:30
07:30-09:00,18:00-23:30
07:30-09:00,18:00-23:30
07:30-23:30
Configuration de Nagios
2.5.2 - Définir des contacts et groupes de contacts
Vous allez définir les différents contacts qui recevront les notifications Nagios et les inclure dans un
groupe.
- Définir un template contact :
Fichier templates.cfg
define contact {
name
service_notification_period
host_notification_period
service_notification_options
host_notification_options
service_notification_commands
host_notification_commands
register
}
generic-contact-formation
24x7
24x7
w,u,c,r
d,u,r
notify-service-by-email
notify-host-by-email
0
- Définir des contacts :
Fichier contacts.cfg
define contact {
contact_name
use
alias
email
}
admin1
generic-contact-formation
Admin systeme
Adresse Mail1
define contact {
contact_name
use
alias
email
}
admin2
generic-contact-formation
Admin systeme
Adresse Mail2
Explication des différents paramètres de l’objet contact :




contact_name définit le nom court qui permet à Nagios de l'identifier
alias est le nom long où l'on peut mettre plus d'informations.
service_notification_period pointe vers une "timeperiod" de Nagios pendant laquelle ce
contact doit être notifié pour les alertes sur les services.
host_notification_period remplit la même fonction mais pour les alertes sur les hosts.
5
LEVEAU Stanislas
Configuration de Nagios





service_notification_options définit sur quels critères d'états le contact doit être notifié. Cela
correspond à:
o w : warning, état correspondant au seuil warning
o u : unknown, état inconnu
o c : critical, état correspondant au seuil critique
o r : recovery, état correspondant à un retour à la normale du service
host_notification_options remplit la même fonction pour les hosts. Avec les critères
suivants:
o d : down, état correspondant à une absence de réponse
o u : unreachable, état correspondant à un host qui ne peut être joint à cause d'un host
parent qui est down. Voir la définition des hosts avec leurs "parents"
o r : recovery, état correspondant au retour à la normale du host
service_notification_commands pointe vers une commande définie dans Nagios qui va
permettre de notifier le contact en cas d'alerte sur un service. Cette commande est définie par
défaut dans Nagios. Elle utilise des macros internes de Nagios pour s'ajuster à chaque
service.
host_notification_commands remplit le même rôle mais pour les alertes sur les hosts.
email définit l'adresse email du contact
- Définir un groupe de contacts :
Fichier contacts.cfg
define contactgroup {
contactgroup_name
alias
members
}
groupe-systeme-reseau
Administrateur systeme
admin1, admin2
2.5.3 - Définir des hôtes et des groupes d’hôtes
Vous allez définir les différents hôtes à superviser et les inclure dans des groupes d’hôtes.
- Définir des templates pour les hôtes :
Fichier templates.cfg
define host{
name
alias
obsess_over_host
check_freshness
event_handler_enabled
flap_detection_enabled
process_perf_data
retain_status_information
retain_nonstatus_information
notifications_enabled
register
}
6
LEVEAU Stanislas
generic-host-formation
generic-host-formation
1
1
1
1
1
1
1
1
0
Configuration de Nagios
er
- Définir un autre template qui utilisera le 1 template :
Fichier templates.cfg
define host{
name
use
alias
check_command
check_interval
retry_interval
max_check_attempts
check_period
contact_groups
notification_interval
notification_period
notification_options
register
}
generic-server-linux
generic-host-formation
generic-server-linux
check-host-alive
5
1
3
24x7
groupe-systeme-reseau
60
24x7
d,u,r
0
Je vous invite à bien lire les explications ci-dessous sur les différents paramètres de ce template
pour bien comprendre le fonctionnement de Nagios.
PS : vous pouvez définir un template différent pour les serveurs Windows et le matériel réseau.
Explication des différents paramètres de l’objet « host » :















name définit le nom court de notre template qui va permettre à Nagios de l'identifier.
check_command pointe vers la commande qui permet à Nagios de vérifier l'état du host
max_check_attempts définit le nombre maximum d'essais que va faire Nagios avant de
considérer que le host a changé d'état
check_interval définit l'intervalle normal entre deux tests
active_checks_enabled active les vérifications actives de Nagios. Cela signifie que Nagios
exécutera la check_command définie pour le host
passive_checks_enabled désactive les vérifications passives de Nagios. Les vérifications
passives correspondent à des états qui sont remontés à Nagios par des scripts externes. Les
résultats arrivent par le fichier de commande externe avec une syntaxe précise.
check_period pointe vers une timeperiod définit dans Nagios pour savoir quand ce host doit
être vérifié
obsess_over_host désactive l'exécution de la commande OCSP de Nagios. Cette
commande est principalement utilisée dans le cas où plusieurs Nagios sont configurés en
monitoring distribué
check_freshness désactive la vérification de la "fraicheur" des résultats. Cela est utilisé dans
le cas où les checks sur le host ne sont que passifs
event_handler_enabled désactive l'exécution du event handler correspondant au host
flap_detection_enabled désactive la détection des hosts qui font des "up/down" trop souvent
process_perf_datav désactive la gestion des éléments de performance
retain_status_information active la conservation de l'état des hosts au cours des
redémarrages de Nagios
retain_nonstatus_information active la conservation des états secondaires des hosts au
cours des redémarrages de Nagios. Cela inclut si on a changé les notifications ou les checks
depuis l'interface web par exemple
contact_groups pointe vers le contactgroup de Nagios qui doit être notifié en cas
d'événement sur le host
7
LEVEAU Stanislas
Configuration de Nagios





notifications_enabled active les notifications pour le host
notification_interval définit l'intervalle d'envoi des notifications
notification_period pointe vers la timeperiod de Nagios pendant laquelle les notifications
doivent être envoyées.
notification_options définit les états sur lesquels Nagios doit notifier pour ce host. Les états
possibles sont:
o d : down, état correspondant à une absence de réponse
o u : unreachable, état correspondant à un host qui ne peut être joint à cause d'un host
parent qui est down. Voir la définition des hosts avec leurs "parents"
o r : recovery, état correspondant au retour à la normale du host
register désactive l'enregistrement en tant que host de notre template. Ce paramètre est très
important, sinon Nagios l'interprétera comme un host.
Vous allez définir un groupe d’hôtes pour regrouper les serveurs Linux.
- Créer un fichier « serveurs-linux.cfg » (penser à le déclarer dans le fichier
« nagios.cfg ») :
Fichier serveurs-linux.cfg
define hostgroup{
hostgroup_name
alias
}
Groupe-serveurs-linux
Groupe-serveurs-linux
- Définir les hôtes Linux (serveurs distants) et les attribuer à un groupe d’hôtes :
Fichier serveurs-linux.cfg
define host{
host_name
use
alias
address
hostgroups
}
serveur-linux
generic-server-linux
serveur-linux
Adresse IP
+Groupe-serveurs-linux
Compte Rendu-1 : Créer également un hôte pour le serveur de messagerie de l’Université
de Rennes1 et l’intégrer dans un groupe d’hôtes différent du groupe Groupe-serveurs-linux.
Vous allez définir un groupe d’hôtes pour regrouper les serveurs Windows.
- Créer un fichier serveurs-windows.cfg (penser à le déclarer dans le fichier nagios.cfg).
Fichier serveurs-windows.cfg
define hostgroup{
hostgroup_name
alias
}
8
LEVEAU Stanislas
Groupe-serveurs-windows
Groupe-serveurs-windows
Configuration de Nagios
- Définir des hôtes Windows et les attribuer à un groupe d’hôtes :
Fichier serveurs-windows.cfg
define host{
host_name
use
alias
address
hostgroups
}
serveur-windows
generic-server-windows
serveur-windows
Adresse IP
+Groupe-serveurs-windows
- Vérifier si la configuration est correcte :
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- Redémarrer nagios :
# /etc/init.d/nagios stop
# /etc/init.d/nagios start
- Vérifier dans l’interface de Nagios que vous visualisez bien les hôtes :
http://localhost/nagios
Compte Rendu-2 : A quel endroit de sa configuration Nagios contrôle-t-il l’état de l’hôte
pour savoir s’il est UP ou DOWN? (Détailler l’explication avec des extraits de fichiers de
configuration).
Maintenant que l’outil de supervision Nagios est installé et configuré, nous allons créer des services.
Suite : 3
9
ème
partie
LEVEAU Stanislas
Configuration de Nagios

Documents pareils

Installation et Configuration de Nagios Notes

Installation et Configuration de Nagios Notes la définition gw-rtr au début de ce fichier, elle devra être modifiée pour ressembler à: define host { use host_name alias address parents

Plus en détail

Installation et configuration de Nagios

Installation et configuration de Nagios communiquer avec ce contact. L’exemple qui se trouve dans le fichier est le suivant: Exemple 3-1. Un contact define contact{ contact_name alias service_notification_period host_notification_period ...

Plus en détail

TP Nagios - The Home of Romain Raveaux

TP Nagios - The Home of Romain Raveaux localhost.cfg vous avez ces périodes et choisissez celle que vous voulez utiliser 24x7 dans notre cas) # '24x7' timeperiod definition define timeperiod{ timeperiod_name 24x7 alias 24 Hours A Day, 7...

Plus en détail

Nagios 3

Nagios 3 Test d’une remontée SNMP sur la carte réseau du serveur DNS primaire : /etc/nagios-plugins/config/snmp_int.cfg define command {

Plus en détail

Installation et Configuration de Nagios Notes : -----

Installation et Configuration de Nagios Notes : ----- et allez à la fin du fichier. Créez la définition de groupe d'hôtes suivante : # Une liste de machines qui offrent un service SNMP, sur lesquelles

Plus en détail