MQTT客户端有时收不到EMQX的消息,客户端的Qos为2,大家没有遇到过这种问题

MQTT客户端有时收不到EMQX的消息,客户端的Qos为2,大家有没有遇到过这种问题,一出现问题,基本所有设备的消息都会受到影响,EMQX的版本为5.3.0,运行于docker中,有没有人能提供一下排查的思路

可以先看下 EMQX Dashboard 上显示的丢弃指标,一般会指示丢弃的原因的,相关文档:指标


这是我们部署的EMQX服务器的指令,看不出哪有问题

这是我们部署的EMQX服务器的指标,看不出哪有问题

往下拉应该还有 packets.dropped.xxx 这些指标。




指标5
是有,你帮我看看

订阅者客户端收不到消息的原因是它没有对主题进行订阅。

  • 你可以用日志追踪功能,看一下订阅者是不是取消了订阅。
  • 或者也有可能是因为订阅者掉线重连后没有重新订阅。日志追踪中也能看到它掉线及重连的时间点
    image

好的,谢谢,日志追踪功能有没有办法只保留连接与订阅这些基础的动作信息,正常的通讯消息信息就不保存了,有这种功能吗?

目前是没有的,这个 feature 会向我们的产品部门提下需求。
感谢建议!

我现在已经在使用日志追踪这个功能进行监测了,有哪些关键字是可以快速找到取消订阅或是重连的日志的呢?

SUBSCRIBE
UNSUBSCRIBE
CONNECT
DISCONNECT

或者你可以用 MQTTX 作为客户端,并为这个特定的 MQTTX 客户端启用日志追踪,交互式地观察一下日志追踪对各种客户端事件的输出。这应该能够帮助你快速对日志追踪功能建立认知。

收到,非常感谢

有办法在EMQX上查得到是哪台设备丢失了哪些消息吗?