TP4 : Nagios

Transcription

TP4 : Nagios
TP4 : Nagios
Sami Evangelista, Rushed Kanawati
15 janvier 2016
Ce TP est à réaliser en binôme. Chaque binôme dispose de deux machines Linux (image Debian
(Bosec)) : une machine nms et une machine à superviser (agent). Sur la machine agent on
installe un serveur FTP qui sera supervisé par la machine nms en utilisant le logiciel n
 agios. Un
seul rapport est à rendre à la fin de la séance
Résumé
4
P
T
L’objectif de ce TP est de se familiariser avec l’outil de supervision Nagios. Nagios est un logiciel libre qui comprend deux composants : un service chargé d’interroger périodiquement les
composants à superviser (PCs, commutateurs, routeurs, . . .) et une interface web permettant
de visualiser graphiquement les résultats collectés, via une interface web.
1
Installation de Nagios
Nagios n’est pas présent dans les dépôts Debian. On ne peut donc pas l’installer via la commande
apt-get. Les fichiers sources de ce logcicle sont disponibles sur le site suivant :
http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.1.1.tar.gz
Le script suivant effectue l’installation complète du logiciel et des plugins associés :
#! / b i n / b a s h
i f [ ! $UID −eq 0 ]
then
echo ’ Le s c r i p t d o i t e t r e l a n c e en r o o t . ’
exit 1
fi
useradd nagios
groupadd nagcmd
usermod −a −G nagcmd n a g i o s
usermod −a −G nagcmd www−data
TMP DIR=$ ( mktemp −d )
cd $TMP DIR
1
2
CONFIGURATION DE NAGIOS
wget h t t p : / / prdownloads . s o u r c e f o r g e . n e t / s o u r c e f o r g e / n a g i o s / n a g i o s − 4 . 1 . 1 . t a r . gz
t a r x v z f n a g i o s − 4 . 1 . 1 . t a r . gz
cd n a g i o s − 4 . 1 . 1
. / c o n f i g u r e −−with−command−group=nagcmd
make a l l
make i n s t a l l
make i n s t a l l −i n i t
make i n s t a l l −c o n f i g
make i n s t a l l −commandmode
make i n s t a l l −webconf
htpasswd −c / u s r / l o c a l / n a g i o s / e t c / htpasswd . u s e r s nagiosadmin
/ e t c / i n i t . d/ apache2 r e l o a d
cd $TMP DIR
wget h t t p : / /www. n a g i o s −p l u g i n s . o r g / download / n a g i o s −p l u g i n s − 2 . 1 . 1 . t a r . gz
t a r x v z f n a g i o s −p l u g i n s − 2 . 1 . 1 . t a r . gz
cd n a g i o s −p l u g i n s − 2 . 1 . 1
. / c o n f i g u r e −−with−n a g i o s −u s e r=n a g i o s −−with−n a g i o s −group=n a g i o s
make
make i n s t a l l
Questions
4
P
T
1 Etudier le script d’installation et détailler la procédure d’installation effectuée par ce script.
2 Exécuter ce script sur la machine nms
3 Démarrer le service nagios
4 Ouvrir un navigateur web à l’url suivante : http://localhost/nagios. Quelles sont les machines qui sont actuellement supervisées par le service nagios ? Et quelles sont les informations
sur cet hôte qui sont collectés et affichées ?
2
Configuration de nagios
Ajout d’un hôte
5 Sur la machine agent, installer sans le démarrer, le service proftpd (un serveur ftp).
6 Nous souhaitons superviser ce serveur FTP par l’application n
 agios. Pour cela il faut modifier
