NAGIOS 4.01 Installation sur Debian 7.1



Documents pareils
SOLUTION DE SUPERVISION SYSTEME ET RESEAU

Monitoring & Surveillance SLIM CHAKROUN (ENSI) EMNA BEN HADJ YAHIA (RT3) SAFA GALLAH (RT3)

INSTALLATION DE NAGIOS 2.10 et CENTREON sous Debian ETCH 4.0r1

Nagios 3 pour la supervision et la métrologie

Client windows Nagios Event Log

TD4 - Supervision et métrologie des réseaux. 1 Supervision des applications et services réseaux et des ressources locales

La supervision avec NAGIOS

SUJET : «Administration et supervision du réseau Par NAGIOS»

JOMARON Sébastien BTS SIO 2012/2014. Titre de l activité: Surveiller des hôtes et des services avec NAGIOS

NRPE. Objectif. Documentation. Procédures

Surveiller votre réseau avec Nagios

Installation de Zabbix

Fully Automated Nagios

Documentation technique Nagios

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

NACIRI Mehdi. Rapport de stage : Mise en place d un moyen pour anticiper les pannes des serveurs de l IUT. Promotion BTS SIO Option SISR

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Installation et configuration d OCS/GLPI sur un Serveur Debian

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Tutoriel compte-rendu Mission 1

SUPERVISION DE RÉSEAU AVEC NAGIOS

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

OCS Inventory & GLPI

Installer un domaine DNS

Présentation de l outil d administration de réseau Nagios

Mise en place d un système de supervision Open source.

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

Architecture de la plateforme SBC

Installation de VirtualPOPC-1 sur Ubuntu Server LTS 64bits

Installer OpenJabNab dans une framboise (un Raspberry Pi)

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Eyes Of Network 4.0. Documentation d installation et de configuration

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Installation d'un serveur sftp avec connexion par login et clé rsa.

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Serveur de messagerie sous Debian 5.0

Table des matières 1. Chapitre 1 Introduction à Nagios et la supervision

Installation du serveur WEB Apache ( MySQL, PHP) sous Debian 7.

Ajout et Configuration d'un nouveau poste pour BackupPC

Projet de synthèse. Monitoring Réseau. Titre Visé: Technicien Supérieur Gestionnaire Exploitant des Ressources Informatiques

Installation d'un serveur FTP géré par une base de données MySQL

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Guide Installation Serveur Extensive Testing

Projet Administration Réseaux

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

Raspberry pi : Développer une petite application web sur Raspberry

Guide Installation Serveur Extensive Testing

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

NetCrunch 6. Superviser

MANUEL D INSTALLATION D UN PROXY

Installer un serveur web de développement avec VirtualBox

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Configurer la supervision pour une base MS SQL Server Viadéis Services

1 Démarrage de Marionnet

Configuration de Zabbix

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006

Les différentes méthodes pour se connecter

Guide de démarrage Intellipool Network Monitor

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Installation d ORACLE 10g sous Debian Etch

Installation des outils OCS et GLPI

PPE GESTION PARC INFORMATIQUE

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Réaliser un inventaire Documentation utilisateur

Syslog et outils de supervision

ZABBIX est distribué sous licence GNU General Public License Version 2 (GPL v.2).

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

Tour d'horizon Bureau client Daemon's Aller plus loin

CASE-LINUX MAIL - ROUNDCUBE

Projet Semestre2-1SISR

TP Service HTTP Serveur Apache Linux Debian

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Procédure d'installation

TP PLACO. Journées Mathrice d'amiens Mars 2010

Document d'installation FAN 2.1

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Compte rendu d'activité PTI n 2

REPARTITION DE CHARGE LINUX

PRO CED U RE D I N STALLATI O N

Supervision avec OCS Inventory NG

Vade mecum installation et configuration d une machine virtuelle V5.1.0

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

Gestion et Supervision de Réseau NAGIOS

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Recherche d indicateurs et de tendances via des plugins pour Nagios. groupe Quasar IN2P3 Le 11/09/2014

SUPERVISION RESEAU AVEC NAGIOS

