Vous êtes sur la page 1sur 45

Chapitre 8.

Guide de démarrage rapide Ubuntu


Table des matières

o Ce que vous allez obtenir

o Paquetages requis

o Créez un compte utilisateur

o Téléchargez Nagios et les Plugins.

o Compilez et installez Nagios

o Personnalisation de la configuration

o Configuration de l'interface web

o Compilation et installation des Plugins Nagios

o Démarrage de Nagios

o Connexion à l'interface Web

o Autres Modifications

Ce guide est prévu pour vous fournir les instructions simples sur la façon d'installer Nagios depuis le code
source sur Ubuntu et d'avoir la supervision de votre machine locale prête en moins de 20 minutes. Aucune
option d'installation avancée n'est abordée ici - juste les notions basiques qui fonctionneront pour 95% des
utilisateurs qui veulent démarrer.
Ces instructions ont été écrites en se basant sur une installation standard de la distribution Fedora 6.10
(desktop). Elles devraient fonctionner également pour Ubuntu7.10.

Ce que vous allez obtenir


Si vous suivez ces instructions, voici ce que vous obtiendrez à la fin:

1. Nagios et les plugins seront installés dans l'arborescence du


répertoire /usr/local/nagios
2. Nagios sera configuré pour superviser quelques aspects du système local (charge CPU,
occupation disque, etc.)
3. L'interface web de Nagios sera accessible à http://localhost/nagios/
Paquetages requis
Assurez-vous d'avoir installé les paquets suivants sur votre installation Ubuntu avant de continuer.

1. Apache 2

2. Compilateur GCC et librairies de développement

3. librairies de développement GD

Vous pouvez utiliser apt-get pour installer ces paquets en exécutant la commande suivante:

$ sudo apt-get install apache2


$ sudo apt-get install build-essential
Sur Ubuntu 6.10, installez la librairie gd2 avec cette commande:

$ sudo apt-get install libgd2-dev

Sur Ubuntu 7.10, le nom de la librairie gd2 a changé, vous devez donc utiliser ce qui suit:

$ sudo apt-get install libgd2-xpm-dev

Créez un compte utilisateur


Passez sur le compte root.

$ sudo -s

Créez un utilisateur nagios et attribuez-lui un mot de passe.

# /usr/sbin/useradd -m nagios
# passwd nagios