la configuration du service nagios. Le fichier principale de configuration du service est :
/usr/local/nagios/etc/nagios.cfg
.
Tous les autres fichiers de configuration de nagios se trouvent dans le répertoire
/usr/local/nagios/etc. Pour caque service à superviser nous fournissons un fichier
de configuration : /usr/local/nagios/etc/objects/<service>.cfg qui doit être déclaré
dans le fichier de configuration principal (nagios.cfg) an y ajoutant une ligne :
cfg file=/usr/local/nagios/etc/objects/<service>.cfg.
2
2.1
Mise en place de notifications
2
CONFIGURATION DE NAGIOS
Créer un fichier pour la supervision du serveur ftp lancé sur la machine agent. Dans le
fichier de configuration de supervision de ce service on décrit le service à superviser par les
instructions suivantes :
def ine host {
use
host name
address
}
l i n u x −s e r v e r
s e r v e u r −f t p
<a d r e s s e −ip−du−s e r v e u r −f t p >
Redémarrer le service de nagios. Qu’observe-t-on dans l’interface web de supervision ?
7 Pour l’instant la machine serveur a été déclarée, mais le service nagios n’effectue
aucune opération de supervision sur cette machine. Dans le fichier de configuration
/usr/local/nagios/etc/objects/<service>.cfg ajouter les lignes suivantes afin de tester périodiquement la disponibilité du service FTP
define service {
use
host name
service description
check command
check interval
}
l o c a l −s e r v i c e
s e r v e u r −f t p
FTP
check ftp
1
4
P
T
Redémarrer le service de nagios. Qu’observe-t-on dans l’interface web de supervision ?
8 Sur la machine serveur : démarrer le service proftpd. Dans l’interface web, cliquer sur le lien
services. Qu’observe-t-on ?
9 Configurer le service nagios pour superviser périodiquement la disponibilité du routeur de la
salle ?
2.1
Mise en place de notifications
On souhaite maintenant que l’administrateur (vous) soit prévenu par e-mail en cas de problème
(p.ex., si un service n’est plus accessible). Pour cela on installe et on démarre sur la machine nagios
le service de mail postfix.
Créer le fichier /usr/local/nagios/etc/objects/admins.cfg qui contiendra les lignes suivantes permettant de déclarer deux contacts et un groupe d’administrateurs contenant ces deux
contacts.
define contact {
contact name
use
email
}
define contact {
contact name
use
email
}
<nom−e t u d i a n t −1>
g e n e r i c −c o n t a c t
<mail−e t u d i a n t −1>
<nom−e t u d i a n t −2>
g e n e r i c −c o n t a c t
<mail−e t u d i a n t −2>
3
3
DÉVELOPPEMENT D’UN PLUGIN
define contactgroup {
c o n t a c t g r o u p n a m e admins
members
<nom−e t u d i a n t −1>,<nom−e t u d i a n t −2>
}
Ajouter dans la déclaration du service FTP les lignes suivantes
notifications enabled
first notification delay
notification interval
1
0
0
10 Sur la machine agent : arrêer le service proftpd. Qu’observe t-on ?
3
Développement d’un plugin
Les commandes exécutées par le service nagios lors des tâches de supervision se trouvent dans
le répertoire /usr/local/nagios/libexec/. Certaines commandes classiques, dites aussi plugins,
sont fournies.
11 Donner des exemples de plugins standards.
4
P
T
Nous souhaitons ajouter un plugin qui permet de tester la latence du serveur FTP supervisé et
s’assurer que la latence est toujours inférieur à 10 m.s.
Tout script de test utilisé par nagios doit renvoyer une des trois valeurs suivantes :
— 0 (⇔ OK) si le résultat du test est positif
— 1 (⇔ avertissement) si le résultat du test est positif mais que les conditions de réalisation
sont dégradées
— 2 (⇔ critique) si le résultat du test est négatif
12 Développer un scripte check latency qui permet de tester la latence d’une machine. Le script
a deux arguments : l’adresse IP de la machine, et le seuil de latence critique (ex. 10 m.s dans
notre cas) )
13 Modifier la configuration de nagios afin de permette de tester la latence du serveur ftp.
Tester votre configuration.
14 A l’aide de la commande tc, simuler de retards de 10 ms et observer les résultats sur l’interface
de supervision.
4