Comment surveiller le serveur RabbitMQ à l'aide du plug-in Nagios check_rabbitmq

Répondre
Avatar du membre
CanadaArmis
Administrateur du site
Administrateur du site
Messages : 13
Enregistré le : jeu. 10 sept. 2020 14:02
 
Relax-Arcade :  13 13
Localisation : Québec
Pays :
Canada (ca)
Canada
Contact :

Comment surveiller le serveur RabbitMQ à l'aide du plug-in Nagios check_rabbitmq

Message par CanadaArmis »

Lorsque vous exécutez le serveur RabbitMQ dans un environnement de production, il est essentiel de surveiller RabbitMQ pour s'assurer qu'il est opérationnel correctement et que tous les messages de RabbitMQ sont traités correctement.

Si vous utilisez déjà Nagios pour la surveillance de votre entreprise, vous pouvez surveiller RabbitMQ à l'aide de plugins.

nagios-plugins-rabbitmq est un package de plugins Nagios qui a actuellement 6 vérifications pour surveiller divers aspects du serveur RabbitMQ.

Ce tutoriel explique comment installer, configurer et surveiller RabbitMQ Server à l'aide du plugin check_rabbitmq.

1. Téléchargez check_rabbitmq Nagios Plugin
Téléchargez le plugin Nagios RabbitMQ à partir d'ici . Vous pouvez également utiliser wget pour le télécharger directement sur votre serveur comme indiqué ci-dessous.

Code : Tout sélectionner

cd ~
wget --no-check-certificate https://github.com/jamesc/nagios-plugins-rabbitmq/archive/master.zip
unzip nagios-plugins-rabbitmq-master.zip
Après avoir décompressé le téléchargement, il créera le répertoire nagios-plugins-rabbitmq-master. Renommez ce répertoire en nagios-plugins-rabbitmq (c'est-à-dire supprimez le «-master» du nom du répertoire).

Code : Tout sélectionner

mv nagios-plugins-rabbitmq-master nagios-plugins-rabbitmq
2. Installez le plugin dans le répertoire Libexec
Déplacez ce répertoire «nagios-plugins-rabbitmq» vers le répertoire nagios libexec où se trouvent tous les plugins. Si vous avez installé Nagios à partir des sources, l'emplacement du répertoire libexec est / usr / local / nagios / libexec comme indiqué ci-dessous.

Code : Tout sélectionner

mv nagios-plugins-rabbitmq /usr/local/nagios/libexec
Assurez-vous également que ce répertoire de plugins appartient à l'utilisateur et au groupe nagios, comme indiqué ci-dessous

Code : Tout sélectionner

cd /usr/local/nagios/libexec/

chown -R nagios:nagios nagios-plugins-rabbitmq/
À ce stade, si vous testez le plugin nagios en exécutant check_rabbitmq_server, vous pourriez obtenir le message d'erreur «Impossible de localiser Nagios / Plugin.pm dans @INC» comme indiqué ci-dessous.

Code : Tout sélectionner

# cd /usr/local/nagios/libexec/nagios-plugins-rabbitmq/scripts

# ./check_rabbitmq_server
Can't locate Nagios/Plugin.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
3. Installez Nagios :: Plugin Perl Module
Ce plugin RabbitMQ Server Nagios nécessite le paquet perl «Nagios :: Plugin», qui est un ensemble de modules perl qui est utilisé pour écrire le plugin Nagios en perl.

Installez le module perl Nagios :: Plugin comme indiqué ci-dessous. Vous pouvez soit installer le module perl depuis la source, soit depuis la commande shell cpan.

Code : Tout sélectionner

cd / usr / save 

wget http://search.cpan.org/CPAN/authors/id/T/TO/TONVOON/Nagios-Plugin-0.36.tar.gz 

tar xvfz Nagios-Plugin-0.36.tar.gz 

cd Nagios -Plugin-0.36 

perl Makefile.PL 

make 

make test 

make install
4. Dépendances supplémentaires du module Perl
Dans mon cas, j'avais également besoin des modules Perl suivants pour que le plugin check_rabbitmq_server fonctionne correctement.

Installez les modules Perl suivants qui sont requis depuis le shell cpan comme indiqué ci-dessous:

Code : Tout sélectionner

cpan> installer Math :: Calc :: Units 
cpan> installer Config :: Tiny 
cpan> installer JSON 
cpan> installer Math :: Calc :: Units
Une fois que toutes les dépendances sont installées, check_rabbitmq_server ne donnera aucune erreur de module perl, à la place, vous verrez le message d'erreur d'utilisation d'argument manquant suivant:

Code : Tout sélectionner

# ./check_rabbitmq_server 
Utilisation: check_rabbitmq_server [options] -H hostname 
Argument manquant: hostname
5. Utilisation basique de check_rabbitmq
Ce qui suit se connecte au serveur RabbitMQ qui s'exécute sur le serveur dev-db sur le port 15672, et renvoie un message OK, avec les informations «Memory», «Process», «FD» et «Sockets» du serveur RabbitMQ connecté comme indiqué au dessous de.

Code : Tout sélectionner

# ./check_rabbitmq_server -H "dev-db" --port = 15672 
RABBITMQ_SERVER OK - Mémoire OK (1,16%) Processus OK (0,02%) FD OK (2,93%) Sockets OK (0,12%) | Mémoire = 1,16%; 80; 90 Process = 0,02%; 80; 90 FD = 2,93%; 80; 90 Sockets = 0,12%; 80; 90
Lorsque le serveur RabbitMQ n'est pas opérationnel, vous obtenez le message d'erreur suivant.

Code : Tout sélectionner

RABBITMQ_SERVER CRITICAL - Received 500 Can't connect to dev-db:15672 (connect: Connection refused) for path: nodes/rabbit@dev-db
6. Spécifiez le nom d'utilisateur et le mot de passe
Ce plugin utilise l'API HTTP RabbitMQ qui est utilisée dans le plugin de gestion RabbitMQ .

Dans l'exemple précédent, la commande check_rabbitmq_server utilise la combinaison nom d'utilisateur et mot de passe par défaut. c'est-à-dire invité / invité. Si vous obtenez le message d'erreur suivant «Accès refusé: nœuds / lapin @», vous saurez que la combinaison nom d'utilisateur / mot de passe par défaut (c'est-à-dire invité / invité) n'est pas valide.