Sur la version Ubuntu server (6.01 et peut-être versions plus récentes), vous devrez également ajouter un
groupe nagios (il n'est pas créé par défaut). Vous devriez pouvoir éviter cette manipulation sur la version
desktop de Ubuntu.

# /usr/sbin/groupadd nagios
# /usr/sbin/usermod -G nagios nagios

Créez un groupe nagcmd pour autoriser la soumission de commandes externes depuis l'interface web. Ajoutez à
la fois l'utilisateur nagios et l'utilisateur apache à ce groupe.

# /usr/sbin/groupadd nagcmd
# /usr/sbin/usermod -G nagcmd nagios
# /usr/sbin/usermod -G nagcmd www-data

Téléchargez Nagios et les Plugins.


Créez un répertoire pour stocker les téléchargements.

# mkdir ~/downloads
# cd ~/downloads
Téléchargez à la fois l'archive du code source de Nagios et des plugins Nagios
(visitez http://www.nagios.org/download/pour les liens vers les dernières versions). Au moment de la
rédaction, les dernières versions de Nagios et des plugins Nagios étaient respectivement la 3.0.2 et la 1.4.11.

# wget
http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0.2.tar.gz
# wget
http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-
1.4.11.tar.gz

Compilez et installez Nagios


Extraire le code source de Nagios de l'archive.

# cd ~/downloads
# tar xzf nagios-3.0.2.tar.gz
# cd nagios-3.0.2

Exécutez le script de configuration de Nagios en lui passant le nom du groupe que vous venez juste de créer
comme suit:

# ./configure --with-command-group=nagcmd

Compilez le code source de Nagios.

# make all

Installez les binaires, les scripts de démarrage, les fichiers de configuration fournis en exemple et réglez les
permissions sur le dossier des commandes externes.

# make install
# make install-init
# make install-config
# make install-commandmode

Ne démarrez pas Nagios maintenant - Il y a encore beaucoup à faire avant…

Personnalisation de la configuration
Les exemples de fichiers de configuration ont été installés dans le répertoire /usr/local/nagios/etc.
Ces fichiers d'exemple devraient suffire pour commencer avec Nagios. Vous n'aurez qu'une chose à modifier
avant de pouvoir commencer…
Éditez le fichier de configuration /usr/local/nagios/etc/objects/contacts.cfg avec votre
éditeur de texte préféré et changez l'adresse de courrier électronique associée avec la définition de contact
nagiosadmin par celle que vous souhaitez utiliser pour recevoir les alertes.

# vi /usr/local/nagios/etc/objects/contacts.cfg

Configuration de l'interface web


Installez le fichier de configuration web Nagios dans le répertoire Apache conf.d.

# make install-webconf

Créez un compte nagiosadmin pour la connexion à l'interface web de Nagios. Retenez le mot de passe que vous
attribuez à ce compte - vous en aurez besoin plus tard.

# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Redémarrez Apache pour que les nouveaux réglages prennent effet.

# /etc/init.d/apache2 reload

Compilation et installation des Plugins Nagios


Extraire le code source des plugins Nagios de l'archive.

# cd ~/downloads
# tar xzf nagios-plugins-1.4.11.tar.gz
# cd nagios-plugins-1.4.11

Compilation et installation des plugins.

# ./configure --with-nagios-user=nagios --with-nagios-


group=nagios
# make
# make install

Démarrage de Nagios
Configurez Nagios pour qu'il s'exécute automatiquement au démarrage du système.

# ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Vérifiez les exemples de fichiers de configuration de Nagios.


# /usr/local/nagios/bin/nagios -v
/usr/local/nagios/etc/nagios.cfg

S'il n'y a pas d'erreur, démarrez Nagios.

# /etc/init.d/nagios start

Connexion à l'interface Web


Vous devriez maintenant pouvoir vous connecter à l'interface web de Nagios à l'adresse ci-dessous. Il vous sera
demandé un nom d'utilisateur (nagiosadmin) et le mot de passe que vous avez spécifié plus tôt.

http://localhost/nagios/

Cliquez sur le lien Service Detail de la barre de navigation pour voir les détails de ce que vous supervisez sur
votre machine locale. Nagios va prendre quelques minutes pour contrôler l'ensemble des services de votre
machine du fait que les contrôles sont répartis dans le temps.

Autres Modifications
Si vous souhaitez recevoir des notifications par courrier électronique des alertes Nagios, vous devez installer le
paquet mailx (Postfix).

$ sudo apt-get install mailx

Vous devez éditer les commandes de courrier électronique Nagios qui peuvent être trouvées
dans /usr/local/nagios/etc/objects/commands.cfg et remplacer toutes les références
à /bin/mail en /usr/bin/mail. Une fois ceci fait, vous devez redémarrer Nagios pour prendre en compte
ces mofdifications.

$ sudo /etc/init.d/nagios restart

La configuration des notifications par courrier électronique est en dehors du champ de cettte documentation.
Référez-vous à la documentation de votre système, recherchez sur le web, ou regardez sur le wiki
NagiosCommunity.org pour des instructions spécifiques sur la façon de configurer votre système Ubuntu pour
qu'il envoie des courriers électroniques vers des adresses extérieures.

Chapitre 9. Mise à jour de Nagios


Table des matières

o Mise à jour depuis une version 3.x de Nagios

o Mise à jour depuis une version 2.x de Nagios


o Mise à jour depuis une installation par RPM

Mise à jour depuis une version 3.x de Nagios


Dès que des versions alpha, beta, ou stable de Nagios sont sorties, vous pouvez sérieusement envisager dès que
possible de mettre à jour votre Nagios. Les nouvelles versions contiennent habituellement des corrections de
bugs critiques, du coup, il est important de rester à jour. Si vous avez déjà installé Nagios à partir du code
source tel que décrit dans le Guides d'installation rapide, vous pouvez installer les nouvelles versions de Nagios
3.x facilement. Vous n'avez même pas besoin d'un accès root pour le faire, tout ce qui doit être fait en tant
que root a été fait lors de l'instalation initiale. Voici le processus de mise à niveau…

Assurez-vous d'avoir une bonne sauvegarde de votre installation de Nagios existante ainsi que des fichiers de
configuration. Si quelque chose se passe mal ou ne fonctionne pas, ce qui vous permettra de revenir à votre
ancienne version.

Devenez l'utilisateur nagios. Les utilisateurs de Debian/Ubuntu devront utiliser sudo -s nagios.

$ su -l nagios

Téléchargez le code source de la dernière version de Nagios (visitez http://www.nagios.org/download/ pour


avoir le lien vers la dernière version).

$ wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.x.tar.gz

Extrayez le code source de Nagios de l'archive.

$ tar xzf nagios-3.x.tar.gz


$ cd nagios-3.x

Exécutez le script de configuration de Nagios, en passant le nom du groupe utilisé pour contrôler les
permissions du fichiers de commande comme ceci:

$ ./configure --with-command-group=nagcmd

Compilez le code source de Nagios.

$ make all

Installation de la mise à jour des binaires, de la documentation et l'interface web. Vos fichiers de configuration
ne seront pas écrasés par cette étape.

$ make install

Vérifiez votre configuration et relancer Nagios.


$ /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
$ /sbin/service nagios restart

Ca y est - C'est fait !

Mise à jour depuis une version 2.x de Nagios


Il ne devrait pas être trop difficile de faire la mise à niveau de Nagios 2.x à Nagios 3. La mise à jour est
essentiellement la même que celle qui est décrite ci-dessus pour la mise à niveau d'une version 3.x.
Cependant, vous allez avoir à changer un peu vos fichiers de configuration pour qu'ils soient totalement
compatibles avec Nagios 3:

o L'ancienne variable service_reaper_frequency dans le fichier de configuration princpal a été


renommée en check_result_reaper_frequency .
o L'ancienne macro $NOTIFICATIONNUMBER$ a été remplacée par les deux nouvelles
macros $HOSTNOTIFICATIONNUMBER$ et $SERVICENOTIFICATIONNUMBER$.
o L'ancien paramètre parallelize des définitions de services est maintenant devenue obsolète et
n'est plus utilisé, du fait que les contrôles de services se font désormais en parallèle.
o L'ancienne option aggregate_status_updates a été supprimée. Toutes les mises à jour du
fichier de statut sont maintenant regroupées dans un intervalle de temps minimum d'une seconde.
o Les définitions étendues des hôtes et des services sont devenues obsolètes. Elles sont tout de même
lues et traitées par Nagios, mais il est recommandé de déplacer les paramètres situés dans ces fichiers
de définitions vers les définitions des hôtes et des services, respectivement.
o L'ancienne variable du fichier downtime_file dans le fichier de configuration principal n'est plus
utilisée, les entrées correspondant aux arrêts planifiés sont maintenant sauvegardées dans le la
section intitulée « state_retention_file ». Pour garder les entrées concernant les arrêts
programmés, arrêtez Nagios 2.x et ajoutez le contenu de l'ancien fichier d'arrêts programmés au
fichier de rétention.
o L'ancienne variable du fichier comment_file dans le fichier de configuration principal n'est plus
utilisé, les commentaires sont maintenant sauvegardés dans le la section intitulée
« state_retention_file ». Pour garder les anciens commentaires, arrêtez Nagios 2.x et
ajoutez le contenu de l'ancien fichier de commentaires au fichier de rétention.

Soyez-sûrs d'avoir lu la section Chapitre 2, Quoi de neuf dans Nagios 3 de la documentation. Celle-ci décrit tous
les changements qui ont été appliqués au code de Nagios 3 depuis la dernière version stable de Nagios 2.x.
Nagios 3 a quelque peu changé, soyez-sûrs de l'avoir lu.

Mise à jour depuis une installation par RPM


Si vous avez actuellement une installation de Nagios basée sur des packages RPM Debian/Ubuntu ou APT et que
vous souhaitez passer à une installation de Nagios à partir du code source officiel, voici la méthode à suivre:

1. Sauvegardez votre installation de Nagios existante

o Les fichiers de configuration


o Le fichier de configuration principal (normalement nommé nagios.cfg)
o Le fichier de configuration des ressources (normalement nommé resource.cfg)
o Le fichier de configuration des CGIs (normalement nommé cgi.cfg)
o Tous les autres fichiers de définition d'objets
o Le fichier de rétention (normalement nommé retention.dat)
o Le fichier de log en cours de Nagios (normalement nommé nagios.log)
o Les fichiers de log Nagios archivés
2. Désinstallez les packages RPM ou APT originaux

3. Installez Nagios depuis les sources en suivant le Guides d'installation rapide

4. Restaurez vos fichiers originaux de configuration Nagios, de rétention et de logs

5. Vérifiez votre configuration et démarrez Nagios

Différents packages RPM ou APT peuvent installer Nagios de façons différentes et à différents endroits. Soyez
sûrs d'avoir correctement sauvegardé vos fichiers Nagios critiques avant de supprimer les packages RPM ou APT
originaux, vous ne pourrez pas revenir en arrière si vous rencontrez des problèmes.

Chapitre 10. Supervision des machines Windows


Table des matières

o Introduction

o Vue globale

o Étapes

o Ce qui est déjà fait pour vous

o Pré-requis

o Installation de l'agent Windows

o Configuration de Nagios

o Protection par mot de passe

o Redémarrage de Nagios

Ce document décrit la façon dont vous pouvez superviser les attributs et services privésde machines Windows
comme:
o Utilisation mémoire
o Charge CPU
o Utilisation disque
o État des services
o Processus en cours d'exécution
o etc.

Introduction
Les services rendus publics qui sont fournis par des machines Windows (HTTP, FTP, POP3, etc.) peuvent être
supervisés de façon simple en suivant la documentation sur la supervision des services publics disponibles .
Ces instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Les exemples de
configuration ci-dessous font référence aux objets de configuration définis dans les fichiers d'exemples
(commands.cfg, templates.cfg, etc.) qui ont été installé si vous avez suivi le guide rapide.

Vue globale

Superviser des attributs et services privés sur une machine Windows requiert l'installation d'un agent sur celle-
ci. Cet agent agit comme un proxy entre les plugins Nagios qui font la supervision et le service ou l'attribut sur
la machine Windows. Sans installation d'agent sur la machine Windows, Nagios serait incapable de superviser le
moindre attributs ou services privés de la machine Windows.

Pour cet exemple, nous allons installer l'addon NSClient++ sur la machine Windows et utiliser le
plugin check_nt pour communiquer avec NSCLient++. Le plugin check_nt devrait déjà être installé sur le
serveur Nagios si vous avez suivi le guide d'installation rapide.

Vous pouvez utiliser d'autres agents Windows (comme NC_Net) si vous le souhaitez - à condition de changer un
peu les commandes et les définitions de services, etc. Pour faire simple, je ne couvrirais que l'utilisation de
NSCLient++ dans ces instructions.

Étapes
Il y a plusieurs étapes à suivre pour pouvoir superviser une nouvelle machine Windows. Les voici:

1. Procéder aux pré-requis nécessaires la première fois

2. Installez un agent de supervision sur la machine Windows

3. Créez de nouvelles définitions d'hôte et de service pour superviser la machine Windows

4. Redémarrez le démon Nagios

Ce qui est déjà fait pour vous


Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites pour vous :

o Une définition de commande check_nt a été ajouté au fichier commands.cfg. Cela permet
d'utiliser le plugin check_nt pour superviser les services Windows.

o Un gabarit d'hôte serveur Windows (appelé windows-server) a déjà été créé dans le
fichier templates.cfg. Cela permet d'ajouter de nouvelles définitions d'hôtes Windows de façon
simple.

Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le


répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier les définitions de ceux-ci ou en
créez de nouvelles pour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous recommande d'attendre
d'avoir une meilleure connaissance de la configuration de Nagios avant de le faire. Pour le moment, contentez-
vous de suivre les directions précisées ci-dessous et vous pourrez superviser vos machines Windows en un rien
de temps.

Pré-requis
La première fois que vous configurez Nagios pour superviser une machine Windows, vous
avez un peu plus de travail à faire. Souvenez-vous, vous n'avez à le faire que pour la
*première* machine Windows à superviser.

Éditez le fichier de configuration principal de Nagios.

#vi /usr/local/nagios/etc/nagios.cfg

Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :

#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
Enregistrez le fichier et quittez.

Qu'avez-vous fait? Vous avez dit à Nagios de regarder dans le


fichier /usr/local/nagios/etc/objects/windows.cfgpour y trouver des définitions
d'objets additionnels. C'est là que vous ajouterez des définitions pour l'hôte Windows. Ce
fichier de configuration contient déjà un exemple de définitions d'hôte, de groupe d'hôtes et de
service. Pour la *première* machine Windows que vous supervisez, vous pouvez simplement
modifier les définitions d'exemples d'hôte et de service dans ce fichier plutôt que d'en créer de
nouvelles.

Installation de l'agent Windows


Avant de pouvoir superviser les attributs et services privés des machines Windows, vous allez devoir installer un
agent sur ces machines. Je recommande l'utilisation de l'addon NSClient++, qui peut être trouvé
surhttp://sourceforge.net/projects/nscplus. Ces instructions vont vous guider au cours d'une installation
simple de NSClient++ ainsi que pour la configuration de Nagios pour superviser une machine Windows.

1. Téléchargez la dernière version stable de NSClient++ depuis http://sourceforge.net/projects/nscplus

2. Dézippez les fichiers de NSClient++ dans un nouveau répertoire C:\NSClient++

3. Ouvrez une fenêtre de commande et déplacez-vous dans le répertoire C:\NSClient++

4. Installez le service système NSClient++ avec la commande suivante:

5. C:\> nsclient++ /install


6.

7. Installez le module NSClient++ pour la barre des tâches avec la commande suivante ('SysTray' est
sensible à la casse):

8. C:\> nsclient++ SysTray


9.
10. Ouvrez le gestionnaire des services et assurez-vous que le service NSClientpp est autorisé à interagir
avec le bureau (regardez sous l'onglet 'Log On' du gestionnaire de services). Cochez la case
correspondante si ce n'est déjà fait.

11. Éditez le fichier NSC.INI (situé dans le répertoire C:\NSClient++) et effectuez les changements
suivants:

o Décommentez tous les modules listés dans la section [modules],


exceptés CheckWMI.dll et RemoteConfiguration.dll
o Exigez optionnellement un mot de passe des clients en remplaçant l'option password dans
la section [Settings].
o Décommentez l'option allowed_hosts dans la section [Settings]. Ajoutez l'adresse IP du
serveur Nagios à cette ligne, ou laisser vide pour autoriser n'importe quel hôte à se
connecter.
o Assurez-vous que l'option port dans la section [NSClient] soit décommentée et réglée sur
'12489' (le port par défaut).
12. Démarrez le service NSClient++ avec la commande suivante:

13. C:\> nsclient++ /start


14.

15. Si l'installation est correcte, une nouvelle icône devrait apparaître dans votre barre des tâches. Ce
sera un cercle jaune avec un 'M' noir à l'intérieur.

16. Bravo! Le serveur Windows peut désormais être ajouté à la configuration de Nagios…

Configuration de Nagios
Il est temps maintenant de définir quelques définitions d'objets dans vos fichiers de configuration Nagios pour
pouvoir superviser la nouvelle machine Windows.

Ouvrez le fichier windows.cfg pour édition.


#vi /usr/local/nagios/etc/objects/windows.cfg

Ajouter une nouvelle définition d'hôte pour la machine Windows que vous souhaitez superviser. Si c'est la
*première* que vous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôte
dans windows.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropriées
pour votre machine Windows.

define host {
use windows-server ; Inherit default values from a Windows
server template (make sure you keep this line!)
host_name winserver
alias My Windows Server
address 192.168.1.2
}

Bien. Maintenant vous pouvez ajouter quelques définitions de services (dans le même fichier de configuration)
pour indiquer à Nagios de superviser différents aspects de la machine Windows. Si c'est votre *première*
machine Windows, vous pouvez simplement modifier les définitions exemples de services
dans windows.cfg.

Remplacez winserver dans les définitions d'exemples ci-dessous par le nom que vous avez précisé dans le
paramètre de la définition de l'hôte que vous venez d'ajouter.

Ajoutez la définition de service suivante pour contrôler la version du addon NSClient++ tournant sur le serveur
Windows. Cela devient utile quand il s'agit de mettre à jour des serveurs Windows vers une nouvelle version du
addon, en vous permettant de déterminer quelles sont les machines Windows nécessitant une mise à jour vers
la dernière version de NSClient++.

define service {
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}

Ajoutez la définition de service suivante pour superviser le temps écoulé depuis le dernier re/démarrage du
serveur Windows.

define service {
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}

Ajoutez la définition de service suivante pour superviser la charge CPU du serveur Windows et générer une
alerte CRITICAL si la charge CPU des 5 dernières minutes est égale à 90% ou plus ou une alerte WARNING si la
charge CPU des 5 dernières minutes est égale à 80% ou plus.

define service {
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}

Ajoutez la définition de service suivante pour superviser l'utilisation de la mémoire du serveur Windows et
générer une alerte CRITICAL si l'utilisation de la mémoire est égale à 90% ou plus ou une alerte WARNING si
l'utilisation de la mémoire est égale à 80% ou plus.

define service {
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}

Ajoutez la définition de service suivante pour superviser l'espace utilisé du disque C:\ du serveur Windows et
générer une alerte CRITICAL si l'espace utilisé du disque est égale à 90% ou plus ou une alerte WARNING si
l'espace utilisé du disque est égale à 80% ou plus.

define service {
use generic-service
host_name winserver
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

Ajoutez la définition de service suivante pour superviser l'état du service W3SVC et générer une alerte
CRITICAL si ce service est arrêté.

define service {
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}

Ajoutez la définition de service suivante pour superviser l'état du processus Explorer.exe et générer une alerte
CRITICAL si ce processus ne tourne pas.

define service {
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}

Voilà pour le moment. Vous avez ajouté des services simples qui devraient être supervisés sur les machines
Windows. Enregistrez le fichier de configuration.

Protection par mot de passe


Si vous avez précisé un mot de passe dans le fichier de configuration de NSClient++ de la machine Windows,
vous aurez besoin de modifier la définition de commande check_nt pour inclure le mot de passe. Ouvrez le
fichier commands.cfgpour édition.

#vi /usr/local/nagios/etc/commands.cfg

Modifiez la définition de la commande check_nt pour inclure l'argument -s <PASSWORD> (où PASSWORD est
le mot de passe précisé sur la machine Windows) comme suit:

define command {
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v
$ARG1$ $ARG2$
}

Enregistrez le fichier de configuration.

Redémarrage de Nagios
Vous en avez terminé avec la configuration de Nagios, et vous allez devoir vérifier les fichiers de
configuration et redémarrer Nagios .
Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmes de
configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processus de
vérification ne se déroule sans erreur!

Chapitre 11. Supervision des machines Linux/Unix


Table des matières

o Introduction

o Vue globale

Ce document décrit la façon dont vous pouvez superviser les attributs et services privésde serveurs Linux/UNIX
comme:
o Charge CPU
o Memory usage
o Utilisation disque
o Utilisateurs connectés
o Processus en cours d'exécution
o etc.

Introduction
Les services rendus publics qui sont fournis par des serveurs Linux (HTTP, FTP, SSH, SMTP, etc.) peuvent
être supervisés de façon simple en suivant la documentation sur la Supervision des services publiquement
disponibles.

Ces instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Les exemples de
configuration ci-dessous font référence aux objets de configuration définis dans les fichiers d'exemples
(commands.cfg, templates.cfg, etc.) qui ont été installés si vous avez suivi le guide rapide.

Vue globale
[Ce document n'a pas été terminé. Je vous recommande de lire la documentation sur le addon NRPE pour les
instructions sur la façon de superviser des serveurs distants Linux/Unix.]

Il y a plusieurs façons de superviser les attributs ou des serveurs distants Linux/Unix. Une est d'utiliser des clés
partagées SSH et le plugin check_by_ssh pour exécuter de splugins sur les serveurs distants. Cette méthode
n'est pas abordée ici, mais peut amener une grande charge sur le serveur de supervision si vous superviser des
centaines ou milliers de services. La charge de travail supplémentaire pour créer/détruire les
connexions SSH est la cause de ceci.

Une autre façon commune de superviser des hôtes distants Linux/Unix est d'utiliser l'addon NRPE. NRPE vous
permet d'exécuter des plugins sur les hôtes distants Linux/Unix. C'est utile si vous devez superviser les
attributs/ressources locaux comme l'utilisation disque, la charge CPU, l'utilisation mémoire, etc. sur une hôte
distant.

Chapitre 13. Supervision des imprimantes réseaux


Table des matières

o Introduction

o Vue globale

o Étapes

o Ce qui est déjà fait pour vous

o Pré-requis

o Configuration de Nagios

o Redémarrage de Nagios

Ce document décrit la façon de superviser l'état d'imprimantes réseaux. Plus particulièrement, les
imprimantes HP™ qui ont une carte interne/externe JetDirect®, ou toute autres imprimantes (comme
la Troy™ PocketPro 100S® ou la Netgear™ PS101®) supportant le protocole JetDirect.

Introduction

Le plugin check_hpjd (qui fait partie de la distribution des plugins standards Nagios) vous permettent de
superviser l'état de toutes imprimantes compatibles JetDirect avec SNMP activé. Le plugin est capable de
détecter les états suivants de l'imprimante:

o Bourrage papier
o Plus de papier
o Imprimante hors ligne
o Intervention requise
o Toner presque vide
o Mémoire insuffisante
o Porte ouverte
o Le plateau de sortie papier est plein
o Et bien d'autres…
Ces instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Les exemples de
configuration ci-dessous font référence aux objets de configuration définis dans les fichiers d'exemples
(commands.cfg, templates.cfg, etc.) qui ont été installés si vous avez suivi le guide rapide.

Vue globale
Superviser l'état d'une imprimante réseau est simple. Les imprimantes compatibles JetDirect ont en
général SNMP activé, ce qui permet à Nagios de les superviser en utilisant le plugin check_hpjd.

Le plugin check_hpjd sera compilé et installé seulement si vous avez les paquets net-snmp et net-snmp-
utils installés sur votre système. Assurez-vous que le plugin soit présent
dans /usr/local/nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-
snmp-utils et recompilez/réinstallez les plugins Nagios.

Étapes
Il y a plusieurs étapes à suivre pour pouvoir superviser une nouvelle imprimante réseau. Les
voici:

1. Procédez aux pré-requis nécessaires la première fois


2. Créez de nouvelles définitions d'hôte et service pour la supervision de l'imprimante
3. Redémarrez le démon Nagios
Ce qui est déjà fait pour vous
Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites pour vous :

o Une définition de commande check_hpjd a déjà été créé dans le fichier commands.cfg. Cela
permet d'utiliser le plugin check_hpjd pour superviser des imprimantes réseaux.

o Un gabarit d'hôte de type imprimante (nommé generic-printer) a déjà été créé dans le
fichier templates.cfg. Cela vous permet de rajouter des définitions d'hôtes de type imprimante
de façon simple.

Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le


répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier les définitions de ceux-ci ou en
créer de nouvelles pour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous recommande d'attendre
d'avoir une meilleure connaissance de la configuration de Nagios avant de le faire. Pour le moment, contentez-
vous de suivre les directions précisées ci-dessous et vous pourrez superviser vos imprimantes réseaux en un rien
de temps.

Pré-requis
La première fois que vous configurez Nagios pour superviser une imprimante réseau, vous
avez un peu plus de travail à faire. Souvenez-vous, vous n'avez à le faire que pour la
*première* imprimante à superviser.

Éditez le fichier de configuration principal de Nagios.

#vi /usr/local/nagios/etc/nagios.cfg
Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :

#cfg_file=/usr/local/nagios/etc/objects/printer.cfg

Enregistrez le fichier et quittez.

Qu'avez-vous fait? Vous avez dit à Nagios de regarder dans le


fichier /usr/local/nagios/etc/objects/printer.cfgpour y trouver des définitions
d'objets additionnels. C'est là que vous ajouterez des définitions pour l'imprimante. Ce fichier
de configuration contient déjà un exemple de définitions d'hôte, de groupe d'hôtes et de
service. Pour la *première* imprimante que vous supervisez, vous pouvez simplement
modifier les définitions d'exemples d'hôte et de service dans ce fichier plutôt que d'en créer de
nouvelles.

Configuration de Nagios
Vous allez devoir créer quelques définitions d'objets pour pouvoir superviser une nouvelle imprimante.

Éditez le fichier printer.cfg.

# vi /usr/local/nagios/etc/objects/printer.cfg

Ajouter une nouvelle définition d'hôte pour l'imprimante réseau que vous souhaitez superviser. Si c'est la
*première* que vous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôte
dans printer.cfg. Remplacez les champs host_name, alias, et address par les valeurs appropriées
pour votre imprimante.

define host {
use generic-printer ; Inherit default values from a template
host_name hplj2605dn ; The name we're giving to this printer
alias HP LaserJet 2605dn ; A longer name associated with the
printer
address 192.168.1.30 ; IP address of the printer
hostgroups allhosts ; Host groups this printer is associated with
}

Vous pouvez ajouter maintenant quelques définitions de services (dans le même fichier de configuration) pour
superviser différents aspects de votre imprimante. Si c'est la *première* imprimante que vous supervisez, vous
pouvez simplement modifier l'exemple de définition d'hôte dans printer.cfg.

Remplacez hplj2605dn dans les exemples de définitions ci-dessous par le nom que vous avez renseigné dans
le paramètre host_name que vous venez d'ajouter dans la définition d'hôte.
Ajoutez cette définition de service pour pouvoir superviser l'état de l'imprimante. Le service utilise le
plugin check_hpjdpour vérifier l'état de l'imprimante toutes les 10 minutes par défaut. La
communauté SNMP utilisée dans cet exemple pour interroger l'imprimante est public.

define service {
use generic-service ; Inherit values from a
template
host_name hplj2605dn ; The name of the host the
service is associated with
service_description Printer Status ; The service description
check_command check_hpjd!-C public ; The command used to
monitor the service
normal_check_interval 10 ; Check the service every 10 minutes under
normal conditions
retry_check_interval 1 ; Re-check the service every minute until its
final/hard state is determined
}

Ajoutez la définition de service suivante pour pinger l'imprimante toutes les 10 minutes par défaut. C'est utile
pour superviser le RTA, les paquets perdus et la connectivité réseau.

define service {
use generic-service
host_name hplj2605dn
service_description PING
check_command check_ping!3000.0,80%!5000.0,100%
normal_check_interva 10
retry_check_interval 1
}

Enregistrez le fichier.

Redémarrage de Nagios
Une fois que vous avez ajouté les définitions d'hôte et de service au fichier printer.cfg, vous êtes prêt à
commencer la supervision de l'imprimante. Pour cela, vous aurez besoin de vérifier votre configuration et
de redémarrer Nagios.

Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmes de
configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processus de
vérification ne se déroule sans erreur!
Chapitre 14. Supervision des routeurs et des switchs.
Table des matières

o Introduction

o Vue globale

o Étapes

o Ce qui est déjà fait pour vous

o Pré-requis

o Configuration de Nagios

o Supervision des services

o Supervision des paquets perdus et de la RTA

o Supervision de l'information d'état SNMP

o Supervision de la bande passante/trafic

o Redémarrage de Nagios

Ce document décrit la façon dont vous pouvez superviser des routeurs et switchs réseaux. Quelques switchs et
hubs bon marché non manageables n'ont pas d'adresse IP et sont invisibles sur votre réseau, il n'y a donc aucun
moyen de les superviser. Les routeurs et switchs plus chers ont une adresse assignée et peuvent donc être
supervisés en les pingant ou en utilisant SNMP pour interroger les informations de statut.

Introduction

Je vais décrire la façon dont vous pouvez superviser les choses suivantes sur vos switchs, hubs et routeurs:

o Paquet perdu, temps moyen de parcours (round trip average)


o Information d'état SNMP

o Trafic / bande passante consommée


Ces instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Les exemples de
configuration ci-dessous font référence aux objets de configuration définis dans les fichiers d'exemples
(commands.cfg, templates.cfg, etc.) qui ont été installé si vous avez suivi le guide rapide.

Vue globale
La supervision des switchs et routeurs peut au choix être simple ou plus évoluée suivant le type d'équipements
que vous souhaitez superviser. Dans le cas où ce sont des composants critiques de votre infrastrcuture, vous
voudrez sans aucun doute les superviser d'une façon au moins basique.

Les switchs et les routeurs peuvent facilement être supervisés en les pingant pour déterminer le nombre de
paquets perdus, RTA, etc. Si votre switch supporte SNMP, vous pouvez superviser l'état des ports, etc. avec le
plugin check_snmpet la bande passante avec check_mrtgtraf plugin (si vous utilisez MRTG).

Le plugin check_snmp sera compilé et installé seulement si vous avez les paquets net-snmp et net-snmp-
utils installés sur votre système. Assurez-vous que le plugin soit présent
dans /usr/local/nagios/libexec avant de continuer. Si ce n'est pas le cas, installez net-snmp, net-
snmp-utils et recompilez/réinstallez les plugins Nagios.

Étapes
Il y a plusieurs étapes à suivre pour pouvoir superviser un nouveau routeur ou switch. Les
voici:

1. Procédez aux pré-requis nécessaires la première fois


2. Créez de nouvelles définitions d'hôte et service pour la supervision du périphérique.
3. Redémarrez le démon Nagios
Ce qui est déjà fait pour vous
Pour vous rendre la vie un peu plus facile, quelques tâches de configuration ont déjà été faites pour vous :

o Deux définitions de commandes (check_snmp et check_local_mrtgtraf) ont été ajoutées au


fichier commands.cfg. Elles vous permettent d'utiliser les
plugins check_snmp et check_mrtgtraf pour superviser les routeurs réseaux.

o Un gabarit d'hôte de type switch (nommé generic-switch) a déjà été créé dans le
fichier templates.cfg. Cela vous permet de rajouter des définitions d'hôtes de type
routeur/switch de façon simple.

Les fichiers de configuration mentionnés ci-dessus peuvent être trouvés dans le


répertoire /usr/local/nagios/etc/objects/. Vous pouvez modifier les définitions de ceux-ci ou en
créer de nouvelles pour répondre le mieux à votre besoin. Quoi qu'il en soit, je vous recommande d'attendre
d'avoir une meilleure connaissance de la configuration de Nagios avant de le faire. Pour le moment, contentez-
vous de suivre les directions précisées ci-dessous et vous pourrez superviser vos routeurs/switchs réseaux en un
rien de temps.

Pré-requis
La première fois que vous configurez Nagios pour superviser un switch réseau, vous avez un
peu plus de travail à faire. Souvenez-vous, vous n'avez à le faire que pour le *premier* switch
à superviser.

Éditez le fichier de configuration principal de Nagios.

#vi /usr/local/nagios/etc/nagios.cfg

Supprimez le caractère (#) du début de la ligne suivante du fichier de configuration principal :

#cfg_file=/usr/local/nagios/etc/objects/switch.cfg
Enregistrez le fichier et quittez.

Qu'avez-vous fait? Vous avez dit à Nagios de regarder dans le


fichier /usr/local/nagios/etc/objects/switch.cfgpour y trouver des définitions
d'objets additionnels. C'est là que vous ajouterez des définitions pour les routeurs et les
switchs. Ce fichier de configuration contient déjà un exemple de definitions d'hôte et de
service. Pour le *premier* routeur/switch que vous supervisez, vous pouvez simplement
modifier les définitions d'exemple d'hôte et de service dans ce fichier plutôt que d'en créer de
nouvelles.

Configuration de Nagios
Vous allez devoir créer quelques définitions d'objets pour pouvoir superviser un nouveau routeur/switch.

Éditez le fichier switch.cfg.

#vi /usr/local/nagios/etc/objects/switch.cfg

Ajouter une nouvelle définition d'hôte pour le switch que vous souhaitez superviser. Si c'est le *premier* que
vous supervisez, vous pouvez simplement modifier l'exemple de définition d'hôte dans switch.cfg.
Remplacez les champs host_name, alias, et address par les valeurs appropriées pour votre switch.

define host {
use generic-switch ; Inherit default values from a template
host_name linksys-srw224p ; The name we're giving to this switch
alias Linksys SRW224P Switch ; A longer name associated with the
switch
address 192.168.1.253 ; IP address of the switch
hostgroups allhosts,switches ; Host groups this switch is associated
with
}

Supervision des services


Vous pouvez ajouter maintenant quelques définitions de services (dans le même fichier de configuration) pour
superviser différents aspects de votre switch. Si c'est le *premier* switch que vous supervisez, vous pouvez
simplement modifier l'exemple de définition d'hôte dans switch.cfg.

Remplacez linksys-srw224p dans les exemples de définitions ci-dessous par le nom que vous avez
renseigné dans le paramètre host_name que vous venez d'ajouter dans la définition d'hôte.

Supervision des paquets perdus et de la RTA


Ajoutez cette définition de service pour pouvoir superviser les paquets perdus et le temps moyen de réponse
entre le serveur Nagios et le switch toutes les 5 minutes en conditions normales.

define service {
use generic-service
host_name linksys-srw224p
service_description PING
check_command check_ping!200.0,20%!600.0,60%
normal_check_interval 5
retry_check_interval 1
}

Hérite des valeurs définies dans le gabarit

Le nom de l'hôte et du service associé

La description du service

La commande à utiliser pour superviser le service

Contrôle le service toutes les 5 minutes en conditions normales

Recontrôle le service toutes les minutes jusqu'à ce que son état final/hard soit déterminé

Le service sera:
o CRITICAL si le temps de réponse moyen (RTA) est plus élevé que 600 millisecondes ou que le nombre
de paquets perdus est égal ou supérieur à 60%
o WARNING si le RTA est supérieur à 200 ms ou que le nombre de paquets perdus est égal ou supérieur à
20%
o OK si le RTA est inférieur à 200 ms et que le nombre de paquets perdus est inférieur à 20%
Supervision de l'information d'état SNMP
Si votre switch ou routeur supporte SNMP, vous pouvez superviser un tas d'information en utilisant le
plugin check_snmp. Sinon, sautez cette section.

Ajoutez la définition de service suivante pour superviser le temps écoulé depuis la mise sous tension de votre
switch.

define service {
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Uptime
check_command check_snmp!-C public -o sysUpTime.0
}

Dans le paramètre check_command de la définition de service ci-dessus, le -C public indique au plugin


que le nom de communauté SNMP à utiliser est public et que -o sysUpTime.0 indique que l' OID doit
être contrôlé.

Si vous souhaitez vous assurer qu'un port/interface particulier du switch est dans un état up, vous pouvez
ajouter une définition de service comme celle-ci:

define service {
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Port 1 Link Status
check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m
RFC1213-MIB
}

Dans l'exemple ci-dessus, -o ifOperStatus.1 fait référence à OID pour l'état opérationnel du port 1 sur le
switch.

L'option -r 1 indique au plugin check_snmp de retourner un état OK si 1 est trouvé dans la réponse SNMP (1
indique que le port est up) et CRITICAL sinon.

L'option -m RFC1213-MIB est optionnel et indique la MIB à utiliser parmi celles installées sur votre système
et peut aider à accélérer les choses.
Voilà pour l'exemple de supervision avec SNMP. Il y a des millions de choses qui peuvent être supervisées
par SNMP, aussi est-ce à vous décider ce que dont vous avez besoin et ce que vous souhaitez superviser. Bonne
chance!

Vous pouvez trouver les OIDs qui peuvent supervisés sur un switch en exécutant la commande suivante
(remplacez 192.168.1.253 par l'adresse IP de votre switch): snmpwalk -v1 -c public 192.168.1.253 -m
ALL .1

Supervision de la bande passante/trafic


Si vous supervisez l'usage de la bande passante de vos switchs et routeurs en utilisant MRTG , vous pouvez
utiliser Nagios pour alerter quand les valeurs dépassent un seuil que vous spécifiez. Le
plugin check_mrtgtraf (inclus dans la distribution de splugins Nagios) vous permet de le faire.

Vous aurez besoin que le plugin check_mrtgtraf connaisse l'emplacement du fichier où MRTG stocke ses
données, ainsi que les seuils, etc. Dans mon exemple, je supervise un des ports d'un switch Linksys. Le fichier
de log de MRTG est stocké dans /var/lib/mrtg/192.168.1.253_1.log. Voici la définition de service
que j'utilise pour superviser les données de bande passante stockées dans ce fichier…

define service {
use generic-service ; Inherit values from a template
host_name linksys-srw224p
service_description Port 1 Bandwidth Usage
check_command
check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log!AVG!1000000,2000000!
5000000,5000000!10
}

Dans l'exemple ci-dessus, l'option /var/lib/mrtg/192.168.1.253_1.log passée à la


commande check_local_mrtgtrafindique au plugin dans quel fichier de log MRTG il doit aller lire.

L'option AVG indique qu'il doit utiliser des statistiques basées sur la moyene de la bande passante. Les
arguments 1000000,2000000 sont les seuils de warning (en bytes) pour le taux de trafic entrant.

Les arguments 5000000,5000000 sont des seuils critiques (en bytes) pour le taux de trafic sortant.
L' 10 option indique au plugin de renvoyer un état CRITICAL si le fichier de log MRTG est plus vieux que 10
minutes (il devrait être mis à jour toutes les 5 minutes).

Enregistrez le fichier.

Redémarrage de Nagios
Une fois que vous avez ajouté les nouvelles définitions d'hôte et de service dans le fichier switch.cfg, vous
êtes prêt à démarrer la supervision d'un routeur/switch. Pour cela, vous aurez besoin de vérifier votre
configuration et redémarrez Nagios.
Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmes de
configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processus de
vérification ne se déroule sans erreur!

Chapitre 15. Supervision des services publiquement disponibles


Table des matières

o Introduction

o Plugins pour la supervision des services

o Création d'une définition d'hôte

o Création d'une définition de service

o Supervision HTTP

o Supervision FTP

o Supervision SSH

o Supervision SMTP

o Supervision POP3

o Supervision IMAP

o Redémarrage de Nagios

Ce document décrit la façon de superviser des services, applications et protocoles rendus disponibles
publiquement. Par public j'entends les services qui sont accessibles à travers le réseau - que ce soit votre
réseau local ou plus grand avec Internet. Les exemples de ce type de services
incluent HTTP, POP3, IMAP, FTP, and SSH. Il y a beaucoup plus de services publics que ce que vous utilisez
probablement au quotidien. Ces services et applications, ainsi que les protocoles sous-jacents, peuvent en
général être supervisés avec Nagios sans nécessiter d'accès spéciaux.

Introduction
Les services privés, à l'opposé, ne peuvent pas être supervisés par Nagios sans agent intermédiaire de quelque
type. Les exemples de services privés associés à des hôtes sont des choses comme la charge CPU, l'utilisation
mémoire, l'utilisation du disque, le nombre d'utilisateurs connectés, des informations sur les processus, etc.
Ces services privés ou attributs d'hôtes ne sont en général pas exposés à un client externe. Cette situation
requiert qu'un agent intermédiaire de supervision soit installé sur chacun des hôtes dont vous avez besoin de
superviser ce type d'informations. Plus d'information sur la supervision des services privés attachés à des hôtes
de différents types peut être trouvée dans la documentation à:

o Superviser des machines Windows


o Superviser des serveurs Netware
o Superviser des machines Linux/Unix

Vous trouverez occasionnellement que cette information sur les services et applications privés peut être
supervisée avec SNMP. L'agent SNMP vous permet de superviser à distance l'information d'hôte normalement
privée (et inaccessible). Jetez un œil sur la documentation Supervision des routeurs/switchs pour avoir plus
d'information sur la façon de superviser des services avec le protocole SNMP.
Ces instructions impliquent que vous ayez installé Nagios comme précisé dans le guide rapide. Les exemples de
configuration ci-dessous font référence aux objets de configuration définis dans les fichiers d'exemples
(commands.cfg, templates.cfg, etc.) qui ont été installés si vous avez suivi le guide rapide.

Plugins pour la supervision des services


Quand vous avez besoin de superviser un service, application, protocole particulier, les chances sont grandes
qu'un pluginexiste pour le faire. La distribution officielle des plugins Nagios fournit des plugins qui peuvent être
utilisés pour contrôler une grande variété de services et protocoles. Il y a aussi toute une collection de plugins
qui peut être trouvée dans le sous répertoire contrib/ de la distribution des plugins. Le
site NagiosExchange.org héberge aussi de nombreux plugins additionnels écrits par des utilisateurs, n'hésitez
pas à y tenter votre chance.

Si vous ne parvenez pas à trouver un plugin approprié pour superviser ce dont vous avez besoin, vous pouvez
toujours écrire le vôtre. Les plugins sont faciles à écrire, ne vous laissez donc pas effrayer par cette idée. Lisez
la documentation sur le développement de plugins pour plus d'informations.

Je vais passer en revue la supervision de services basiques que vous aurez probablement à faire tôt au tard.
Chacun de ces services peut être supervisé en utilisant un des plugins compris dans la ditribution Nagios.
Allons-y…

Création d'une définition d'hôte


Avant de pouvoir superviser un service, vous devez d'abord définir un host associé à ce service. Vous pouvez
mettre les définitions d'hôtes dans n'importe quel fichier de configuration spécifié avec le
paramètre cfg_file ou les mettre dans un dossier précisé par le paramètre cfg_dir . Si vous avez déjà
créé une définition d'hôte, vous pouvez passer cette étape.

Pour cet exemple, disons que vous souhaitez superviser une variété de services sur un hôte distant. Appelons
cet hôte remotehost. La définition de l'hôte peut être mise dans son propre fichier de configuration ou ajoutée
à un existant. Voilà à quoi pourrait ressembler la définition de l'hôte remotehost:

define host {
use generic-host ; Inherit default values from a template
host_name remotehost ; The name we're giving to this host
alias Some Remote Host ; A longer name associated with the host
address 192.168.1.50 ; IP address of the host
hostgroups allhosts ; Host groups this host is associated
with
}

Maintenant qu'une définition d'hôte a été ajoutée pour l'hôte à superviser, nous pouvons commencer à définir
les services qui doivent être contrôlés. Comme pour la définition de l'hôte, les définitions de services peuvent
être mises dans n'importe quel fichier de configuration.

Création d'une définition de service


Pour chaque service à superviser, vous devez créer un service dans Nagios associé à la définition d'hôte que
vous avez juste créé. Vous pouvez mettre des définitions de services dans n'importe quel fichier de
configuration précisé par le paramètre cfg_file ou dans n'importe quel dossier précisé par le
paramètre cfg_dir .

Quelques exemples de définitions de services pour superviser des services publics communs ( HTTP, FTP, etc.)
sont donnés ci-dessous.

Supervision HTTP
Il y a de bonnes chances que vous ayez envie de superviser des serveurs web - que ce soit le vôtre ou celui de
quelqu'un d'autre. Le plugin check_http est juste fait pour ça. Il fonctionne avec le protocole HTTP et peut
superviser un temps de réponse, des codes d'erreurs, des chaînes de caractères dans la réponse HTML, des
certificats de serveurs, et beaucoup plus encore.

Le fichier commands.cfg contient une définition de commande pour utiliser le plugin check_http. Il
ressemble à ceci:

define command {
name check_http
command_name check_http
command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
}

Une définition simple de service pour superviser un service HTTP sur la machine remotehost pourrait
ressembler à ceci:

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description HTTP
check_command check_http
}

Cette simple définition de service va superviser le service HTTP fonctionnant sur remotehost. Ce service
génèrera des alertes si le sereur web ne répond pas dans les 10 secondes ou si la réponse contient un code
d'erreur HTTP (403, 404, etc.). C'est tout ce dont vous avez besoin pour une supervision basique. Plutôt
simple, non ?

Pour des possibilités plus avancées de supervision, utilisez le plugin check_http manuellement avec --
help comme argument de la ligne de commande pour voir toutes les options que peut vous fournir ce plugin.
Cette syntaxe --help fonctionne avec tous les plugins couverts par cette documentation.
Une définition plus avancée pour superviser le service HTTP est donnée ci-dessous. Cette définition de service
va vérifier que l'adresse URI /download/index.php contient la chaîne de caractères latest-version.tar.gz.
Une erreur sera produite si la chaîne n'est pas trouvée, si l'URI n'est pas valable, ou si le serveur web met plus
de 5 secondes à répondre.

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description Product Download Link
check_command check_http!-u /download/index.php -t 5 -s "latest-
version.tar.gz"
}

Supervision FTP
Quand vous avez besoin de superviser des serveurs FTP, vous pouvez utiliser le plugin check_ftp. Le
fichier commands.cfg une définition de commande pour utiliser le plugin check_ftp qui ressemble à ceci:

define command {
command_name check_ftp
command_line $USER1$/check_ftp -H $HOSTADDRESS$ $ARG1$
}

Une définition simple de service pour superviser un serveur FTP sur remotehost devrait ressembler à ceci:

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description FTP
check_command check_ftp
}

Cette définition de service va superviser le service FTP et générer des alertes si le serveur FTP ne répond pas
dans les 10 secondes.

Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur FTP en écoute
sur le port 1023 de remotehost. Une alerte sera émise si le serveur ne répond pas dans les 5 secondes ou si la
réponse que fait le serveur ne contient pas la chaîne de caractère Pure-FTPd [TLS].

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description Special FTP
check_command check_ftp!-p 1023 -t 5 -e "Pure-FTPd [TLS]"
}

