Wiki » Historique » Révision 74
Révision 73 (Patrice Nadeau, 2015-02-28 08:12) → Révision 74/127 (Patrice Nadeau, 2015-04-25 10:46)
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.com_. Certains système de courriel peuvent bloquer ces messages si le sous-domaine _nagios.domain.com_ 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@domaine.com </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 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> 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 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> [[Plugins maison]]