Wiki » Historique » Révision 101
Révision 100 (Patrice Nadeau, 2017-04-29 11:23) → Révision 101/127 (Patrice Nadeau, 2017-04-29 11:24)
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)
* [[guides_opensuse:Apache|Apache]] fonctionnel avec
** _mod_version_,
** _mod_php5_,
* Un serveur de courriel ([[guides_opensuse:Postfix|Postfix]] ou Exim) fonctionnel,
* Une adresse IP fixe,
* Une entré DNS (enregistrement A ou CNAME).
> Un ordinateur 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
Installer *nagios-nrpe*
h4. Version déjà compilée
opensSUSE
<pre><code class="bash">
wget http://download.opensuse.org/repositories/openSUSE:/Leap:/42.2/standard/x86_64/nrpe-2.15-9.1.x86_64.rpm
rpm -Uhv nrpe-2.15-9.1.x86_64.rpm
</code></pre>
h4. À partir des sources
Voir [[NRPE]]
h4. Configuration
Ouvrir dans le pare feu le port TCP 5666 :
<pre><code class="bash">
yast firewall services add service=service:nrpe zone=EXT
</code></pre>
É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.service
</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><code class="bash">
sudo zypper install nagstamon-1.0.1-1.1.noarch.rpm
</code></pre>
h2. [[Plugins maison]]