Supervision SSH
Quand vous avez besoin de superviser des serveurs SSH, vous pouvez utiliser le plugin check_ssh. Le
fichier commands.cfg contient une définition de commande pour utiliser le plugin check_ssh qui
ressemble à ceci:

define command {
command_name check_ssh
command_line $USER1$/check_ssh $ARG1$ $HOSTADDRESS$
}

Une définition simple de service pour superviser un serveur SSH sur remotehost devrait ressembler à ceci:

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description SSH
check_command check_ssh
}

Cette définition de service va superviser le service SSH et générer des alertes si le serveur ne répond pas dans
les 10 secondes.

Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur SSH et générer
une alerte si le serveur ne répond pas dans les 5 secondes ou si le numéro de version ne correspond pas
à OpenSSH_4.2.

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description SSH Version Check
check_command check_ssh!-t 5 -r "OpenSSH_4.2"
}

Supervision SMTP
Le plugin check_smtp peut être utilisé pour superviser vos serveurs de messagerie. Le
fichier commands.cfg une définition de commande pour utiliser le plugin check_smtp qui ressemble à
ceci:

define command {
command_name check_smtp
command_line $USER1$/check_smtp -H $HOSTADDRESS$ $ARG1$
}

Une définition simple de service pour superviser un serveur SMTP sur remotehost devrait ressembler à ceci:

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description SMTP
check_command check_smtp
}

