Paho MQTT Client (Javascript), Envoy, VerneMQ: Fehlersuche bei Verbindungsabbrüchen

Nachdem ich picockpit auf meinem Server installiert hatte, wurde ein Fehler festgestellt: Das Web-Frontend brach in regelmäßigen Abständen ab. Dies war in der lokalen Entwicklungsumgebung nicht der Fall. Benutzer von picockpit meldeten denselben Fehler. Ich habe den Fehler heute behoben und einen Hotfix eingespielt. Es stellte sich heraus, dass es ein Timing-Problem war. TL;DR wie...

Weiterlesen

VerneMQ wie man Clients zwangsweise per Kommandozeile trennt

Es gibt einen Befehl vmq-admin session show, der Ihnen die derzeit verbundenen Clients anzeigt: Leider wird diese Ausgabe für eine Gesamtbreite von 80 Zeichen abgeschnitten (egal wie viele passen würden) und es gibt derzeit keinen Hinweis darauf, dass es so ist. Siehe dieses VerneMQ Github-Problem: https://github.com/vernemq/vernemq/issues/1200 Zum Trennen von Clients benötigen Sie die client_id...

Weiterlesen

VerneMQ MQTT-Verbindung verloren (8): AMQJS0008I Socket geschlossen. verschiedene Mountpoints

In meinem Setup schreibe ich die Einhängepunkte der Clients von denen, die von den Listenern eingerichtet wurden, auf individuelle Einhängepunkte je nach Clientgruppe um. Die Idee dahinter ist die perfekte Isolierung der Mehrmandantenfähigkeit auf dem Server. Einzelne Clients aus verschiedenen Gruppen können sich also nicht gegenseitig sehen, selbst wenn sie sich bei "#" anmelden...

Weiterlesen

Ändern des Einhängepunkts bei auth_on_register webhook für VerneMQ

Es ist möglich, Modifikatoren zusammen mit dem "result" zu übergeben: "ok" Rückgabewert Ihres Webhooks für VerneMQ. Die offizielle Dokumentation von VerneMQ gibt einige Beispiele für die Syntax. Ändern des Mountpoints Es ist auch möglich, den Mountpoint zu ändern, aber die client_id muss anscheinend auch übergeben werden! Ich habe eine Anfrage gestellt...

Weiterlesen

Debugging von VerneMQ-Verbindungs-/Authentifizierungsproblemen bei dualer Authentifizierung mit Webhooks und vmq_diversity

TL;DR https://github.com/vernemq/vernemq/blob/master/apps/vmq_diversity/src/vmq_diversity_plugin.erl enthält eine Anweisung, die die Authentifizierung / Autorisierung über andere Kanäle blockiert, wenn Ihr Lua-Skript "false" zurückgibt: führt zu: statt andere Plugins zu versuchen, wie Sie vielleicht angenommen haben! Um dieses Problem zu vermeiden, geben Sie einfach nichts von Ihrem Lua-Skript zurück, wenn Sie das nicht wollen...

Weiterlesen

VerneMQ: econnrefused & Webhook Beispiel

Webhooks aktivieren Sie wie folgt in Ihrer vernemq.conf.local (.local, wenn Sie auf Docker laufen, so dass die Einstellungen am Ende der Datei erhalten bleiben): 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 Beachten Sie, dass die db-basierte Authentifizierung ebenfalls fehlschlägt, wenn Ihr Webhook nicht erreichbar ist (econnrefused) ... ! Wenn Sie Fehler erhalten wie...

Weiterlesen

VerneMQ Docker überschreibt meine Konfiguration

Situation Sie bearbeiten die Datei vernemq.conf und müssen feststellen, dass Ihre Konfiguration beim nächsten Start (mit dem offiziellen Docker-Container) von VerneMQ überschrieben wird. Insbesondere der Abschnitt mit den Listenern am Ende der Datei wird Ihnen "aufgezwungen". Lösung VerneMQ wird mit einem Skript (start_vernemq) gestartet. Das Skript kann hier eingesehen werden: https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh Das...

Weiterlesen

envoy verbindet sich nicht mit VerneMQ für MQTT über Websockets, Fehlercode 503

Einige kurze Hintergrundinformationen für alle, die auf dieselben Probleme stoßen, und wie man sie behebt. Fehlercode 503 Dies ist der Fehlercode, den ich erhalte: Fehler beim WebSocket-Handshake: Unerwarteter Antwortcode: 503. Set envoy logging to debug Hier ist meine docker-compose.yaml für envoy: version: '3.7' services: envoy: build: context: ./ dockerfile: Dockerfile container_name:...

Weiterlesen

korrekte Instanziierung des Paho Client in JavaScript für wss (secure websocket)

Die Paho-Dokumentation ist im Moment leider ziemlich fragmentiert, und einige Links auf der Eclipse-Website funktionieren nicht. Hier sind einige funktionierende Links (Stand 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 Und hier ist eine fantastische Website von Steve: http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ Es gibt eine wichtige Änderung im Paho-Namensraum, bei der Sie Probleme bekommen werden, wenn Sie...

Weiterlesen