问题标签 [mqtt-vernemq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3880 浏览

mqtt - 同时将一个 MQTT 代理桥接到 2 个远程 MQTT 代理

我们在不同的场所安装了许多本地网关。这些网关将托管一个用于连接所有本地服务的 MQTT 代理。然后需要本地 MQTT 代理将此数据发送到两个远程 MQTT 代理(每个代理由不同的一方托管)。我已阅读有关 Mosquitto 和 VerneMQ 代理的文档,我发现它们一次只允许桥接一个远程服务器。

是否有另一个(开源)代理提供此类功能?如果不是,我们怎么能做到这一点?

0 投票
2 回答
773 浏览

mqtt-vernemq - 检查客户端连接到 VerneMQ 集群中的哪个节点

有没有办法检查客户端连接到 VerneMQ 集群中的哪个节点,而不使用像 WireShark 这样的东西?

0 投票
2 回答
3288 浏览

cluster-computing - 如何用 3 个节点做 VerneMQ 集群?

我是 MQTT 的新用户,想创建一个包含三个节点的 vernemq 集群,我该怎么做?(与蚊子客户)请。我曾尝试在 ubuntu 18 上的两个不同 VM 中使用桥接器来完成此操作,但我没有成功。

0 投票
1 回答
365 浏览

mosquitto - 它在服务器上同时支持多少个客户端 vernemq 或 mosquitto?

我想购买具有以下规格的vps:

  • 2 核 (s) 2.4 GHz
  • 8 GB 内存
  • Debian 9 x64

和专用服务器

  • CPU:英特尔至强 E3-1245v5 - 4 / 8t - 3.5GHz /3.9GHz
  • 内存:16GB DDR4 ECC 2133 MHz
  • 磁盘:SoftRaid 2x2TB
  • Debian 9 x64

每台服务器使用 vernemq 或使用 QOS 1 的 mosquitto 支持多少个连接的客户端?

0 投票
1 回答
619 浏览

ubuntu - 从外部/远程机器访问 VerneMQ 状态和指标

也许这是一个简单的问题,但我没有成功找到解决方案:

  • 在 Ubuntu 机器(v16)上,我安装了 VerneMQ(IP 为 192.168.56.103)
  • 我需要在 Windows 7 机器(IP 为 192.168.56.1)上访问 VerneMq 的指标和状态页面(:8888/metrics 或:8888/status)页面

在本地的 Ubuntu 虚拟机上,它适用于“localhost:8888”或“127.0.0.1:8888”,但不适用于“192.168.56.103:8888”。在 Windows 主机上,当我尝试“192.168.56.103:8888”时它不起作用

在 Ubuntu 上,我开始向所有方向开放端口,最后我什至完全停止了防火墙

笔记:

  • 可以访问 192.168.56.103:80 上的 apache 服务器(在我禁用防火墙之后)
  • 我试图更改 VerneMq 默认端口,这对问题没有任何改变
  • 在 Nmap 上,我“无法解决”192.168.56.103:8888“”<-这可能意味着问题出在其他地方......
  • 在 Netstat 我有“tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 6621/beam.smp”

谢谢大家!

0 投票
1 回答
761 浏览

cluster-computing - 设置 VerneMq 集群(VBox

我的想法是在测试环境上安装一个 VerneMQ 集群(这里不需要安全性)。我在 Virtual Box(Ubuntu 16)上的 2 个不同的虚拟机上安装了 VerneMq(1.4.1)。我启动了 VerneMQ 的 2 个实例,它们的状态非常“活跃”。我尝试做(在双方)

但我一直得到这个错误

由于暂时不需要安全性,我用

甚至停止了防火墙

我还尝试使用 nmap ping 并检查端口(我将端口更改为 44000,以防万一……):

我得到了所有结果(对于 nmap):

尽管我继续收到错误

感谢有想法的人

0 投票
0 回答
139 浏览

asynchronous - 测试 MQTT 行为和发出的事件

我需要测试 MQTT 发出的 MQTT 行为和事件。例如,每当我(模拟设备)发布到 MQTT 时,处理程序就会被它使用有效的参数调用(用 iex 测试过,但需要自动化该过程)并且我对数据执行一些操作。

脚步:

  1. 通过 docker 容器安装 mqqt
  2. 在我的 elixir 项目中添加了乌龟依赖项
  3. 并添加了基本的监听器
  4. 并在控制台中尝试并成功收听

注意:我尝试使用mockmox库进行侦听但无法捕获呼叫事件

问题/问题: MQTT侦听事件(某些设备将事件发布到 MQTT 服务器)并且 MQTT 调用与其关联的 elixir 侦听器。我需要测试这种行为:假设侦听器在 10 秒内被 MQTT 调用。如何在我启动发布到 MQTT 后的 10 秒内(使用正确的参数)在测试用例中检查此方法/侦听器已被调用

图书馆:https ://github.com/gausby/tortoise

0 投票
2 回答
1354 浏览

python - 客户端连接到 VerneMQ 集群

我们建立了一个 VerneMQ 3 节点集群(https://vernemq.com/docs/clustering/)。

问题是我没有找到任何关于如何将客户端连接到整个集群的示例

例如,对于单个 VerneMQ 实例,客户端连接(在 python 中)是:

其中“xxx.xxx.xxx.xxx”是单个实例的地址。
如果是集群,有没有办法指定整个集群的地址,而不是指向单个节点?

0 投票
0 回答
971 浏览

linux - 通过连接 100,000 个客户端来测试 MQTT 代理

我研究 MQTT 协议已经有一段时间了。该协议将被组织用于分别向每个客户端发送确认消息。

在用例中,只有 1 个“发布者”客户端向订阅其独特主题的“订阅者”客户端发布确认消息

为了确保代理基本上没有错误并且将来可以轻松扩展,我一直在尝试通过尝试将至少 50,000 个客户端连接到它们来测试 Emqx 和 Vernemq 开源代理。

但是,我无法创建那么多连接。我在 Google Cloud 上的 Ubuntu 18.04 实例(8 核 CPU,15 GB RAM)在大约 300-400 之后无法建立任何更成功的连接。

我尝试进行以下更改: ulimit -n 64500 (用于允许这么多文件描述符,因为每个套接字连接都需要一个文件描述符)

请帮助我建立超过 50,000 个连接。我应该运行“n”个线程并在每个线程的循环下运行 total_clients/total_threads 客户端吗?

还是应该为每个客户端连接创建一个线程?

我应该怎么办?

一旦客户端开始断开连接,即使客户端没有发送断开数据包,以下消息也会出现在“$SYS/#”主题上。$SYS/brokers/emqx@127.0.0.1/clients/112/disconnected {"clientid":"112","username":"undefined","re​​ason":"close","ts":1536587647}

0 投票
1 回答
2053 浏览

mqtt - “无法建立连接,因为目标机器主动拒绝它”连接到 VerneMQ

我在 Azure Ubuntu 16.04 VM 上安装了 VerneMQ,并打开了入站和出站端口 1883。VerneMQ 配置为侦听端口 1883,已启用匿名连接,并且已启动 vernemq(vernemq start)。

allow_anonymous = on

listener.tcp.default = 127.0.0.1:1883

我在我的 Windows 10 PC 上创建了一个 C# 控制台应用程序,用于将消息发送到 VM 上的 MQTT 代理。我正在使用 NuGet 包 M2Mqtt 4.3.0 版,并在我的 Windows 10 防火墙中打开了入站和出站 1883。

当我尝试连接时,我收到连接被拒绝的错误消息。

uPLibrary.Networking.M2Mqtt.Exceptions.MqttConnectionException: '异常连接到代理'

uPLibrary.Networking.M2Mqtt.Exceptions.MqttConnectionException
HResult=0x80131500 消息=连接到代理的异常
源=M2Mqtt.Net StackTrace:在 uPLibrary.Networking.M2Mqtt.MqttClient.Connect(字符串 clientId,字符串用户名,字符串密码,布尔 willRetain,字节willQosLevel, Boolean willFlag, String willTopic, String willMessage, Boolean cleanSession, UInt16 keepAlivePeriod) at uPLibrary.Networking.M2Mqtt.MqttClient.Connect(String clientId) at MQTTSendReceive.MQTT.SendMQTTMessage() in C:\Projects\19 10 12 MQTT\ MQTTSendReceive\MQTTSendReceive\MQTT.cs:第 17 行,位于 C:\Projects\19 中的 MQTTSendReceive.Program.Main(String[] args) 10 12 MQTT\MQTTSendReceive\MQTTSendReceive\Program.cs:第 13 行

内部异常1:SocketException:无法建立连接,因为目标机器主动拒绝它:1883

我看不到我被封锁的地方。