Cette définition de service va superviser le service SMTP et générer des alertes si le serveur SMTP ne répond
pas dans les 10 secondes.

Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur SMTP et générer
une alerte si le serveur ne répond pas dans les 5 secondes ou si la réponse du serveur ne contient pas la chaîne
de caractères mygreatmailserver.com.

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description SMTP Response Check
check_command check_smtp!-t 5 -e "mygreatmailserver.com"
}

Supervision POP3
Le plugin check_pop peut être utilisé pour superviser le service POP3 de vos serveurs de messagerie. Le
fichier commands.cfg une définition de commande pour utiliser le plugin check_pop qui ressemble à ceci:
define command {
command_name check_pop
command_line $USER1$/check_pop -H $HOSTADDRESS$ $ARG1$
}

Une définition simple de service pour superviser un serveur POP3 sur remotehost devrait ressembler à ceci:

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description POP3
check_command check_pop
}

Cette définition de service va superviser le service POP3 et générer des alertes si le serveur POP3 ne répond
pas dans les 10 secondes.

Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le serveur POP3 et générer
une alerte si le serveur ne répond pas dans les 5 secondes ou si la réponse du serveur ne contient pas la chaîne
de caractères mygreatmailserver.com.

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description POP3 Response Check
check_command check_pop!-t 5 -e "mygreatmailserver.com"
}

