Paho MQTT Client (Javascript), Envoy, VerneMQ : débogage des déconnexions

Après avoir déployé picockpit sur mon serveur, un bug a été observé : le frontend web se déconnectait à intervalles très réguliers. Ce problème n'existait pas dans l'environnement de développement local. Les utilisateurs de picockpit ont signalé le même bug. Je l'ai débogué aujourd'hui et j'ai appliqué un correctif. Il s'avère que c'était un problème de timing. TL;DR comment...

Weiterlesen

VerneMQ comment déconnecter les clients de manière forcée par ligne de commande

Il existe une commande vmq-admin session show qui vous montrera les clients actuellement connectés : Malheureusement, cette sortie est tronquée pour une largeur totale de 80 caractères (peu importe le nombre qui rentrerait) et il n'y a actuellement aucune indication qu'elle l'est. Voir ce problème VerneMQ Github : https://github.com/vernemq/vernemq/issues/1200 Pour déconnecter les clients, vous avez besoin du client_id...

Weiterlesen

VerneMQ Connexion MQTT perdue (8) : AMQJS0008I Socket closed. différents points de montage

Dans ma configuration, je réécris les points de montage des clients à partir de ceux mis en place par les écouteurs vers des points de montage individuels en fonction du groupe de clients. L'idée derrière cela est une isolation parfaite de la multi-tenue sur le serveur. Les clients individuels de différents groupes ne sont donc pas en mesure de se voir les uns les autres, même lorsqu'ils s'abonnent à "#"...

Weiterlesen

Changement du point de montage sur le webhook auth_on_register pour VerneMQ

Il est possible de passer des modificateurs avec la valeur de retour "result" : "ok" de la valeur de retour de votre webhook pour VerneMQ. La documentation officielle de VerneMQ donne quelques exemples de la syntaxe. changer le point de montage Il est également possible de changer le point de montage, cependant le client_id doit apparemment être passé aussi ! J'ai soulevé une...

Weiterlesen

Longueur maximale des informations d'identification (nom d'utilisateur, mot de passe, clientid) dans MQTT v3.1.1

Le paquet CONNECT Le paquet de contrôle CONNECT MQTT contient toujours une charge utile. Il s'agit du premier paquet que le client doit envoyer au serveur après l'établissement de la connexion. Il ne peut être envoyé qu'une seule fois par le client, si un deuxième paquet CONNECT est envoyé, le serveur (broker) doit le traiter comme un protocole...

Weiterlesen

Débogage des problèmes de connexion / authentification VerneMQ pour la double authentification avec webhooks et vmq_diversity

TL;DR https://github.com/vernemq/vernemq/blob/master/apps/vmq_diversity/src/vmq_diversity_plugin.erl comprend une déclaration qui bloquera l'authentification / l'autorisation par tout autre canal si votre script Lua renvoie "false" : cela conduira à : au lieu d'essayer d'autres plugins, comme vous auriez pu le supposer ! Afin d'éviter ce problème, il suffit de ne rien retourner de votre script Lua, si vous ne voulez pas...

Weiterlesen

VerneMQ : econnrefused & Webhook exemple

Les webhooks activent les webhooks comme ceci dans votre vernemq.conf.local (.local lorsque l'exécution se fait sur docker, afin que les paramètres au bas du fichier persistent) : plugins.vmq_webhooks = on vmq_webhooks.js_auth_on_register.hook = auth_on_register vmq_webhooks.js_auth_on_register.endpoint = http://container_picockpit:1200/example/path Notez que si votre webhook n'est pas accessible (econnrefused), l'authentification basée sur la base de données échouera également ... ! Si vous obtenez des erreurs comme...

Weiterlesen

VerneMQ Docker écrase ma configuration

Situation Vous éditez vernemq.conf, pour constater que votre configuration est écrasée par VerneMQ au prochain démarrage (en utilisant le conteneur Docker officiel). Plus précisément, la section avec les listeners à la fin du fichier vous est "imposée". Solution VerneMQ est lancé à l'aide d'un script (start_vernemq). Le script peut être vu ici : https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh Le...

Weiterlesen

envoy ne se connecte pas à VerneMQ pour MQTT sur websockets, code d'erreur 503

Quelques informations de base pour tous ceux qui rencontrent les mêmes problèmes, et comment les déboguer. Code d'erreur 503 Voici le code d'erreur que je reçois : Erreur pendant l'échange de données WebSocket : Unxpected response code : 503. Définir la journalisation d'envoy sur debug Voici mon docker-compose.yaml pour envoy : version : '3.7' services : envoy : build : context : ./ dockerfile : Dockerfile nom_du_conteneur :...

Weiterlesen

manière correcte d'instancier le client Paho en JavaScript pour wss (secure websocket)

La documentation de Paho est malheureusement assez fragmentée pour le moment, et certains liens sur le site d'Eclipse ne fonctionnent pas. Voici quelques liens qui fonctionnent (à partir de 05/2019) : https://www.eclipse.org/paho/clients/js/ https://www.eclipse.org/paho/files/jsdoc/index.html https://github.com/eclipse/paho.mqtt.javascript Et voici un site web fantastique par Steve : http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ Il y a un changement de rupture important dans l'espace de noms Paho, où vous aurez des problèmes en utilisant...

Weiterlesen