EMQX 获取客户端上下线状态

EMQX 周期性发布自身运行状态、消息统计、客户端上下线事件到以 $SYS/ 开头系统主题。

客户端上下线事件

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

  • ${node} 指该事件所在的节点名称,如emqx@127.0.0.1
主题(topic)描述
${clientid}/connected上线事件,当任意客户端上线时,EMQX 就会发布该主题的消息
${clientid}/disconnected下线事件,当任意客户端下线时,EMQX 就会发布该主题的消息

EMQX 默认只允许本机的 MQTT 客户端订阅 $SYS 主题.可以使用下面任意一种方法:

  • 需要修改acl.conf文件。
%% 允许用户名是 dashboard 的客户端订阅 "$SYS/#" 这个主题
{allow, {user, "dashboard"}, subscribe, ["$SYS/#"]}.

%% 允许来自127.0.0.1 的用户发布和订阅 "$SYS/#" 以及 "#"
{allow, {ipaddr, "127.0.0.1"}, pubsub, ["$SYS/#", "#"]}.

%% 拒绝其他所有用户订阅 "$SYS/#" 和 "#" 主题
{deny, all, subscribe, ["$SYS/#", {eq, "#"}]}.

%% 前面的规则都没有匹配到的话,允许所有操作
{allow, all}.

规则的匹配遵循自顶向下的顺序。当一个规则匹配到当前客户端时,规则允许或拒绝的动作就会生效,后面的规则不再继续检查。

在 acl.conf 修改完成后,并不会自动加载至 EMQX 系统。需要手动执行:

./bin/emqx_ctl modules reload emqx_mod_acl_internal
  • 使用emqx dashboard
    在这里插入图片描述
    在参数设置里进行更改,修改后点击确定即可
    在这里插入图片描述
    在mqttx中添加订阅
    在这里插入图片描述
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值