Debug di MQTT su websocket su Envoy 1.28.0

Ho migrato la nostra installazione di Envoy da Envoy 1.11.1 a 1.28.0 e ora sto usando anche SNI per selezionare il certificato corretto. Una parte importante di questa migrazione è l'aggiornamento della sintassi della configurazione di Envoy dall'API v2 all'API v3. L'aggiornamento è andato bene, tranne che per il nostro servizio MQTT basato su websocket...

Weiterlesen

VerneMQ come disconnettere forzatamente i client per linea di comando

C'è un comando vmq-admin session show che vi mostrerà i client attualmente connessi: Sfortunatamente, questo output è troncato per una larghezza totale di 80 caratteri (non importa quanti ne entrerebbero) e non c'è attualmente alcuna indicazione che lo sia. Vedi questo problema VerneMQ Github: https://github.com/vernemq/vernemq/issues/1200 Per disconnettere i client hai bisogno del client_id...

Weiterlesen

VerneMQ Connessione MQTT persa (8): AMQJS0008I Socket chiuso. punti di montaggio diversi

Nella mia configurazione, sto riscrivendo i punti di montaggio dei client da quelli impostati dagli ascoltatori a punti di montaggio individuali a seconda del gruppo di client. L'idea alla base di questo è il perfetto isolamento della multi-tenancy sul server. I singoli client di gruppi diversi non sono quindi in grado di vedersi l'un l'altro, anche quando si iscrivono a "#"...

Weiterlesen

Cambiare il mountpoint sul webhook auth_on_register per VerneMQ

È possibile passare dei modificatori insieme al valore di ritorno "result": "ok" valore di ritorno del vostro webhook per VerneMQ. La documentazione ufficiale di VerneMQ fornisce alcuni esempi per la sintassi. cambiare il mountpoint È anche possibile cambiare il mountpoint, tuttavia il client_id apparentemente deve essere passato anche! Ho sollevato un...

Weiterlesen

Debugging della connessione VerneMQ / problemi di autenticazione per la doppia autenticazione con webhooks e vmq_diversity

TL;DR https://github.com/vernemq/vernemq/blob/master/apps/vmq_diversity/src/vmq_diversity_plugin.erl include una dichiarazione che bloccherà l'autenticazione / autorizzazione attraverso qualsiasi altro canale se il tuo script Lua restituisce "false": porterà a: invece di provare altri plugin, come potresti aver supposto! Per evitare questo problema, semplicemente non restituire nulla dal tuo script Lua, se non vuoi...

Weiterlesen

MQTT Topic Tree Design best practices, consigli ed esempi

Background generico di MQTT Con MQTT il mittente e il ricevitore non sono a conoscenza l'uno dell'altro - il broker gestisce la messaggistica. Questo permette ai messaggi di essere separati nello spazio, nel tempo e nell'intensità. Il mittente può inviare alla velocità che vuole e al tempo che vuole. Il ricevitore può raccogliere i messaggi a...

Weiterlesen

VerneMQ: esempio di econnrefused e Webhook

Webhooks attivate i webhooks in questo modo nel vostro vernemq.conf.local (.local quando si esegue su docker, in modo che le impostazioni in fondo al file persistano): 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 Notate che se il vostro webhook non è accessibile (econnrefused), anche l'autenticazione basata sul db fallirà ... ! Se si ottengono errori come...

Weiterlesen

VerneMQ Docker sovrascrive la mia configurazione

Situazione Hai modificato vernemq.conf, solo per scoprire che la tua configurazione viene sovrascritta da VerneMQ al prossimo avvio (usando il contenitore Docker ufficiale). In particolare, la sezione con gli ascoltatori alla fine del file è "forzata". Soluzione VerneMQ viene avviato utilizzando uno script (start_vernemq). Lo script può essere visto qui: https://github.com/vernemq/docker-vernemq/blob/master/bin/vernemq.sh Il...

Weiterlesen