sessions 命令

sessions 命令查询 MQTT 连接会话。 EMQ X 消息服务器会为每个连接创建会话,clean_session 标记 true,创建临时(transient)会话;clean_session 标记为 false,创建持久会话(persistent)。

sessions list查询全部会话
sessions show <ClientId>根据 ClientID 查询会话

sessions list

查询全部会话:

  1. $ ./bin/emqx_ctl sessions list
  2. Session(clientid, clean_start=true, expiry_interval=0, subscriptions_count=0, max_inflight=32, inflight=0, mqueue_len=0, mqueue_dropped=0, awaiting_rel=0, deliver_msg=0, enqueue_msg=0, created_at=1553760799)
  3. Session(mosqsub/44101-airlee.lo, clean_start=true, expiry_interval=0, subscriptions_count=0, max_inflight=32, inflight=0, mqueue_len=0, mqueue_dropped=0, awaiting_rel=0, deliver_msg=0, enqueue_msg=0, created_at=1553760314)

返回 Session 对象属性:

clean_start建立连接时是否清理相关的会话
expiry_interval会话过期间隔
subscriptions_count当前订阅数量
max_inflight飞行窗口(最大允许同时下发消息数)
inflight当前正在下发的消息数
mqueue_len当前缓存消息数
mqueue_dropped会话丢掉的消息数
awaiting_rel等待客户端发送 PUBREL 的 QoS2 消息数
deliver_msg转发的消息数(包含重传)
enqueue_msg缓存过的消息数
created_at会话创建时间戳

sessions show <ClientId>

根据 ClientId 查询会话:

  1. $ ./bin/emqx_ctl sessions show clientid
  2. Session(clientid, clean_start=true, expiry_interval=0, subscriptions_count=0, max_inflight=32, inflight=0, mqueue_len=0, mqueue_dropped=0, awaiting_rel=0, deliver_msg=0, enqueue_msg=0, created_at=1553760799)