clients 命令

clients 命令查询连接的 MQTT 客户端。

命令描述
clients list列出所有客户端连接
clients show <ClientId>查询指定 ClientId 的客户端
clients kick <ClientId>踢除指定 ClientId 的客户端,连接与会话将一并终结。

clients list

列出所有客户端连接:

  1. $ ./bin/emqx_ctl clients list
  2. Client (mosqsub/43832-airlee.lo, username=test1, peername=127.0.0.1:62135, clean_start=true, keepalive=60, session_expiry_interval=0, subscriptions=0, inflight=0, awaiting_rel=0, delivered_msgs=0, enqueued_msgs=0, dropped_msgs=0, connected=true, created_at=1582249657, connected_at=1582249657)
  3. Client (mosqsub/44011-airlee.lo, username=test2, peername=127.0.0.1:64961, clean_start=true, keepalive=60, session_expiry_interval=0, subscriptions=0, inflight=0, awaiting_rel=0, delivered_msgs=0, enqueued_msgs=0, dropped_msgs=0, connected=true, created_at=1582249657, connected_at=1582249657, disconnected_at=1582249702)
  4. ...

返回 Client 对象的属性:

Name描述
username用户名
peername客户端 IP 与端口
clean_startMQTT Clean Start
keepaliveMQTT KeepAlive
session_expiry_interval会话过期间隔
subscriptions当前订阅数量
inflight当前正在下发的 QoS 1 和 QoS 2 的消息总数
awaiting_rel等待客户端发送 PUBREL 的 QoS2 消息数
delivered_msgsEMQ X 向此客户端转发的消息数量 (包含重传)
enqueued_msgs消息队列当前长度
dropped_msgs消息队列达到最大长度后丢弃的消息数量
connected是否在线
created_at会话创建时间戳
connected_at客户端连接时间戳
disconnected_at客户端断开连接时间戳(仅当断开连接还保留会话时才会出现)

clients show

查询指定 ClientId 的客户端:

  1. $ ./bin/emqx_ctl clients show "mosqsub/43832-airlee.lo"
  2. Client (mosqsub/43832-airlee.lo, username=test1, peername=127.0.0.1:62747, clean_start=false, keepalive=60, session_expiry_interval=7200, subscriptions=0, inflight=0, awaiting_rel=0, delivered_msgs=0, enqueued_msgs=0, dropped_msgs=0, connected=true, created_at=1576479557, connected_at=1576479557)

clients kick

踢除指定 ClientId 的客户端:

  1. $ ./bin/emqx_ctl clients kick "clientid"
  2. ok