Supervision IMAP
Le plugin check_imap peut être utilisé pour superviser le service IMAP4 sur vos serveurs de messagerie. Le
fichier commands.cfg une définition de commande pour utiliser le plugin check_imap qui ressemble à
ceci:

define command {
command_name check_imap
command_line $USER1$/check_imap -H $HOSTADDRESS$ $ARG1$
}
Une définition simple de service pour superviser un serveur IMAP4 sur remotehost devrait ressembler à ceci:

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description IMAP
check_command check_imap
}

Cette définition de service va superviser le service IMAP4 et générer des alertes si le serveur IMAP ne répond
pas dans les 10 secondes.

Une définition de service plus avancée est donnée ci-dessous. Ce service va vérifier le service IMAP4 et
générer une alerte si le serveur ne répond pas dans les 5 secondes ou si la réponse du serveur ne contient pas
la chaîne de caractères mygreatmailserver.com.

define service {
use generic-service ; Inherit default values from a
template
host_name remotehost
service_description IMAP4 Response Check
check_command check_imap!-t 5 -e "mygreatmailserver.com"
}

Redémarrage de Nagios
Une fois que vous avez ajouté les définitions du nouvel hôte et du service à vos fichiers de configuration
d'objets, vous êtes prêt à démarrer la supervision de ceux-ci. Pour cela, vous devez vérifier votre
configuration et redémarrer Nagios.

