• 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 11/06/2021

Installez les plugins standards de Nagios

Dans ce chapitre vous allez installer les plugins standards de Nagios. Ces plugins sont dits « standards » parce que développés et maintenus par l’équipe de développement Nagios, contrairement aux plugins dits « communautaires », mis à disposition par la communauté des utilisateurs Nagios via la plateforme https://exchange.nagios.org.

Une fois les plugins installés, nous définirons des alias de commande pour faciliter leur utilisation. Bien que cette étape ne soit pas obligatoire, elle pourra vous faire gagner du temps dans la suite du cours.

Préparez un serveur Debian à recevoir les plugins standards de Nagios

Vous avez normalement déjà effectué la phase de préparation dans le premier chapitre de cette partie, en installant toutes les dépendances nécessaires. Nagios précise tout de même quelques spécificités concernant l’utilisation de plugins particuliers. Vous pouvez retrouver ces informations ainsi que le processus d’installation des plugins sur la page suivante.

Vous pourrez notamment y trouver les instructions pour des plugins spécifiques comme, par exemple, la gestion d’un LDAP, d’une base de données MySQL ou encore de Samba :

Plugins requis pour installer les plugins standards
Plugins requis pour installer les plugins standards

Quoi qu’il en soit, le processus d’installation des plugins va aussi vérifier l’installation des composants nécessaires, signaler s’il en manque ou si tel ou tel plugin ne peut être compilé.

Téléchargez et compilez les sources des plugins standards de Nagios

Les sources des plugins standards de Nagios sont également disponibles gratuitement sur le site de Nagios : https://www.nagios.org.

Le chemin pour accéder au téléchargement est quasiment le même que celui pour les sources de Nagios. L’écran final vous propose le lien direct vers le fichier archive :

Lien vers le fichier archive
Lien vers le fichier archive

Effectuez un clic droit sur le lien de téléchargement des sources nagios-plugins-X.X.X.tar.gz, et copiez l’adresse dans le presse-papier.

À partir de votre terminal d’accès au serveur Nagios, téléchargez les sources dans le répertoire/home/nagios/downloads avec les commandes suivantes :

cd /home/nagios/downloads
wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz

Si tout se passe bien, les sources des plugins standards (ici, ceux de la version 2.2.1) sont téléchargées sur le serveur :

Résolution de nagios-plugins.org (nagios-plugins.org)… 72.14.186.43
Connexion à nagios-plugins.org (nagios-plugins.org)|72.14.186.43|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 2728818 (2,6M) [application/x-gzip]
Sauvegarde en : `nagios-plugins-2.2.1.tar.gz`
nagios-plugins-2.2.1.tar.gz 100%[==============================================================>] 2,60M 896KB/s in 3,0s 
2018-11-23 12:25:15 (896 KB/s) — `nagios-plugins-2.2.1.tar.gz` sauvegardé [2728818/2728818]

Décompressez l’archive des sources via la commande suivante :

tar -zxvf nagios-plugins-2.2.1.tar.gz

Cette commande crée un répertoire nagios-plugins-2.2.1 dans le répertoire courant et y décompresse les sources.

Positionnez-vous dans ce nouveau répertoire via la commande suivante :

cd nagios-plugins-2.2.1/

Ce que nous allons faire ressemble au processus de compilation des sources de Nagios, que nous avons vu au chapitre précédent. Il est nécessaire de lancer le script configure pour compiler les plugins standards de Nagios. Ce script permet notamment de s’assurer que les éléments nécessaires sont présents sur le système, et de régler quelques paramètres.

Ici, en l’occurrence, vous allez indiquer qui sont, par défaut, l’utilisateur et le groupe propriétaire de ces plugins, en lançant le script :

./configure --with-nagios-user=nagios --with-nagios-group=nagcmd 

Si tout se passe bien, le résultat de cette commande doit produire une sortie comme ci-dessous :

configure: creating ./config.status
[...]
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile
more /home/nagios/downloads/nagios-plugins-2.2.1/config.log

