上下线通知

EMQ X 的上下线系统消息通知功能在客户端连接成功或者客户端断开连接,自动发送一条系统主题的消息, EMQ X 默认开启上下线通知模块。

创建模块

上下线通知模块默认启动,可以通过dashboard页面进行启动和停止。

打开 EMQ X Dashboard上下线通知 - 图1 (opens new window),点击左侧的 “模块” 选项卡:

image-20200927213049265

上下线消息通知格式

$SYS 主题前缀: $SYS/brokers/${node}/clients/

主题 (Topic)说明
${clientid}/connected上线事件。当任意客户端上线时,EMQ X 就会发布该主题的消息
${clientid}/disconnected下线事件。当任意客户端下线时,EMQ X 就会发布该主题的消息

connected 事件消息的 Payload 解析成 JSON 格式如下:

  1. {
  2. "username":"undefined",
  3. "ts":1582687922392,
  4. "sockport":1883,
  5. "proto_ver":5,
  6. "proto_name":"MQTT",
  7. "keepalive":300,
  8. "ipaddress":"127.0.0.1",
  9. "expiry_interval":0,
  10. "connected_at":1582687922392,
  11. "connack":0,
  12. "clientid":"emqtt-8348fe27a87976ad4db3",
  13. "clean_start":true
  14. }

disconnected 事件消息的 Payload 解析成 JSON 格式如下:

  1. {
  2. "username":"undefined",
  3. "ts":1582688032203,
  4. "reason":"tcp_closed",
  5. "disconnected_at":1582687922392,
  6. "clientid":"emqtt-8348fe27a87976ad4db3"
  7. }