Statistiques réseau et système avec CACTI

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

GUIDE D INSTALLATION. Portaneo Enterprise Portal version 4.0

Transcription:

NAGIOS 4.01 Installation sur Debian 7.1 1 : Préambule (wiki) 2 : Installation Nagios (avec l'aide de Djibril de «developpez.com») 3 : Configuration de Nagios 4 : Configuration des objets et ajouts de clients Nagios 5 : Superviser des services 6 : Gestionnaire d évènements 7 : Les graphs pnp4 8 : Module «check_mk» (Non réussi) 1 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Préambule Nagios (anciennement appelé Netsaint) est une application permettant la surveillance système et réseau. Elle surveille les hôtes et services spécifiés, alertant lorsque les systèmes ont des dysfonctionnements et quand ils repassent en fonctionnement normal. C'est un logiciel libre sous licence GPL. C'est un programme modulaire qui se décompose en trois parties : 1. Le moteur de l'application qui vient ordonnancer les tâches de supervision. 2. L'interface web, qui permet d'avoir une vue d'ensemble du système d'information et des possibles anomalies. 3. Les sondes (appelées greffons ou plugins), une centaine de mini programmes que l'on peut compléter en fonction des besoins de chacun pour superviser chaque service ou ressource disponible sur l'ensemble des ordinateurs ou éléments réseaux du SI. Suite au manque de réactivité du développeur principal de Nagios et de sa volonté de ne plus diffuser tous les modules sous licence Libre, certains développeurs actifs sur le projet ont fait diverger Nagios pour créer Icinga. Possibilités Superviser des services réseaux : (SMTP, POP3, HTTP, NNTP, ICMP, SNMP, LDAP, etc.) Superviser les ressources des serveurs (charge du processeur, occupation des disque durs, utilisation de la mémoire paginée) et ceci sur les systèmes d'exploitation les plus répandus. Interface avec le protocole SNMP. La supervision à distance peut utiliser SSH ou un tunnel SSL (notamment via un agent NRPE). Les plugins sont écrits dans les langages de programmation les plus adaptés à leur tâche : scripts shell (Bash, ksh, etc.), C++, Perl, Python, Ruby, PHP, C#, etc. La vérification des services se fait en parallèle. Possibilité de définir une hiérarchie dans le réseau pour pouvoir faire la différence entre un serveur en panne et un serveur injoignable. La remontée des alertes est entièrement paramétrable grâce à l'utilisation de plugins (alerte par courrier électronique, SMS, etc.). Acquittement des alertes par les administrateurs. Gestion des escalades pour les alertes (une alerte non acquittée est envoyée à un groupe différent). Limitation de la visibilité, les utilisateurs peuvent avoir un accès limité à quelques éléments. Capacité de gestion des oscillations (nombreux passages d'un état normal à un état d'erreur dans un temps court). Créer ses propres plugins, dans le langage désiré. Il suffit de respecter la norme Nagios des Codes retour o 0 OK (tout va bien) o 1 WARNING (le seuil d'alerte est dépassé) o 2 CRITICAL (le service a un problème) o 3 UNKNOWN (impossible de connaître l'état du service) Les possibilités de tests deviennent donc infinies, il suffit d'écrire tout plugin qui n'existerait pas déjà sur les sites spécialisés. 2 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Installation Dans ce TP, je vais utiliser trois machines virtuelles, deux Debian 7.1 dont notre superviseur Nagios et un Windows Seven. I : Prérequis Nous avons besoin d'installer quelques bibliothèques utiles au bon fonctionnement de Nagios, mais surtout à son installation, compilation Nous devons installer apache2, php et gd, utiles pour la future interface de Nagios. Il nous faut aussi make et gcc pour les compilations et SNMP pour superviser les routeurs, switch root@nagios:~# apt-get update root@nagios:~# apt-get upgrade root@nagios:~# apt-get install apache2 libapache2-mod-php5 php5-gd php5 make gcc buildessential wget libgd-gd2-perl libgd2-dev libgd2-xpm libgd2-xpm-dev libnet-snmp-perl libssl-dev snmp daemon II : Nagios A : Comptes et groupes utilisateurs Création d'un utilisateur «nagios» ayant pour mot de passe «nagios» et appartenant à un groupe nommé «nagios». root@nagios:~# groupadd nagios Création du compte utilisateur «nagios» que nous allons mettre dans le groupe «nagios» root@nagios:~# useradd -m -g nagios nagios Attribution d'un mot de passe à l'utilisateur «nagios». Ce mot de passe est «nagios». root@nagios:~# passwd nagios J'ai mis «nagios» comme mot de passe Création d'un groupe «nagcmd» permettant l'exécution des commandes externes à travers l'interface Web. Rajout des utilisateurs Nagios et Apache à l'intérieur du groupe «nagcmd». root@nagios:~# groupadd nagcmd root@nagios:~# usermod -g nagcmd nagios root@nagios:~# usermod -g nagcmd www-data 3 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

B : Téléchargement Création d'un répertoire /nagios/download dans lequel nous déposerons les archives à installer. root@nagios:~# mkdir -p /nagios/download root@nagios:~# cd /nagios/download root@nagios:/nagios/download# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.1.tar.gz root@nagios:/nagios/download# wget http://www.nagios-plugins.org/download/nagios-plugins- 1.5.tar.gz root@nagios:/nagios/download# ls -alh total 4,0M drwxr-xr-x 2 root root 4,0K oct. 15 11:47. drwxr-xr-x 3 root root 4,0K oct. 15 11:45.. -rw-r--r-- 1 root root 1,7M sept. 20 22:48 nagios-4.0.1.tar.gz -rw-r--r-- 1 root root 2,4M oct. 2 17:27 nagios-plugins-1.5.tar.gz C: Compilation Il faut extraire le code source de l'archive de Nagios dans un premier temps. root@nagios# cd /nagios/download/ root@nagios# tar -xzf nagios-4.0.1.tar.gz Puis exécuter le script de configuration en lui précisant le nom du groupe créé précédemment. root@nagios:/nagios/download # cd nagios-4.0.1/ root@nagios:/nagios/download/nagios #./configure --with-command-group=nagcmd Compilons le code sources de Nagios. root@nagios:/nagios/download/nagios-4.0.1 # make all Si «make» n'est pas trouvé, installez-le et recommencez. Installons les scripts de démarrage. root@nagios:/nagios/download/nagios-4.0.1# make install-init /usr/bin/install -c -m 755 -d -o root -g root /etc/init.d /usr/bin/install -c -m 755 -o root -g root daemon-init /etc/init.d/nagios *** Init script installed *** Le fichier «/etc/init.d/nagios» est créé. 4 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Installons les fichiers de configuration. Les fichiers seront automatiquement installés dans le répertoire /usr/local/nagios/etc. root@nagios:/nagios/download/nagios-4.0.1# make install-config /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc /usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/etc/objects /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/nagios.cfg /usr/local/nagios/etc/nagios.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/cgi.cfg /usr/local/nagios/etc/cgi.cfg /usr/bin/install -c -b -m 660 -o nagios -g nagios sample-config/resource.cfg /usr/local/nagios/etc/resource.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/templates.cfg /usr/local/nagios/etc/objects/templates.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/commands.cfg /usr/local/nagios/etc/objects/commands.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/timeperiods.cfg /usr/local/nagios/etc/objects/timeperiods.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/localhost.cfg /usr/local/nagios/etc/objects/localhost.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/windows.cfg /usr/local/nagios/etc/objects/windows.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/printer.cfg /usr/local/nagios/etc/objects/printer.cfg /usr/bin/install -c -b -m 664 -o nagios -g nagios sample-config/template-object/switch.cfg /usr/local/nagios/etc/objects/switch.cfg *** Config files installed *** Remember, these are *SAMPLE* config files. You'll need to read the documentation for more information on how to actually define services, hosts, etc. to fit your particular needs. Installons et configurons les permissions. :/nagios/download/nagios-4.0.1# make install-commandmode /usr/bin/install -c -m 775 -o nagios -g nagcmd -d /usr/local/nagios/var/rw chmod g+s /usr/local/nagios/var/rw *** External command directory configured *** À ce stade, il ne faut surtout pas démarrer Nagios. 5 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

D : Configuration de Nagios À la première installation, et à chaque fois que vous ferez des modifications de Nagios ou que vous aurez besoin de redémarrer Nagios, assurez-vous que tous les fichiers de configuration sont conformes. Pour cela, lancez toujours cette commande. # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Cela devrait se finir comme ça Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check Gestion du démarrage du serveur Il est important que Nagios et Apache2 puissent être lancés au démarrage du serveur. Pour configurer cela, voici ce qu'il faut faire : # update-rc.d nagios defaults Il se peut que nous obtenions des messages d'erreurs, dans le fichier «/etc/init.d/nagios», il manque deux lignes essentielles : # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 Ces deux lignes permettent de donner le rang de démarrage et d'arrêt du script nagios. Voici notre entête du fichier avant modification : Faisons une sauvegarde et modifions notre fichier : cp /etc/init.d/nagios /nagios/download/nagios.old Voici notre entête du fichier après la modification : #!/bin/sh # Nagios Startup script for the Nagios monitoring daemon # # chkconfig: - 85 15 # description: Nagios is a service monitoring system # processname: nagios # config: /etc/nagios/nagios.cfg # pidfile: /var/nagios/nagios.pid # ### BEGIN INIT INFO # Provides: nagios # Required-Start: $local_fs $syslog $network 6 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

# Required-Stop: $local_fs $syslog $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop Nagios monitoring server # Description: Nagios is is a service monitoring system ### END INIT INFO # Source function library.. /etc/rc.d/init.d/functions Maintenant, relançons l'utilitaire «update-rc.d» : # update-rc.d nagios defaults Maintenant, démarrons Nagios : /etc/init.d/nagios start Sous Debian, avec la version actuelle de Nagios, son démarrage est problématique et nous avons des messages d'erreurs : root@supervision:/nagios/download/nagios-plugins-1.5# /etc/init.d/nagios start /etc/init.d/nagios: 22:.: Can't open /etc/rc.d/init.d/functions Il faut modifier le fichier de démarrage du service nagios # gedit /etc/init.d/nagios Utilisez les touches «CTRL F» pour rechercher les lignes qui seront à modifier Le fichier functions ne se trouve pas dans /etc/rc.d/init.d mais /lib/lsb/init-functions # Source function library. #. /etc/rc.d/init.d/functions (A SUPPRIMER). /lib/lsb/init-functions Il faut changer la ligne : /sbin/service nagios configtest > "$TMPFILE" En : /usr/sbin/service nagios configtest > "$TMPFILE" Les lignes «status $prog» sont remplacées par «status_of_proc $prog» Dans le stop(), remplacer : killproc -p ${pidfile} -d 10 $exec En : killproc -p ${pidfile} $exec 7 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Remplacer : $nice runuser -s /bin/bash - $user -c "$corelimit >/dev/null 2>&1 ; $exec -vp $config" Par : $nice su -s /bin/bash - nagios -c "$corelimit >/dev/null 2>&1 ; $exec -vp $config" Au niveau du start, voici deux lignes à changer : if test "$checkconfig" == "false"; then daemon --user=$user $exec -ud $config Par: if test "$checkconfig" = "false"; then daemon --user=$user -- $exec -d $config Remplacer : lockfile=/var/lock/subsys/$prog Par : lockfile=/var/lock/$prog Pour terminer, dans votre bash la création de l'utilisateur de nagios et son mot de passe (nagios) root@nagios# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin Tous ces tests et modifications ont peut-être créé des processus Nagios zombies. Un redémarrage de votre serveur fera du bien et permettra de tester que Nagios se lance et s'arrête correctement. Le script /etc/init.d/nagios start stop restart n'est pas toujours d'une fiabilité sans faille. Afin d'éviter d'avoir plusieurs démons Nagios qui tourneraient et qui mettraient à jour la même interface CGI. Voici comment éviter ce désagrément # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg # /etc/init.d/nagios stop; pkill nagios; /etc/init.d/nagios start Changer la permission de ce répertoire /usr/local/nagios/var/rw afin de pouvoir effectuer certaines actions depuis l'interface Nagios. # chown nagios.nagcmd /usr/local/nagios/var/rw 8 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Maintenant nous pouvons nous connecter à Nagios via le lien suivant : http://localhost/nagios Fichier de configuration Dans le répertoire «/etc/local/nagios/etc/objects», on trouve les fichiers objets défini dans le fichier «nagios.cfg» qui se trouve ici : «/etc/local/nagios/etc/nagios.cfg». Les objets à renseigner se trouvent ici : # OBJECT CONFIGURATION FILE(S) # You can specify individual object config files as shown below: 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/timeperiods.cfg cfg_file=/usr/local/nagios/etc/objects/templates.cfg cfg_file=/usr/local/nagios/etc/objects/serveurs-linux.cfg cfg_file=/usr/local/nagios/etc/objects/serveurs-windows.cfg cfg_file=/usr/local/nagios/etc/objects/serveurs-messagerie.cfg # Definitions for monitoring the local (Linux) host cfg_file=/usr/local/nagios/etc/objects/localhost.cfg 9 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

On peut spécifier l adresse du superviseur dans le fichier CGI : «url_html_path=/nagios» Pour les bibliothèques des plugins : «/usr/local/nagios/etc/resource.cfg» Les objets Périodes de temps : Le fichier timeperiods.cfg défini les plages horaires de contrôle actifs. 10 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Le fichier contact.cfg déterminera à qui, via une boite mail ou SMS, envoyer les notifications. (Configuration pour le TP partie 2&3) Le fichier Templates.cfg est composé des gabarits de création d'hôtes, de contacts et de services avec tous les paramètres à leurs attribuer. (Configuration pour le TP partie 2&3) 11 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

12 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Création des fichiers de configuration cité dans le fichier «nagios.cfg» 13 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

14 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

******** Méthode pour ajouter un objet : Fichier «/etc/local/nagios/etc/nagios.cfg» Ajouter le chemin de l objet «.cfg» crée dans «/etc/local/nagios/etc/objects» Définir les périodes de temps : «/etc/local/nagios/etc/objects/timeperiods.cfg» Définir les contacts : «/etc/local/nagios/etc/objects/contacts.cfg» 15 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Définir les génériques (contact, hôtes,groupes, services): «/etc/local/nagios/etc/objects/templates.cfg» ou directement dans l objet, exemple : Un fichier «serveurs-windows.cfg» (voir plus haut ********) crée dans le répertoire «object» peut contenir les définitions d hôtes, de groupes et de services Normalement quand tout est bien configuré, sur votre Nagios les clients s affichent : Superviser des SERVICES Pour configurer un service, exemple APACHE il faut : 1) Éditer le fichier «serveurs-linux-cfg» présent dans «objects». Ces objets je le rappelle sont utilisés et chargés par le fichier de configuration «nagios.cfg». define service { # On définit un nouveau service Hostgroup_name Groupe-serveurs-linux # Définit dans «serveurs-linux.cfg» service_description Service Apache # On nomme le service (apparait dans Nagios) use generic-service-formation # Service définit dans «templates.cfg» check_command check_http # Définit dans «commands.cfg» } 2) Télécharger et activer le service Apache sur le client : a. Apt-get install apache2 b. /etc/init.d/apache2 start c. Résultat sur l image qui suit 16 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Superviser des serveurs Linux Installer l agent NRPE sur le client Debian et configurer son fichier «/etc/nagios/nrpe.cfg» Indiquer l adresse IP du serveur Nagios (192.168.1.230). Démarrer le service NRPE «/etc/init.d/nagios-nrpe-server start» Ajouter de nouveaux plugins dans ce même fichier suivi des arguments nécessaires. Pour vérifier la charge du CPU et l espace disque par exemple : «command[ check_disk]=/usr/lib/nagios/plugins/check_disk w 60 c 90 p /dev/mapper/debianusr»!!attention, le chemin ici est issue d une partition LVM!! «command[ check_cpu]=/usr/lib/nagios/plugins/check_cpu w 5 c 10» Il nous faut donner des droits dans le fichier «/etc/sudoers» «nagios ALL=(ALL) NOPASSWD : /usr/lib/nagios/plugins/» 17 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Fichier SUDOERS Vérification des paramètres du fichier Sudoers Installation de la partie cliente coté Nagios, il nous demandera un mot de passe (nagios) Faire une copie de ce fichier : «cp /usr/lib/nagios/plugins/check_nrpe /usr/local/nagios/libexec» Mettre des droits, ce placer dans «/usr/local/nagios/libexec» «chown nagios : check_nrpe» Rédemarrer le service nrpe coté client Teste de communication entre Nagios et le client Debian 18 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Définition d une commande «check_cpu» dans le fichier de configuration «serveurs-linux.cfg» Résultat Sur cette image on voit que j ai configuré aussi un serveur Windows, notamment : - Le plugin «check_nt» sur Nagios - Nsclient++ coté windows - Tester l installation avec cette commande o Cd /usr/local/nagios/libexec o./check_nt H 192.168.1.232 p 14289 v CLIENTVERSION s nagios Commande check + IP clientwindows + port de communication + commande_nt + password nsclient (défini à l installation) o Configurer fichier nagios «serveurs-windows.cfg» o o Commande : $USER1$/ check_nt H $HOSTADDRESS$ -p 12489 v $ARG1$ $ARG2$ o Création des services CPU et DISK o 19 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Supervision d un service WEB Après la création d un page web sur le serveur distant Debian, dans /var/www il y a donc une page HTML que l on peut visualiser via un navigateur : J ai pour cela ajouter un deuxième serveur Debian (192.168.1.229) dans Nagios afin de voir les différences lorsqu un service répond par Ok et par Critical. Pour cela j ai créé un fichier «serveurs-linux2.cfg» dans les objets Nagios. Rajouter ce fichier dans la configuration Nagios (nagios.cfg). Je vais contrôler par le port 80 un mot précis dans une page web, le mot WEB. Il faut créer une commande (commandes.cfg) : Explication : (#/usr/lib/nagios/plugins/check_http help) $USER1$ : commande exécutable par un utilisateur (nagios) check_http : commande Nagios -I $HOSTADDRESS$ $ARG1$ : Adresse IP de l hôte que l on veut superviser -u $ARG1$ : Chemin (path) de l URL -s $ARG1$ : Chaine (string) de caractère attendu dans le contenu Créer un service (PAGE-WEB) dans «serveurs-linux2.cfg» Résultat sur deux serveurs Debian, dont un ne dispose pas d une page HTML contenant le mot WEB (serverus-linux) 20 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

On peut constater l erreur 405, et il nous indique aussi que la recherche de la chaine (STRING WEB ) a échouée dans le page test.html. Gestionnaire d évènements Explication du processus de redémarrage d un service sur un client Nagios par le serveur Nagios : Dans les logs des deux parties on peut voir ceci : Coté client, après l arrêt volontaire, en root du service apache2 : Coté serveur Nagios : Notre service a été redémarré par un script présent coté client, mais comment? 1 Le serveur Nagios supervise le service http sur un client via NRPE 2 Il constate aucune réponse du service apache2, qui semble arrêté coté client 3 Il y a une remontée de l info sur le serveur Nagios 4 Utilisation du processus EVENT HANDLER défini dans le service check_http. Il déclenche une action lors d un changement d état, ici l arrêt du service web et va réaliser une suite d action 5 Demande d autorisation de l utilisateur Nagios sur le site distant pour se connecter 6 Autorisation du serveur WEB, qui a le passage d arguments activé (nrpe.cfg) 7 L utilisateur nagios exécute le script qui va redémarrer le service apache2 21 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Graph PNP4-0.6 Installation et configuration du plugin pnp-6.0 #cd /usr/src #wget http://downloads.sourceforge.net/project/pnp4nagios/files/pnp-0.6/pnp4nagios-0.6.21.tar.gz #tar xvzf pnp4 #cd pnp4 #./configure --prefix=/usr/local/pnp4nagios --with-nagios-user=nagios --with-nagios-group=nagios #make all #make install #make install-webconf #make install-config #make install-init #/etc/init.d/apache2 reload On se connecte : @ip serveur nagios/pnp4nagios. Nous avons un environnement Tests et Kohana. Cette page nous demande, à la fin dans un rectangle vert, de supprimer le fichier install.php Configuration de pnp4 FICHIER NAGIOS.CFG Modifier la ligne du fichier «nagios.cfg» PROCESS_PERFORMANCE_DATA. Positionner à 1 au lieu de 0. Toujours dans ce fichier, à la fin par exemple, ajouter ceci : # # service performance data # service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata service_perfdata_file_template=datatype::serviceperfdata\ttimet::$timet$\thostname::$ho STNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHEC KCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTST ATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$ service_perfdata_file_mode=a service_perfdata_file_processing_interval=15 service_perfdata_file_processing_command=process-service-perfdata-file # # host performance data starting with Nagios 3.0 # host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata host_perfdata_file_template=datatype::hostperfdata\ttimet::$timet$\thostname::$hostna ME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOS TSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$ host_perfdata_file_mode=a host_perfdata_file_processing_interval=15 host_perfdata_file_processing_command=process-host-perfdata-file 22 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

FICHIER COMMANDS.CFG Editer ce fichier pour rajouter deux commandes : define command{ command_name process-service-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/service-perfdata /usr/local/pnp4nagios/var/spool/service-perfdata.$timet$ } define command{ command_name process-host-perfdata-file command_line /bin/mv /usr/local/pnp4nagios/var/host-perfdata /usr/local/pnp4nagios/var/spool/host-perfdata.$timet$ } FICHIER TEMPLATES.CFG Editer ce fichier pour ajouter une définition d hôte et d un nouveau service define host { name host-pnp process_perf_data 1 action_url /pnp4nagios/graph?host=$hostname$&srv=_host_' target='main' class='tips' rel='/pnp4nagios/popup?host=$hostname$&srv=_host_ register 0 } define service { name srv-pnp process_perf_data 1 action_url /pnp4nagios/graph?host=$hostname$&srv=$servicedesc$' target='main' class='tips' rel='/pnp4nagios/popup?host=$hostname$&srv=$servicedesc$ register 0 } FICHIER SERVEURS-LINUX2.CFG & SERVEURS-LINUX.CFG Dans ces fichiers, je vais modifier la définition des hôtes et des services en y ajoutant les nouveaux modules : - srv-pnp, qui sera ajouté à «use» dans le «define service» - host-pnp, qui sera ajouté à «use» dans le «define host» - - 23 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Permissions sudo chown -R nagios:nagios /usr/local/nagios/etc Activation du module rewrite d Apache sudo a2enmod rewrite Modifier la configuration de PHP5 Editer le fichier /etc/php5 Modifier la directive magic_quotes_gpc = Off Activer la configuration npcd cd /usr/src/pnp4nagios-0.6.21/sample-config/pnp/ sudo cp npcd.cfg-sample /usr/local/pnp4nagios/etx/npcd.cfg chown nagios :nagios npcd.cfg Services /etc/init.d/npcd start /etc/init.d/nagios restart /etc/init.d/apache2 restart Teste de PNP Serveur Nagios 192.168.1.230 URL pnp : http://192.168.1.230/pnp4nagios 24 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014

Sur ces images on peut constater que le service pnp apparait dans l interface de Nagios, on peut cliquer sur les graphs (images 1 & 2). On a aussi une visualisation en locale en allant sur l url de pnp (image 3) Module CHECK_MK En ce qui concerne le template check_mk-cpu.loads, j ai bien installé le module «check_mk» de Matias Kettner et son agent. J ai tenté de le configurer avec Nagios. Problème : Impossible de charger les modules et je n ai pas trouvé pourquoi Du coup je ne mets pas tout ce que j ai réalisé comme manipulation. 25 EMERY Olivier & WILLM Geoffrey TP Nagios IUT LANNION LPaGSRi 2013-2014