Ce fichier est assez imposant, mais détaille précisément toutes les vérifications effectuées sur le système et contiendra notamment les éventuelles lignes expliquant pourquoi tel ou tel plugin n’a pas pu être compilé. Souvent, la raison est que telle ou telle librairie n’est pas présente sur le système.

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by nagios-plugins configure 2.2.1, which was
generated by GNU Autoconf 2.63. Invocation command line was
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
hostname = NagiosDebian
uname -m = x86_64
uname -r = 4.9.0-8-amd64
uname -s = Linux
uname -v = #1 SMP Debian 4.9.130-2 (2018-10-27)

Bref : si, à terme, vous cherchez un plugin standard qui n’est pas compilé, référez-vous à ce fichier, il vous indiquera sûrement pourquoi !

Le reste du processus est identique. Dans un premier temps, lancez la commande suivante pour compiler les binaires :

make

Cette commande compile tous les plugins compatibles avec le système et affiche une sortie comme ci-dessous :

make[2]: on quitte le répertoire `/home/nagios/downloads/nagios-plugins-2.2.1/plugins-root`
Making all in po
make[2]: on entre dans le répertoire `/home/nagios/downloads/nagios-plugins-2.2.1/po`
make[2]: rien à faire pour `all`.
make[2]: on quitte le répertoire `/home/nagios/downloads/nagios-plugins-2.2.1/po`
make[2]: on entre dans le répertoire `/home/nagios/downloads/nagios-plugins-2.2.1`
make[2]: on quitte le répertoire `/home/nagios/downloads/nagios-plugins-2.2.1`
make[1]: on quitte le répertoire `/home/nagios/downloads/nagios-plugins-2.2.1`

Installez les plugins standards dans l’arborescence de Nagios

Dernière étape ! Lancez la commande suivante :

make install

Vous pourrez notamment constater que cette commande déploie les plugins standards dans l’arborescence de Nagios :

libtool: install: /usr/bin/install -c -o nagios -g nagcmd check_apt /usr/local/nagios/libexec/check_apt
libtool: install: /usr/bin/install -c -o nagios -g nagcmd check_cluster /usr/local/nagios/
[...]
libtool: install: /usr/bin/install -c -o nagios -g nagcmd check_mrtgtraf /usr/local/nagios/libexec/check_mrtgtraf
libtool: install: /usr/bin/install -c -o nagios -g nagcmd check_ntp /usr/local/nagios/libexec/check_ntp

Le répertoire par défaut des plugins standards Nagios est /usr/local/nagios/libexec/. Pour vous en assurer, lancez la commande suivante :

ls -lrtha /usr/local/nagios/libexec

De plus, vous pourrez constater que, à quelques exceptions près, les 49 plugins standards appartiennent bien à l’utilisateur nagios et au groupe nagcmd.

Vérifiez que Nagios dispose bien de ses plugins

Retournez maintenant sur le site d’administration de Nagios, sur l’onglet « Alerts » du menu « Reports » à gauche de la fenêtre :

Toutes les alertes de Nagios sont au vert !
Toutes les alertes de Nagios sont au vert !

À la bonne heure ! Les alertes rouges de Nagios sont passées au vert !

Bravo ! Vous venez de compléter l’installation des plugins standards de Nagios sur un système GNU/Linux Debian.

Définissez des alias de commandes pour gagner du temps

Vous verrez, lors que la mise en place de vos sondes, qu’il sera souvent nécessaire de tester la configuration de Nagios.

Pour cela, Nagios propose un argument spécifique à l’exécution de son programme principal. Celui-ci permet d’effectuer un premier jeu de test. Il suffit, pour ce faire, de lancer Nagios avec l’option -v, et d’indiquer son fichier de configuration principal.

Lancez la commande suivante :

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

La configuration de Nagios étant alors minimale, la commande devrait se terminer correctement, sans afficher d’erreur ni d’avertissement :