Si le processus de vérification produit n'importe quel message d'erreur, réglez d'abord vos problèmes de
configuration avant de continuer. Assurez-vous de ne pas redémarrer Nagios avant que le processus de
vérification ne se déroule sans erreur!

Chapitre 16. Survol de la configuration


Table des matières

o Introduction

o Fichier de configuration principal

o Fichier de configuration des ressources


o Fichier de définition des objets

o Fichier de configuration des CGIs

Introduction
Il va falloir créer et éditer plusieurs fichiers de configuration avant de pouvoir surveiller quoique ce soit. Soyez
patient! La configuration de Nagios peut prendre du temps, surtout si vous êtes nouvel utilisateur. Quand vous
aurez compris comment fonctionne les choses, vous ne regretterez pas le temps passé. :-)

Des fichiers exemples de configuration sont installés dans le répertoire /usr/local/nagios/etc/, si


vous avez suivi le guide de démarrage rapide .

Fichier de configuration principal


Le fichier de configuration principal contient un certain nombre de paramètres qui affectent la manière dont
Nagios fonctionne. Ce fichier est lu par le processus Nagios et par les CGI. C'est ici que commence vos
aventures de configuration.

La documentation du fichier de configuration principal se trouve ici.

Fichier de configuration des ressources

Les fichiers des ressources sont utilisés pour stocker les macros définies par les utilisateurs. L'avantage de ces
fichiers est de pouvoir y mettre des données sensibles de configuration (comme des mots de passe) qui ne
seront pas accessibles à travers les CGIs.

Vous pouvez définir un ou plusieurs fichiers optionnels de ressources avec le


paramètre resource_file dans le fichier de configuration principal.

Fichier de définition des objets


Les fichiers de définitions des objets définissent les hôtes, services, groupes d'hôtes, contacts, groupes de
contacts, commandes, etc. C'est là que vous définissez les choses que vous souhaitez surveiller et comment
vous désirez le faire.

Vous pouvez définir un ou plusieurs fichiers de définitions des objets avec les
paramètres cfg_file et/ou cfg_dir dans le fichier de configuration principal.

Une introduction aux définitions d'objets et à la façon dont ils sont en relation les uns les autres peut être
consultée ici.

Fichier de configuration des CGIs


Le fichier de configuration des CGIs contient un certain nombre de paramètres qui affectent le mode de
fonctionnement des CGIs. Il contient également une référence au fichier de configuration principal, de façon à
ce que les CGIs sachent comment est configuré Nagios et où trouver les objets de configuration.

La documentation du fichier de configuration des CGIs se trouve ici.

Chapitre 21. Options du fichier de configuration des CGIs


Table des matières

o Exemple de configuration

o Emplacement du fichier de configuration

o Variables du fichier de configuration

o Emplacement du fichier de configuration principal

o Chemin d'accès physique aux fichiers HTML

o URL d'accès aux pages HTML

o Utilisation de l'authentification

o Nom d'utilisateur par défaut

o Accès aux informations sur le système et le processus

o Accès aux commandes du système/processus

o Accès aux informations de configuration

o Accès global aux informations sur les hôtes

o Accès global aux commandes des hôtes

o Accès global aux informations sur les services

o Accès global aux commandes des services

o Vérouillage des noms d'auteur

o Image de fond du CGI de cartographie des états (Statusmap)

o Dessin de la cartographie des états: valeur par défaut


o Monde inclus dans le CGI du monde des états (Statuswrl)

o Dessin du monde des états: valeur par défaut

o Fréquence de rafraîchissement des CGIs

o Alertes sonores

o Syntaxe Ping

o Option d'échappement des balises HTML

o URL cible des notes

o URL cible d'action

o Option d'intégration Splunk

o URL Splunk

