Projet

Général

Profil

Wiki » Historique » Révision 79

Révision 78 (Patrice Nadeau, 2015-06-28 10:25) → Révision 79/127 (Patrice Nadeau, 2015-06-28 10:38)

h1. Nagios 

 Nagios est un système de surveillance (monitoring) d’ordinateurs, imprimantes, routeurs et de services logiciels. 
 Il existe en version payante (Nagios IX) et « open source » (Nagios Open Source).  
 C’est cette dernière version qui seras discutée ici. 

 >Ce guide est une introduction et ne ce veux en aucun cas une formation complète. Pour plus d’informations, consulter le site http://www.nagios.org/ 

 {{lastupdated_at}} {{lastupdated_by}} 

 --- 

 {{TOC}} 

 h2. Installation 

 h3. Requis 

 * Un serveur  
 ** [[guides_opensuse:wiki|openSUSE]] 
   
 OU 
   
 ** [[guides_ubuntu:wiki|Ubuntu]] (Voir #37 pour installation avec un BeagleBone Black) 
 * Apache installé et configuré, 
 * Un serveur de courriel (Postfix ou Exim) installé et configuré, 
 * Une adresse IP fixe, 
 * Une entré DNS (enregistrement A ou CNAME). 
 > Un serveur physique est fortement recommandé.  

 h3. Installation de Nagios 

 h4. [[from source|À partir des sources]] (nouvelle méthode) 

 Fonctionne pour openSUSE et Debian/Ubuntu 

 h4. [[from yast|À partir de YaST]] (ancienne méthode) 

 openSUSE seulement 

 h2. Modification de l'adresse d’envoi 

 Par défaut, les alertes vont provenir de _nagios@nagios.domain.tld_. 
 Certains système de courriel peuvent bloquer ces messages si le sous-domaine _nagios.domain.tld_ n'existe pas. 

 Pour changer l'adresse « from », modifier le fichier *etc/objects/command.cfg* pour les commandes : 
 * notify-host-by-email 
 * notify-service-by-email 

 Ajouter à la fin de la ligne de commande (_command_line_) : 
 <pre><code class="bash"> 
 -- -f nagios@domain.tld 
 </code></pre> 

 h2. Utilisation 

 Typographie dans les fichiers 
 * Un commentaire sur une ligne complète commence par un croisillon (#). 
 * Un commentaire à la fin d’une ligne commence par un point-virgule (;). 
 * Une exclusion est exprimé par un point d’exclamation (<notextile>!</notextile>) précédant l’item. 
 * Les items d’une liste sont séparés par une virgule (,). 

 h3. Fichiers de configuration 

 L'emplacement des fichiers dépend de la méthode l’installation précédente 
 * openSUSE (YaST) : _/etc/nagios_ 
 * sources : _/usr/local/nagios_ 

 Les principaux fichiers de configuration général sont : 
 * *nagios.cfg* : configuration de Nagios lui-même 
 * *ressources.cfg* : liste des macros, usagers et mots de passe 

 h3. Fichiers d'objets 

 Les fichiers de configuration sont situés dans le répertoire *objects*. 

 Les principaux sont : 
 * *templates.cfg* 
 * *commands.cfg* : commandes, scripts à exécuter 
 * *contacts.cfg* : contacts pour les alarmes 
 * *timeperiods.cfg* : les périodes de vérifications 

 L’utilisation de gabarits (« templates ») est fortement recommandée.  
 Un item dans un gabarit peux être redéfinis. 
 Ceci permet d’avoir des gabarits ayant les options par défaut et seulement les exceptions sont à définir dans les sections hôtes, groupe et services. 
 > Les explications suivantes prennent pour acquis l’utilisation des gabarits fournis avec Nagios. 

 h3. Hosts 

 "Liste complète des paramètres pour hôte":http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#host 
 Liste des items : 
 * *use* : le nom du gabarit, contenu dans template.cfg 
 * *host_name* : nom de l’hôte, seras utilisé dans le reste de la configuration. 
 * *alias* : description du hôte. 
 * *address* : l’adresse IP ou le FQDN du hôte. 
 * *icon_image* (facultatif) : une image représentant le serveur.  
 * *action_url* (facultatif) : 

 Exemple : 
 <pre><code class="nagios"> 
 define host { 
     use        linux−server 
     hostname linux1 
     alias      Serveur Linux 1 
     address    linux1.mydomain.com 
 } 
 </code></pre> 

 h3. Groups 

 "Liste complète des paramètres pour les groupes d’hôtes":http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#hostgroup 

 Liste des items minimum : 
 * *hostgroup_name* : nom du groupe. 
 * *alias* : description du groupe. 
 * *members* : liste des hôtes dans ce groupe. 

 Exemple : 
 <pre><code class="nagios"> 
 define hostgroup { 
     hostgroup_name linux−servers 
     alias            Linux servers 
     members          linux1 
 } 
 </code></pre> 

 h3. Services 

 "Liste complète des paramètres pour les services":http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html#service 

 Liste des items minimum : 
 * *use* : le nom du gabarit. 
 * *host_name* : noms des hôtes utilisant ce service. 
 * *service_description* : description du service. 
 * *check_command* : commande à effectuer. Définis dans *commands.cfg*. 

 Exemple : 
 <pre><code class="nagios"> 
 define service{ 
     use                      local−service 
     host_name                localhost 
     service_description      PING 
     check_command            check_ping!100.0,20%!500.0,60% 
 } 
 </code></pre> 

 

 h2. Agents 

 h3. GNU/Linux 

 Problème #31 

 

 h4. openSUSE (repos) 

 Installer *nagios-nrpe* 
 > Le « repository » n'existe plus sous openSUSE 13.2. Il faut installer *nagios-plugins* à partir de http://software.opensuse.org/ 

 <pre><code class="bash"> 
 zypper install nagios−nrpe 
 </code></pre> 

 h4. openSUSE (sources) 

 <pre><code class="bash"> 
 mkdir ~/tmp 
 cd ~/tmp 
 wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz/download 
 </code></pre> 

 Ouvrir dans le pare feu les ports suivants : 
 * NRPE service (TCP 5666) 

 Éditer le fichier */etc/nrpe.cfg* et modifier les lignes suivantes : 
 * *allowed_hosts* : indiquer l’adresse IP ou le FQDN(Fully Qualified Domain Name) du serveur Nagios 

 Configuration du service 
 <pre><code class="bash"> 
 systemctl enable nrpe.service 
 systemctl start nrpe 
 </code></pre> 

 

 h3. Windows 

 À venir ... 

 h2. Modules supplémentaires 

 h3. UPS 

 USP de la compagnie APC avec _apcupsd_. 

 Pre-requis : [[guides_opensuse:ups|UPS sous openSUSE]] 

 h4. Installation 

 <pre><code class="bash"> 
 wget -O check_apcupsd "http://exchange.nagios.org/directory/Plugins/Hardware/UPS/APC/check_apcupsd/visit" 
 chmod +x check_apcupsd 
 mv check_apcupsd /usr/local/nagios/libexec 
 </code></pre> 

 Faire un test avec  
 <pre><code class="bash"> 
 /usr/local/nagios/libexec/check_apcupsd -w 50 -c 25 bcharge 
 </code></pre> 

 Si le message d'erreur suivant apparait _Error: /sbin/apcaccess must exist and be executable!_, exécuter 
 <pre><code class="bash"> 
 # Creer un lien symbolique vers l'executable apcaccess 
 ln -s /usr/sbin/apcaccess /sbin/apcaccess 
 </code></pre> 

 h4. Configuration 

 Ajouter dans le fichier *nagios/etc/objetcs/commands.cfg* : 
 <pre><code class="text"> 
 # Définis la commande check_apcupsd 
 define command{ 
        command_name      check_apcupsd 
        command_line      $USER1$/check_apcupsd -h $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ $ARG3$ 
        } 
 </code></pre> 

 Les arguments sont 
 * _$ARG1$_ : le seuil d'avertissement (warning) 
 * _$ARG2$_ : le seuil critique (critical) 
 * _$ARG3$_ : un des test suivants (liste complète avec _apcupsd_ sans arguments): 
 ** *bcharge* : charge des batteries, en pourcent 
 ** *itemp* : température interne, en Celsius 
 ** *loadpct* : charge en pourcent 
 ** *timeleft* : : temps restant selon la charge actuelle 

 Dans le fichier *nagios/etc/objects/localhost.cfg*, inscrire les test à effectuer. 

 >Ex. : Vérification de la charge restante, 50% étant un avertissement et 25% critique. 
 <pre><code class="text"> 
 # Définis le service de charge restante du UPS 
 define service{ 
         use                       local-service    
         host_name                 localhost 
         service_description       UPS charge left     
         check_command             check_apcupsd!50!25!charge 
         } 
 </code></pre> 

 h2. Nagstatmon 

 Logiciel de notification Nagios pour poste de travail. 

 Télécharger à partir de https://nagstamon.ifw-dresden.de/download 

 h3. GNU/Linux 

 h4. openSUSE 

 Utilisé la version disponible à http://software.opensuse.org/package/nagstamon?search_term=nagstamon 

 Pre-requis (openSUSE 13.2) 

 <pre><code class="bash"> 
 zypper install phyton-crypto python-keyring 
 </code></pre> 

 h2. [[Plugins maison]]