Checking objects...
Checked 8 services.
Checked 1 hosts.
Checked 1 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 24 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 1 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 time periods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0

Lorsque vous allez configurer des sondes Nagios, vous le ferez sous le compte utilisateur nagios. En effet, c’est toujours mieux de ne pas travailler directement sous le compte root si cela n’est pas nécessaire.

Je vous propose de créer un raccourci de cette commande. Nommez-le « testNagios » dans le fichier de configuration du shell interactif (sans login) de l’utilisateur nagios. Le service Nagios tourne de manière indépendante et une connexion réelle du compte nagios n'est heureusement pas nécessaire. Pour créer cet alias, exécutez la commande suivante :

echo "alias testNagios='/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg'" >> /home/nagios/.bashrc

Attention à la syntaxe de cette commande (sur une seule ligne) et notamment aux simple quotes et aux double quotes.

Par ailleurs, lorsque vous allez changer la configuration de Nagios, en ajoutant/supprimant/modifiant les sondes : il faut non seulement tester cette nouvelle configuration, mais aussi indiquer à Nagios de la prendre en compte. Cette opération peut être effectuée en rechargeant (« reload » ou « restart ») le service Nagios.

Cependant, l’utilisateur nagios n’a pas les droits pour relancer le service Nagios. C’est normal, car cette opération nécessite des privilèges dont les comptes standards ne disposent pas par défaut.

Pour donner au compte nagios le droit de relancer Nagios, vous devez ajouter cette autorisation dans un fichier prévu à cet effet : /etc/sudoers.

Ce fichier contient les règles à vérifier lorsqu’un compte standard demande des droits supplémentaires avec la commande sudo.

Exécutez la commande suivante :

echo "nagios ALL=NOPASSWD:/bin/systemctl restart nagios" >> /etc/sudoers

Cette commande autorise le compte nagios à redémarrer le service Nagios sur le serveur, sans lui demander son mot de passe.

Il vous reste désormais à créer le raccourci associé avec la commande suivante :

echo "alias restartNagios='sudo systemctl restart nagios'" >> /home/nagios/.bashrc

Voilà, vous allez maintenant pouvoir tester ces deux alias.

Pour cela, passez sous le compte de nagios avec la commande suivante :

su - nagios

Cette commande vous permet de prendre l’identité de l’utilisateur nagios en chargeant son environnement. Et comme vous l’exécutez depuis le compte root, vous n’avez pas besoin de fournir de mot de passe !

root@NagiosDebian:/etc/selinux# su - nagios
nagios@NagiosDebian:~$ 
nagios@NagiosDebian:~$ 
nagios@NagiosDebian:~$ 

Dans un premier temps, testez le raccourci servant à examiner la configuration de Nagios, avec la commande suivante :

nagios@NagiosDebian:~$ testNagios 

Le résultat doit être identique au précédent :

Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
nagios@NagiosDebian:~$ 

Maintenant, toujours sous le compte nagios, testez la relance du service en utilisant la commande suivante :

nagios@NagiosDebian:~$ restartNagios

Cette commande ne doit renvoyer aucune sortie. Pour confirmer que le service vient d’être relancé, lancez la commande suivante :

nagios@NagiosDebian:~$ systemctl status nagios | grep Active

Et assurez-vous que le service est bien actif depuis quelques instants :

nagios@NagiosDebian:~$ restartNagios 
nagios@NagiosDebian:~$ systemctl status nagios | grep Active
Active: active (running) since Fri 2018-11-23 15:45:03 CET; 2s ago
nagios@NagiosDebian:~$ 

En résumé

Dans le premier chapitre de cette deuxième partie, vous avez pu installer Nagios ; dans ce deuxième chapitre, vous avez pu installer ses plugins standards et mettre en place des droits pour l’utilisateur nagios.

Il est maintenant temps de s’intéresser en profondeur au fonctionnement de ces outils. C’est ce que je vous propose de faire dans le chapitre suivant !

Exemple de certificat de réussite
Exemple de certificat de réussite