Lors de la création et/ou l'édition des fichiers de configuration, gardez ce qui suit à l'esprit:
o Les lignes commençant par le caractère '#' sont considérées comme des commentaires et ne sont donc
pas traitées
o Les noms des variables doivent commencer au début de la ligne - ne mettez pas d'espace avant le nom
o Les noms des variables respectent la casse (majuscule/minuscule)

Exemple de configuration
Un exemple de fichier de configuration pour les CGIs (/usr/local/nagios/etc/cgi.cfg) est créé pour
vous quand vous suivez le guide rapide d'installation .

Emplacement du fichier de configuration


Par défaut, Nagios s'attend à trouver le fichier de configuration des CGIs sous le nom cgi.cfg dans le
répertoire de configuration avec le fichier de configuration principal .Si vous changez le nom ou l'emplacement
du fichier, vous devez configurer Apache pour qu'il passe une variable d'environnement
nommée NAGIOS_CGI_CONFIG (contenant l'emplacement correct du fichier) aux CGIs de Nagios. Voir la
configuration d'Apache pour plus de détails.

Variables du fichier de configuration


o Emplacement du fichier de configuration principal

o Chemin d'accès physique aux fichiers HTML

o URL d'accès aux pages HTML

o Utilisation de l'authentification

o Nom d'utilisateur par défaut

o Accès aux informations sur le système et le processus

o Accès aux commandes du système/processus

o Accès aux informations de configuration

o Accès global aux informations sur les hôtes

o Accès global aux commandes des hôtes

o Accès global aux informations sur les services


o Accès global aux commandes des services

o Vérouillage des noms d'auteur

o Image de fond du CGI de cartographie des états (Statusmap)

o Dessin de la cartographie des états: valeur par défaut

o Monde inclus dans le CGI du monde des états (Statuswrl)

o Dessin du monde des états: valeur par défaut

o Fréquence de rafraîchissement des CGIs

o Alertes sonores

o Syntaxe Ping

o Option d'échappement des balises HTML

o URL cible des notes

o URL cible d'action

o Option d'intégration Splunk

o URL Splunk

Ci-dessous, vous trouverez les descriptions de chaque option de configuration du fichier principal de Nagios…

Emplacement du fichier de configuration principal


Format: main_config_file=<file_name>

Exemple: main_config_file=/usr/local/nagios/etc/nagios.cfg

Cette option détermine le chemin d'accès à votre fichier de configuration principal .Les CGIs doivent savoir où
trouver ce fichier pour récupérer les informations de configuration, l'état courant des hôtes et des services,
etc.

Chemin d'accès physique aux fichiers HTML


Format: physical_html_path=<path>

Exemple: physical_html_path=/usr/local/nagios/share

C'est le chemin du répertoire physique de votre serveur où sont stockés les fichiers HTML de Nagios. Nagios
suppose que la documentation et les images (utilisées par les CGIs) sont stockées dans des sous-répertoires
nommés respectivement docs/ et images/.

URL d'accès aux pages HTML


Format: url_html_path=<path>

Exemple: url_html_path=/nagios

Si, lors de l'accès à Nagios via un navigateur web, vous pointez sur une URL du
type http://www.myhost.com/nagios, cette variable doit avoir pour valeur /nagios. En fait, il s'agit
de la partie contenant le chemin d'accès aux pages HTML de Nagios dans l'URL utilisée pour accéder aux pages
HTML de Nagios.

Utilisation de l'authentification
Format: use_authentication=<0/1>

Exemple: use_authentication=1

Cette option détermine si les CGIs utiliseront l'authentification et les autorisations pour déterminer les
informations et les commandes auxquelles les utilisateurs auront accès. Je vous recommande vivement
d'utiliser l'authentification dans les CGIs. Si vous choisissez de ne pas le faire, assurez-vous de supprimer le CGI
de commande pour empêcher les utilisateurs non autorisés d'envoyer des commandes à Nagios. Ce CGI ne
devrait pas envoyer de commandes à Nagios si l'authentification est désactivée, mais deux précautions valent
mieux qu'une. Vous trouverez plus d'informations sur la façon de configurer l'authentification et les
autorisations dans les CGIs ici.

o 0 = Ne pas utiliser l'authentification


o 1 = Utiliser l'authentification et les autorisations (par défaut)
Nom d'utilisateur par défaut
Format: default_user_name=<username>

Exemple: default_user_name=guest

Cette variable définit un nom d'utilisateur par défaut pour accéder aux CGIs. Ainsi les utilisateurs d'un domaine
sécurisé (i.e., derrière un firewall) peuvent accéder aux CGIs sans avoir à s'authentifier auprès du serveur web.
Vous pouvez choisir cette fonctionnalité pour éviter le recours à l'authentification de base si vous n'utilisez pas
un serveur web sécurisé, car l'authentification de base transmet les mots de passe en clair sur Internet.

Ne définissez pas un utilisateur par défaut à moins que vous n'utilisiez un serveur web sécurisé et que vous
soyez sûr que tous ceux qui ont accès aux CGIs ont été authentifiés d'une manière ou d'une autre ! Si vous
définissez cette variable, ceux qui ne se sont pas authentifiés auprès du serveur web hériteront de tous les
droits que vous donnez à cet utilisateur !

Accès aux informations sur le système et le processus


Format: authorized_for_system_information=<user1>,<user2>,…<usern>

Exemple: authorized_for_system_information=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir les informations
sur le système et le processus dans les CGIs d'informations complémentaires. Les utilisateurs de cette liste ne
sont pas automatiquement autorisés à passer des commandes système/processus. Si vous voulez que des
utilisateurs puissent aussi passer ces commandes, il faut les ajouter à la
variable authorized_for_system_commands. Vous trouverez plus d'informations sur la façon de configurer
l'authentification et les autorisations des CGIs ici.

Accès aux commandes du système/processus


Format: authorized_for_system_commands=<user1>,<user2>,…<usern>

Exemple: authorized_for_system_commands=nagiosadmin

C'est une liste de nom d'utilisateurs authentifiés, séparés par des virgules, qui peuvent passer des commandes
système/processus via le CGI de commande. Les utilisateurs de cette liste ne sont pas automatiquement
autorisés à visualiser les informations sur le système et le processus. Si vous voulez que des utilisateurs
puissent visualiser ces informations aussi, il faut les ajouter à la variable authorized_for_system_information.
Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGI ici.

Accès aux informations de configuration


Format: authorized_for_configuration_information=<user1>,<user2>,…<usern>

Exemple: authorized_for_configuration_information=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir les informations
liées à la configuration via le CGI de configuration. Les utilisateurs de cette liste peuvent voir les informations
sur tous les hôtes configurés, les groupes d'hôtes, les services, les contacts, les groupes de contacts, les
périodes, et les commandes. Vous trouverez plus d'informations sur la façon de configurer l'authentification et
les autorisations dans les CGI ici.

Accès global aux informations sur les hôtes


Format: authorized_for_all_hosts=<user1>,<user2>,…<usern>

Exemple: authorized_for_all_hosts=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir l'état et la
configuration de tous les hôtes. Les utilisateurs de cette liste sont également automatiquement autorisés à voir
les informations de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à
envoyer des commandes aux hôtes ou aux services. Si vous voulez que des utilisateurs puissent aussi envoyer
des commandes, il faut les ajouter à la variableauthorized_for_all_host_commands. Vous trouverez plus
d'informations sur la façon de configurer l'authentification et les autorisations des CGIs ici.

Accès global aux commandes des hôtes


Format: authorized_for_all_host_commands=<user1>,<user2>,…<usern>

Exemple: authorized_for_all_host_commands=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent envoyer des
commandes à tous les hôtes via le CGI de commande. Les utilisateurs de cette liste sont également
automatiquement autorisés à envoyer des commandes à tous les services. Les utilisateurs de cette liste ne sont
pas automatiquement autorisés à voir l'état ou la configuration de tous les hôtes ou services. Si vous voulez que
des utilisateurs puissent voir ces informations aussi, il faut les ajouter à la variable authorized_for_all_hosts.
Vous trouverez plus d'informations sur la façon de configurer l'authentification et les autorisations des CGIs ici.
Accès global aux informations sur les services
Format: authorized_for_all_services=<user1>,<user2>,…<usern>

Exemple: authorized_for_all_services=nagiosadmin,theboss

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent voir l'état et la
configuration de tous les services. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à voir
les informations de tous les hôtes. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à
envoyer des commandes à tous les services. Si vous voulez que des utilisateurs puissent aussi envoyer des
commandes, il faut les ajouter à la variableauthorized_for_all_service_commands. Vous trouverez plus
d'informations sur la façon de configurer l'authentification et les autorisations des CGIs ici.

Accès global aux commandes des services


Format: authorized_for_all_service_commands=<user1>,<user2>,<user3>,…<usern>

Exemple: authorized_for_all_service_commands=nagiosadmin

C'est une liste de noms d'utilisateurs authentifiés, séparés par des virgules, qui peuvent envoyer des
commandes à tous les services via le CGI de commande. Ils ne sont pas non plus automatiquement autorisés à
envoyer des commandes aux hôtes. Les utilisateurs de cette liste ne sont pas automatiquement autorisés à voir
l'état ou la configuration de tous les services. Si vous voulez que des utilisateurs puissent aussi voir ces
informations, il faut les ajouter à la variable authorized_for_all_services. Vous trouverez plus d'informations
sur la façon de configurer l'authentification et les autorisations des CGIs ici.

Vérouillage des noms d'auteur


Format: lock_author_names=[0/1]

Exemple: lock_author_names=1

Cette option vous autorise à restreindre le fait que les utilisateurs puissent changer le nom de l'auteur quand
ils soumettent des commentaires, des acquittements, et une période de maintenance planifiée depuis
l'interface web. Quand cette option est activée, les utilisateurs peuvent changer le nom de l'auteur associé à la
requête.

o 0 = Autorise les utilisateurs à changer les noms d'auteur quand ils soumettent des commandes
o 1 = Empêche les utilisateurs de changer les noms d'auteur quand ils soumettent des commandes
(défaut)
Image de fond du CGI de cartographie des états (Statusmap)
Format: statusmap_background_image=<image_file>

Exemple: statusmap_background_image=smbackground.gd2

Cette option permet de spécifier une image qui sera utilisée comme fond d'image dans le CGI de cartographie
des états si vous utilisez la méthode de dessin des coordonnées définies par l'utilisateur. L'image de fond n'est
disponible dans aucune autre méthode. Il est supposé que l'image est située dans le chemin des images HTML (
c.a.d /usr/local/nagios/share/images). Ce chemin est automatiquement déterminé en
ajoutant /images au chemin défini dans le paramètre physical_html_path.

