emq与vertx broker数据桥接

错误报告

环境

  • EMQX 版本:4.3.5
  • 操作系统版本:centos 7

重现此问题的步骤

  1. centos7 部署一个emq broker

  2. java vertx+mqtt 部署一个broker

  3. 使用dashboard进行数据桥接,可以使用emq broker发送数据到vertx mqtt broker,但是无法使用订阅topic


  4. 使用emqx_bridge_mqtt.conf 可以配置桥接的订阅主题,而且emqx_ctl bridges list 状态也是运行中,但是功能不能实现。
    image

  5. dashboard配置的数据桥接和emqx_bridge_mqtt.conf的区别? dashboard配置的无法通过命令行查看到?

预期行为

实现emq broker和vertx mqtt broker数据桥接,emq broker转发数据到vertx mqtt broker 并订阅topic后接收数据。

实际行为

现在只能通过dashboard实现单向数据传输(emq broker 到 vertx mqtt broker)
dashboard没有配置订阅桥接主题的功能?
emqx_bridge_mqtt.conf 配置不生效


功能请求

描述你需要的功能

为什么你需要这个功能


其他

4.x 开源版的规则引擎不支持从 MQTT Bridge 订阅消息,需要使用插件,你是参考这个文档进行的订阅配置吗?

嗯嗯 是的 参考这个文档配置的

请问 5.x的开源版可以支持吗?

支持的,MQTT Source 支持订阅,MQTT Sink 支持转发。

好的 我提升下版本试试

你好 5.0的MQTT Sink 在dashboard中只支撑emq broker吗?配置其他的节点报错,也没有具体错误,自己创建的broker访问正常,帮忙看一下这个问题。

麻烦提供一下 EMQX 的后台报错日志呢


2022-11-29T11:16:54.659654+08:00 [error] config: [{username,<<>>},{subscriptions,#{local_qos => [{var,{var,<<“qos”>>}}],remote_qos => 1,remote_topic => <<“t”>>,retain => [{var,{var,<<“retain”>>}}]}},{ssl_opts,‘‘},{ssl,false},{server,{{121,4,231,54},14883}},{retry_interval,15000},{replayq,#{offload => false,seg_bytes => 104857600}},{reconnect_interval,15000},{proto_ver,v4},{password,’’},{name,‘test:8a0a49686aaedb79:316’},{max_inflight,32},{keepalive,60},{if_record_metrics,true},{forwards,#{payload => [{str,<<“val”>>}],remote_qos => 0,remote_topic => [{str,<<“t”>>}],retain => true}},{connect_timeout,30},{clientid,<<“test:8a0a49686aaedb79:316:emqx@127.0.0.1”>>},{clean_start,true},{bridge_mode,false},{auto_reconnect,true}], line: 398, mfa: emqx_connector_mqtt_worker:do_connect/1, msg: failed_to_connect, reason: #{reason => {error,ack_timeout},server => <<“121.4.231.54:14883”>>}

错误是 ack_timeout,也就是等待对端回复 CONNACK 超时,你可以抓包看看什么情况。

好的 我看看 昨天用4.4版本的连接没问题 现在升级版本了就出现这个问题 请问这两个版本有什么区别吗?

你把 bridge mode 设成 false 再试试看呢?


默认是false 没有变 我抓个包看看


你好 我抓包看了 交互都是正常的 上面是失败的抓包 下面是我自己的客户端成功交互的抓包

你可以挨个点这些 PSH 报文再看一下里面的内容,哪些是 CONNECT 报文,哪些是 CONNACK 报文。

第一张图里面 19283 端口最后向 14883 端口发完 PSH 报文以后,14883 就没有回复了。