Aller au contenu principal

VerneMQ Restapi

Vue d'ensemble​

VerneMQ est un gestionnaire MQTT évolutif et open source qui connecte l'IdO, le M2M, le mobile et les applications web. Le connecteur de supervision VerneMQ, supervise les Clusters, Listeners, Plugins et sessions en utilisant l'API Rest.

Contenu du connecteur de supervision​

Objets supervisés​

  • VerneMQ incluant les Clusters, les Listeners, les Plugins, les sessions.

Métriques collectées​

Vous pouvez vous renseigner en détails sur les métriques présentées ci-après sur la documentation officielle de VerneMQ : https://docs.vernemq.com/monitoring/introduction

Metric nameDescriptionUnit
statusStatus of clusters
clusters.running.countNumber of clusters runningcount
clusters.notrunning.countNumber of cluster not runningcount

Prérequis​

Un certain nombre de distributions fournissent VerneMQ, y compris des paquets binaires pré-construits. Le support de ces compilations, s'il y en a, est fourni par le fournisseur de la distribution associée. Leur cycle de publication peut être en retard par rapport aux versions sources de VerneMQ.

De plus amples informations sont disponibles sur la documentation officielle du VerneMQ : https://docs.vernemq.com/getting-started

L'API HTTP de VerneMQ est activée par défaut et installe un gestionnaire HTTP sur http://myvernemq.com:8888/api/v1. L'utilisateur de centreon-engine effectue une connexion à ce système. Sur le serveur VerneMQ, vous devez avoir généré un Token avec la commande suivante :

$ vmq-admin api-key create

Plus d'informations sur l'API HTTP de VerneMQ sur : https://docs.vernemq.com/administration/http-administration#managing-api-keys

Installation​

  1. Installer le Plugin sur tous les Collecteurs Centreon supervisant des ressources VerneMQ :
yum install centreon-plugin-Applications-Vernemq-Restapi.noarch
  1. Sur l'interface Web de Centreon, installer le connecteur de supervision VerneMQ Restapi depuis la page Configuration > Gestionnaire de connecteurs de supervision

Configuration​

Ce connecteur de supervision est conçu de manière à avoir dans Centreon un hôte par environnement VerneMQ Lorsque vous ajoutez un hôte à Centreon, appliquez-lui le modèle App-Vernemq-Restapi-custom. Une fois celui-ci configuré, certaines macros doivent être renseignées:

MandatoryNameDescription
XAPIPORTPort used. Default is 8888
XAPIPROTOProtocol used. Default is http
XAPIKEYVerneMQ API Token
APIEXTRAOPTIONSAny extra option you may want to add to the command

FAQ​

Comment puis-je tester le Plugin et que signifient les options des commandes ?​

Une fois le Plugin installé, vous pouvez tester celui-ci directement en ligne de commande depuis votre collecteur Centreon avec l'utilisateur centreon-engine

/usr/lib/centreon/plugins/centreon_vernemq_restapi.pl \
--plugin=apps::mq::vernemq::restapi::plugin \
--mode='sessions' \
--hostname='myvernemq.com' \
--port='8888' \
--proto='http' \
--api-key='12342939495003' \
--warning-total='15' \
--critical-total='20' \
--verbose

OK: Sessions current online: 14, current total: 14
| 'sessions.online.count'=14;;;0; 'sessions.total.count'=14;;;15;20

La commande ci-dessus contrôle les sessions de VerneMQ via la Restapi (--mode=sessions). Le Plugin utilise l'api-key qui correspond au Token VerneMQ (--api-key='12342939495003') et il se connecte à l'hôte myvernemq.com (--hostname='myvernemq.com') sur le port 8888 (--port='8888') utilisant le protocol http (--proto='http').

Toutes les options et leur utilisation peuvent être consultées avec le paramètre --help ajouté à la commande:

/usr/lib/centreon/plugins/centreon_vernemq_restapi.pl 
--plugin=apps::mq::vernemq::restapi::plugin \
--mode='plugins' \
--help

J'obtiens le message d'erreur suivant:​

UNKNOWN: 500 Can't connect to myvernemq.com:8888 |​

Lors du déploiement de mes contrôles, j'obtiens le message suivant UNKNOWN: 500 Can't connect to myvernemq.com:8888 |. Cela signifie que Centreon n'a pas réussi à se connecter à l'API VerneMQ (myvernemq.com). La plupart du temps, il faut préciser le proxy à utiliser pour requêter l'URL myvernemq.com en utilisant l'option --proxyurl='http://proxy.mycompany:8080'.

UNKNOWN: 501 Protocol scheme 'connect' is not supported |​

Suite à la mise en place du proxy, j'obtiens le message suivant UNKNOWN: 501 Protocol scheme 'connect' is not supported | Cela signifie que le protocole de connexion au proxy n'est pas supporté par la libraire curl utlisée par défaut par le Plugin Centreon. Cette erreur peut être résolue en utilisant le backend HTTP curl. Pour ce faire, ajoutez l'option --http-backend='curl' à la commande.