版本:5.6.1
问题:目前断开原因存在两种类型,一个是keepalive_timeout,此种断开连接居多,还有一种就是discarded;
imestamp=1733793926243, sockname=172.17.0.2:1883, reason=keepalive_timeout, proto_ver=4, proto_name=MQTT, peername=14.216.69.85:49600, node=emqx@172.17.0.2, metadata={rule_id=demo_100horse_WH_D}, event=client.disconnected, disconnected_at=1733793926243, disconn_props={User-Property={}}, clientid=OBK52026}
-
keepalive_timeout 就是字面意思。客户端没在规定的时候发mqtt 包,如果没有 publish 包,也得定期的发 ping 包保持心跳。
-
discarded 就是因为有相同的 clientid 以 clean_start=true的方式把在线的客户端挤下线了。
Ref: EMQX MQTT Broker Troubleshooting: Connection Issues | EMQ