VerneMQ
Debuggen von MQTT über Websockets auf Envoy 1.28.0
Ich habe unsere Envoy-Installation von Envoy 1.11.1 auf 1.28.0 migriert und verwende nun auch SNI zur Auswahl des richtigen Zertifikats. Ein großer Teil dieser Migration ist die Aktualisierung der Syntax der Konfiguration für Envoy von der v2 API auf die v3 API. Das Upgrade verlief gut, mit Ausnahme unseres Websocket-basierten MQTT-Dienstes...
WeiterlesenPaho 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...
WeiterlesenVerneMQ 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...
WeiterlesenVerneMQ 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...
WeiterlesenMaximale Länge der Anmeldeinformationen (Benutzername, Passwort, clientid) in MQTT v3.1.1
Das CONNECT-Paket Das MQTT CONNECT Control-Paket enthält immer eine Nutzlast. Es ist das erste Paket, das der Client nach dem Aufbau der Verbindung an den Server senden muss. Es kann nur einmal vom Client gesendet werden, wenn ein zweites CONNECT-Paket gesendet wird, muss der Server (Broker) es als Protokoll verarbeiten...
WeiterlesenDebugging 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...
WeiterlesenVerneMQ: 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...
WeiterlesenVerneMQ 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