关于使用上的一些问题

emqx 使用的版本是4.2.7
1现在有少部分客户端连接不上mqtt服务,现在要排查这部分客户端连接不上的原因,能否通过mqtt服务日志查询定位到问题。
2.我的app应用使用了mqtt,现在服务端要判断app应用是否在线,通过mqtt来实现有没有什么好的思路

  1. 你可以打开 debug日志来调查客户端连接失败的原因,或使用日志追踪功能仅仅查看某个客户端 ID 的 debug 日志。日志与追踪 | EMQX 4.2 文档
    emqx_ctl listeners 命令的输出中包含了每个监听器上的断开原因码统计,也可能会有帮助。

  2. 你最好使用 emqx 提供的 HTTP API 来请求特定的某个 clientid 的信息:

    HTTP API | EMQX 4.2 文档

    此接口只有指定 clientid 参数时才比较高效。另外通过 $SYS 主题推送客户端的在线状态可行但不可靠。