上下线通知
EMQX 的上下线系统消息通知功能在客户端连接成功或者客户端断开连接,自动发送一条系统主题的消息, EMQX 默认开启上下线通知模块。
创建模块
上下线通知模块默认启动,可以通过dashboard页面进行启动和停止。
打开 EMQX Dashboard,点击左侧的 “模块” 选项卡:
验证结果:
上下线消息通知格式
$SYS
主题前缀: $SYS/brokers/${node}/clients/
主题 (Topic) | 说明 |
---|---|
${clientid}/connected | 上线事件。当任意客户端上线时,EMQX 就会发布该主题的消息 |
${clientid}/disconnected | 下线事件。当任意客户端下线时,EMQX 就会发布该主题的消息 |
connected
事件消息的 Payload 解析成 JSON 格式如下:
{ "username": "foo", "ts": 1625572213873, "sockport": 1883, "proto_ver": 4, "proto_name": "MQTT", "keepalive": 60, "ipaddress": "127.0.0.1", "expiry_interval": 0, "connected_at": 1625572213873, "connack": 0, "clientid": "emqtt-8348fe27a87976ad4db3", "clean_start": true }
disconnected
事件消息的 Payload 解析成 JSON 格式如下:
{ "username": "foo", "ts": 1625572213873, "sockport": 1883, "reason": "tcp_closed", "proto_ver": 4, "proto_name": "MQTT", "ipaddress": "127.0.0.1", "disconnected_at": 1625572213873, "clientid": "emqtt-8348fe27a87976ad4db3" }