Estou executando o emqttd ( emqtt.io ). Gostaria de monitorar os clientes que se conectam e desconectam de um processo separado que estaria inscrevendo-se em um tópico do sistema em que as mensagens de nascimento e vontade serão postadas. Qual é o caminho certo para fazer isso?
11
Respostas:
O Guia do Usuário do emqtt mostra um tópico do sistema que oferece algumas Estatísticas do Broker, ou seja,
$SYS/brokers/${node}/stats/clients/count
fornece a contagem de clientes conectados atualmente. Observe que isso não listará detalhes específicos sobre os clientes conectados - por isso considero que não é necessário aqui.As mensagens de última vontade (LWT, Última Vontade e Testamento) não são um tópico do sistema, mas um tópico regular, conforme configurado pelo cliente durante a conexão. Se você deseja monitorar esse tópico, basta se inscrever. Observe, no entanto, que as mensagens LWT são descartadas se um cliente for desconectado normalmente enviando uma mensagem DISCONNECT (consulte o blog hiveMQ , ótima leitura a pé).
O Guia do Usuário do emqtt apresenta uma maneira melhor de monitorar a conexão e desconexão de clientes:
Eu acho que o monitoramento
clients list
- listar todos os clientes MQTT - eclients show <ClientId>
- mostrar um cliente MQTT - é mais útil aqui. O processo separado planejado para monitorar clientes, portanto, não precisa se inscrever no broker, mas simplesmente utilizar./bin/emqttd_ctl
.fonte
Bem, não tenho certeza sobre a mensagem de nascimento e o LWT (Last Will and Testament) é opcional conforme as especificações. Portanto, você não receberá necessariamente mensagens a menos que tenha seu corretor customizado para esses requisitos.
fonte