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