Cette image peut être au format GIF, JPEG, PNG, ou GD2. Cependant, le format GD2 (de préférence en format
non compressé) est recommandé, en raison de la faible charge CPUrequise quand le CGI génère l'image.

Dessin de la cartographie des états: valeur par défaut


Format: default_statusmap_layout=<layout_number>

Exemple: default_statusmap_layout=4

Cette option définit la méthode de dessin utilisée par défaut par le CGI de cartographie des états .Les valeurs
autorisées sont:

Valeur <layout_number> Méthode de dessin

0 Coordonnées définies par l'utilisateur

1 Couches imbriquées

2 Arbre réduit

3 Arbre équilibré

4 Circulaire

5 Circulaire (avec marque supérieure)

6 Circulaire (sous forme de ballon)

Monde inclus dans le CGI du monde des états (Statuswrl)


Format: statuswrl_include=<vrml_file>

Exemple: statuswrl_include=myworld.wrl

Cette option permet d'inclure ses propres objets dans le monde VRML généré. Elle suppose que le fichier est
situé dans le chemin défini par le paramètre physical_html_path.

Ce fichier doit être un monde VRML valide (c.a.d que vous devez pouvoir le visualiser avec un navigateur VRML)

Dessin du monde des états: valeur par défaut


Format: default_statuswrl_layout=<layout_number>

Exemple: default_statuswrl_layout=4

Cette option définit la méthode utilisée par défaut pour dessiner le monde VRML avec le CGI concerné
(Statusvrml) .Les options autorisées sont:
Valeur <layout_number> Méthode de dessin

0 Coordonnées définies par l'utilisateur

2 Arbre réduit

3 Arbre équilibré

4 Circulaire

Fréquence de rafraîchissement des CGIs


Format: refresh_rate=<rate_in_seconds>

Exemple: refresh_rate=90

Cette option vous permet de spécifier le délai en secondes entre deux rafraîchissements de page dans les CGI
d'état, de cartographie des états, et d'informations complémentaires .

Alertes sonores
Formats: host_unreachable_sound=<sound_file> host_down_sound=<sound_file>service_criti

Exemples: host_unreachable_sound=hostu.wav host_down_sound=hostd.wavservice_critical_so

Cette option vous permet de spécifier un fichier audio à jouer dans votre navigateur lorsqu'il y a des problèmes
dans leCGI d'état. En cas de problèmes multiples, le fichier audio joué est celui du problème le plus critique.
Un problème est considéré comme le plus critique lorsqu'un ou plusieurs hôtes sont inaccessibles, alors qu'il est
le moins critique lorsqu'un ou plusieurs services sont dans un état inconnu (voyez l'ordre dans l'exemple ci-
dessus). Les fichiers audios sont censés se trouver dans le sous-répertoire media/ de votre répertoire HTML
(i.e. /usr/local/nagios/share/media).

Syntaxe Ping
Format: ping_syntax=<command>

Exemple: ping_syntax=/bin/ping -n -U -c 5 $HOSTADDRESS$

Cette option définit quelle syntaxe doit être utilisée quand on veut tester un hôte avec ping à travers
l'interface WAP en utilisant le CGI statuswml .Vous devez inclure le chemin complet vers le fichier binaire
exécutable de ping, ainsi que les paramètres passés à la commande. La macro $HOSTADDRESS$ est
remplacée par l'adresse de l'hôte avant que la commande ne soit exécutée.

Option d'échappement des balises HTML


Format: escape_html_tags=[0/1]

Exemple: escape_html_tags=1
Cette option détermine si les balises HTML contenues dans le message retour des plugins de services et d'hôtes
doivent être ou non échappées dans les CGI. Si vous activez cette option, votre message retour de plugin ne
peut pas contenir de liens hypertexte.

URL cible des notes


Format: notes_url_target=[target]

Exemple: notes_url_target=_blank

Cette option détermine le nom du cadre cible dans lequel doit être affiché les URL des notes. Les options
acceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.

URL cible d'action


Format: action_url_target=[target]

Exemple: action_url_target=_blank

Cette option détermine le nom du cadre cible dans lequel doit être affiché les URL d'action. Les options
acceptables sont _blank, _self, _top, _parent, ou n'importe quel nom de cadre valide.

Option d'intégration Splunk


Format: enable_splunk_integration=[0/1]

Exemple: enable_splunk_integration=1

Cette option détermine si la fonctionnalité d'intégration avec Splunk est activée dans l'interface web. Si
activée, il vous sera présenté un lien Splunk It à divers endroits dans les CGIs (fichier journal, historique
d'alerte, détail d'hôte/service, etc.). Utile si vous essayez de rechercher pourquoi un problème particulier est
survenu. Pour plus d'informations sur Splunk, visitez http://www.splunk.com/.

URL Splunk
Format: splunk_url=<path>

Exemple: splunk_url=http://127.0.0.1:8000/

Cette option est utilisée pour définir l'URL de base de votre interface Splunk. Cet URL est utilisé par les CGIs
pour créer les liens si l'option enable_splunk_integration est activée.

Chapitre 25. Les Plugins Nagios


Table des matières

o Introduction

o Que sont les plugins?


o Les plugins comme une couche intermédiaire

o Quels plugins existe-il?

o Obtenir des plugins

o Comment utiliser le plugin x?

o Plugin API

Introduction
Comme pas mal d'autres outils de supervision, Nagios n'intègre aucun mécanisme pour contrôler l'état des hôtes
et services sur votre réseau. Du coup, Nagios délègue à des programmes externes (appelés plugins) tout le sale
boulot.

Que sont les plugins?


Les plugins sont des programmes compilés ou des scripts (Perl, shell, etc.) qui peuvent être exécutés par une
ligne de commande pour contrôler l'état d'un hôte ou d'un service. Nagios utilise le résultat des plugins pour
déterminer le statut actuel des hôtes ou services sur le réseau.

Nagios exécutera un plugin seulement lorsqu'il sera nécessaire de vérifier le statut d'un service ou d'un hôte. Le
plugin fait quelque chose (notez le sens très général du terme) pour effectuer le contrôle et renvoie
simplement le résultat à Nagios. Nagios traitera les résultats qu'il aura reçu du plugin et prendra les mesures
nécessaires (en exécutant des gestionnaires d'événements, en envoyant des notifications, etc.).

Les plugins comme une couche intermédiaire

Les plugins sont comme une couche intermédiaire entre le ordonnancement de contrôle présent dans le démon
Nagios et les services ou hôtes à superviser.

L'avantage de ce type d'architecture de plugin est que vous pouvez superviser à peu près tout ce que vous
voulez. Si vous pouvez automatiser le procédé de contrôle de quelque-chose, vous pouvez le superviser avec
Nagios. Il existe déjà plein de plugins qui ont été créés pour superviser des ressources basiques comme la
charge processeur, l'espace disque utilsé, les statistiques de la commande ping, etc. Si vous voulez superviser
autre chose, reportez-vous à la documentation nommée écrire ses plugins et créez les vôtres. C'est très simple!
L'inconvénient de ce type d'architecture de plugin est le fait que Nagios n'a absolument aucune idée de ce que
vous supervisez. Vous pourriez superviser les statistiques du trafic réseau, les taux d'erreur de données, la
température ambiante, la tension du CPU, la vitesse du ventilateur, la charge du processeur, l'espace disque,
ou la capacité de votre super_fantastique grille-pain à griller parfaitement votre pain le matin… Nagios ne
comprend pas les spécificités de ce qui est supervisé. Les plugins seulement savent exactement ce qu'ils
contrôlent et comment effectuer ces contrôles.

Quels plugins existe-il?


Il existe des plugins disponibles actuellement pour contrôler de nombreux types différents de matériels et de
services, y compris:

o HTTP, POP3, IMAP, FTP, SSH, DHCP

o Charge CPU, espace disque utilisé, mémoire utilisée, utilisateurs connectés


o Unix/Linux, Windows, et serveurs Netware
o Routeurs et switchs
o etc…
Obtenir des plugins
Les plugins ne sont pas distribués avec Nagios, mais vous pouvez télécharger les plugins officiels Nagios et
d'autres plugins supplémentaires créés et soutenus par les utilisateurs Nagios aux adresses suivantes:

o Projet Plugins Nagios: http://nagiosplug.sourceforge.net/


o La page de téléchargement du site Nagios: http://www.nagios.org/download/
o NagiosExchange.org: http://exchange.nagios.org//
Comment utiliser le plugin x?
La grosse majorité des plugins affichent des informations basiques d'usage quand vous les exécutez en
utilisant -h ou --help en ligne de commandes. Par exemple, si vous voulez savoir comment le
plugin check_http fonctionne ou quelles options il accepte, vous pouvez essayer d'exécuter la commande
suivante: ./check_http --help

Plugin API
Vous pouvez trouver des informations sur les aspects techniques des plugins, ainsi que des informations sur
comment développer vos propres plugins ici.

Vous aimerez peut-être aussi