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 :

image

Malheureusement, cette sortie est tronqué pour une largeur totale de 80 caractères (quel que soit le nombre de caractères qui rentreraient) et il y a actuellement aucune indication qu'il est.

Voir ce problème VerneMQ sur Github : https://github.com/vernemq/vernemq/issues/1200

Pour déconnecter les clients, vous avez besoin du client_id et du point de montage. Par conséquent, vous pouvez faire :

vmq-admin session show -client_id -mountpoint

image

Cela vous montrera les versions non tronquées (idéalement, si vous ne dépassez pas la longueur du point de montage, la ligne entière doit quand même tenir dans 80 caractères !)

Et puis vous pouvez déconnecter le client que vous voulez par :

vmq-admin session disconnect client-id=js.1565274250169CEV7hJU -mountpoint=5c61a59ba6b76f558d256f42

Un autre "piège" est que le vmq-admin de VerneMQ vous montrera "Done" indépendamment du fait que les clients réels aient été déconnectés ou non !

image

Comme vous pouvez le voir, j'ai omis un caractère de l'identifiant du client, il n'y a pas de client avec cet identifiant - mais le résultat est identique.

Vous devez donc revérifier avec le vmq-admin session show pour savoir si votre déconnexion a bien eu lieu.