VerneMQ como desconectar clientes forçadamente por linha de comando

Há um comando

vmq-admin sessão show

que lhe mostrará os clientes actualmente ligados:

imagem

Infelizmente, esta saída é truncado para uma largura total de 80 caracteres (não importa quantos caberiam) e há atualmente nenhuma indicação que é.

Veja esta edição da VerneMQ Github: https://github.com/vernemq/vernemq/issues/1200

Para desconectar clientes você precisa do client_id e do ponto de montagem. Portanto, você pode fazer:

vmq-admin sessão show -client_id -mountpoint

imagem

Isto irá mostrar-lhe versões não truncadas (idealmente, se não estiver a exagerar com o comprimento do ponto de montagem, toda a linha ainda tem de caber em 80 caracteres!)

E então você pode desconectar o cliente que quiser:

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

Outro "gotcha" é que o vmq-admin da VerneMQ irá mostrar-lhe "Done" independentemente de os clientes reais terem sido desconectados ou não!

imagem

Como você pode ver, eu deixei de lado um caracter do id do cliente, não há cliente com esse id - mas o resultado é idêntico.

Portanto, você tem que checar novamente com o vmq-admin sessão show se a sua desconexão foi realmente bem sucedida.