Code : Tout sélectionner

# ./check_rabbitmq_server -H dev-db
RABBITMQ_SERVER UNKNOWN - Access refused: nodes/rabbit@dev-db
Si vous avez changé le nom d'utilisateur et le mot de passe du plugin RabbitMQ Management, vous devez spécifier ce nom d'utilisateur particulier en utilisant les paramètres -u et -p comme indiqué ci-dessous.

L'exemple suivant se connecte au serveur RabbitMQ qui s'exécute sur le serveur dev-db sur le port 15672, en utilisant le nom d'utilisateur «guest» et le mot de passe «MySecretPassword».

Code : Tout sélectionner

# ./check_rabbitmq_server -H "dev-db" --port=15672 -u "guest" -p "MySecretPassword"
RABBITMQ_SERVER OK - Memory OK (1.16%) Process OK (0.02%) FD OK (2.34%) Sockets OK (0.12%) | Memory=1.16%;80;90 Process=0.02%;80;90 FD=2.34%;80;90 Sockets=0.12%;80;90
Remarque: Dans tous les exemples suivants, je n'ai pas transmis le nom d'utilisateur / mot de passe, car il suppose que le mot de passe par défaut est utilisé. Si vous l'avez modifié sur votre serveur RabbitMQ, assurez-vous de passer -u et -p dans tous les exemples suivants.

7. Exemple d'utilisation de check_rabbitmq_overview
À l'aide de la commande check_rabbitmq_overview, vous pouvez surveiller la combinaison suivante de valeurs pour les niveaux critique et d'avertissement: 1) Nombre total de messages dans la file d'attente 2) Nombre total de messages prêts 3) Nombre total de messages non encore acquittés

Si vous ne passez aucun niveau critique ou d'avertissement, vous obtiendrez un message OK, avec le total des messages, messages_ready et messages_unacknowledged comme indiqué ci-dessous.

Code : Tout sélectionner

# ./check_rabbitmq_overview -H "dev-db" --port = 15672 
RABBITMQ_OVERVIEW OK - messages OK (229) messages_ready OK (229) messages_unacknowledged OK (0) | messages = 229 ;; messages_ready = 229 ;; messages_unacknowledged = 0 ;;
Nous sommes hébergés par le groupe WANTETE.EU & WANTETE.COM
Répondre