问题标签 [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.
mqtt - Mqtt 客户端收不到来自 VerneMq 的离线消息
我们有一个 mqtt 服务器(Azure 上 Linux VM 上的 VerneMq),其配置如下
除了它的默认配置。
为了测试持久消息机制,我们创建了以下场景:我们向服务器提供了一些测试消息并等待几分钟,然后再向客户端订阅(使用 cleanSession = false),我们能够接收到所有消息。但是如果我们做同样的事情并等待 24 小时,我们就无法接收到所有存储的消息,即使我们可以看到该客户端的等待消息
代理和客户端都使用 qos=2。我们必须更改客户端或服务器上的任何其他配置吗?
macos - 在 MAC OS 中执行 dpkg 命令时出现错误
我正在尝试使用 dpkg 安装 verneMQ MQTT 代理。当我尝试以下命令时,我收到此错误:
命令 :sudo dpkg -i vernemq_<%= latest_version() %>-1_amd64.deb
错误 :
如果我这样做echo $PATH
,我会得到所有这些路径信息:
请建议我该如何解决这个错误
cluster-computing - 如何子到和监控 VerneMQ 集群?
我设法创建了一个由 2 个 Vernemq 节点组成的集群。
两者都通信良好并且分别位于不同的服务器
- A.company.com
- B.company.com
以下命令显示两个节点都在运行。(使用ssl和8883端口)
实际上一切都运行良好,例如:
当我订阅 A.mycompany.com时,集群是否分发到B.mycompany.com?
可以请有人分享一些关于它是如何工作的见解吗?
由于我在这方面没有任何经验,请问您哪种方式是监督集群活动的最佳方式?
- Graphite(我看到了一些集群的相关指标)
- http://(oneofthetwoserver):8888/metrics
问候,
皮埃尔
kubernetes - Kubernetes 集群上的 VerneMQ
我正在尝试通过 Oracle OCI 使用 Helm 图表在 Kubernetes 集群上安装 VerneMQ。
Kubernetes 基础设施似乎已经启动并运行,我可以毫无问题地部署我的自定义微服务。
我正在按照https://github.com/vernemq/docker-vernemq的说明进行操作
这里的步骤:
helm install --name="broker" ./
从 helm/vernemq 目录
输出是:
但是当我做这个检查时
kubectl exec --namespace default broker-vernemq-0 vmq-admin cluster show
我有
我认为子域有问题(双点之间没有任何内容)
用这个命令
最后的日志行是
我也尝试过使用这个自定义 yaml:
有什么建议吗?
非常感谢
杰克
ssl - 使用 webhooks 的 vernemq 身份验证
我想在 vernemq 代理上验证/授权客户端。这是我感兴趣的两个钩子:
auth_on_register
auth_on_subscribe
我已经为它们设置了钩子和端点。在新注册和订阅时,我可以记录 POST 请求参数。
问题:
我们可以在客户端请求中传递一些自定义变量,以便我们可以处理身份验证。
如果不是,那么 ssl 在这里可以是一个很好的选择,请包括那个程序?
详细信息: 通过启用 auth_on_register,我们可以将 POST 请求发送到相应的端点,参数:
您可以看到它使用用户名和密码进行身份验证,vernemq 或 mqqt 通常是否提供发送自定义参数的工具,例如 auth_token?
我已经读到我们也可以配置 ssl 证书,所以如果没有自定义参数的工具,那么我会接受这个,还是有其他建议?
mqtt - 无法通过与 VerneMQ /MQTT 的共享订阅检索消息
问题
我想使用共享订阅,但订阅共享主题时收不到任何消息。
但是,当订阅没有 share 关键字的主题时,一切正常
我试过的
我已经尝试过各种版本的主题名称(带有斜线,没有转义 share 关键字,没有通配符......)
在查看代理实例上的主题时(mqtt 代理是集群的),订阅似乎是成功的:
配置看起来像这样
有没有配置错误?我是否需要定义任何值才能使共享订阅起作用?我使用 verneMq 1.7.0。错误日志为空。如何调试消息未发送给订阅者的原因?
docker - 配置文件更改为 VerneMQ docker 映像
我想对 docker 上运行的 VerneMQ 映像的配置文件进行一些更改。有什么方法可以访问配置文件以便进行更改?
mysql - passlib 校验和不使用 MySQL 的 SHA2 进行验证
我正在使用 vernemq 使用 SHA256 算法从数据库中授权用户。我观察到使用内置 mqsql 函数在表中创建新条目时SHA2
,
它会生成类似这样的哈希值,54d0e30d0a00d86451a3353a2123fc1f006faaba6b55ef0d168390f26cbab82a
并且 Vernemq 服务器在使用CJJPL9
密码登录时成功验证了该用户。
但是,当我使用 passlib 库从 python 代码中将此条目添加到此表中时sha256_crypt.encrypt("CJJPL9")
,它会生成如下哈希
$5$rounds=80000$wnsT7Yr92oJoP28r$cKhJImk5mfuSKV9b3mumNzlbstFUplKtQXXMo4G6Ep5
。我知道,由于 salt,哈希值会有所不同,但是两种哈希值的格式存在明显差异,因此,verneMQ 服务器无法验证该用户的凭据。passlib 库的格式表明它只保留 256 位校验和的 43 个字符。我还尝试通过仅保留 passlib 哈希字符串的校验和部分来进行测试,但仍然没有运气。
我想知道 MySQLSAH2("CJJPL9", 256)
和sha256_crypt.encrypt("CJJPL9")
.
docker - vernemq 和 nginx 的 docker-compose 文件出错
我写了一个 docker-compose 文件来运行两个服务 vernemq 和 nginx。当我在终端上运行命令 docker-compose up 时,我不断收到以下错误。如果这可能有帮助,我正在使用带有 ubuntu 18.04 映像的虚拟机
我尝试将 IP 地址留在 vernemq 服务中,但没有帮助。
这是我的码头工人撰写文件
这是我得到的错误
cluster-computing - 我需要使用 VerneMQ 创建多个集群节点,但文档没有指定如何创建集群节点
我是新手MQTT
。我必须创建多个 vernemq 集群节点。我该怎么做呢?
产生这个输出:
我想在集群中再添加一个节点,请帮忙!