问题标签 [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.
mysql - VerneMQ MySQL 身份验证
我已经在我的云服务器中安装了 vernemq,一切似乎都运行良好。但是从任何客户端,它都无法使用用户名/密码身份验证连接代理。身份验证基于 MySQL,Lua 脚本运行良好。但奇怪的是身份验证不起作用或出现问题。我无法追踪任何内容,因为 Log 中没有显示任何内容。我看到的唯一调试消息如下:
[debug] <0.227.0>@plumtree_broadcast:schedule_lazy_tick:720 0ms 邮箱遍历,在10000ms内安排下一次惰性广播,最小间隔为10000ms
操作系统:Ubuntu 18.04 MySQL 版本:5.7.29 VerneMQ 版本:1.10
mqtt - 获取连接到 Vernemq 代理的活跃客户端数量
我有一个在 docker 容器中运行的 Vernemq 代理,我想知道给定时间点的活动客户端数量。我目前正在使用该$SYS/broker/queue/processes
主题来获取活动进程,但我不确定这是否正确获取连接客户端数量的指标。我浏览了mqttSYS
主题,它说我可以通过主题获取当前连接的客户端的数量。$SYS/broker/clients/connected
但是,当我订阅该主题时,我没有看到任何消息。Vernemq 是否需要任何配置更改来获取连接的客户端?或者是否有任何其他指标可以用于相同的?
docker compose 文件如下所示
谢谢。
python - 在 VerneMQ webhook 中传递消息
我正在使用来自 VerneMQ 插件的演示 webhooks (python)
但演示只有auth_on_register
,auth_on_publish
和auth_on_subscribe
我的消息已通过所有链,但 sub 看不到来自 pub 的消息
我想我错过了on_deliver
链条,但我在 python 中找不到任何示例,github 仅在 erlang https://github.com/vernemq/vernemq_dev/blob/master/src/on_deliver_hook.erl
问题:有没有什么方法、函数可以用python语言将消息传递给sub?
mosquitto - 向 vernemq 发送 mosquitto 消息
我已经在两台不同的服务器上安装了 VerneMQ 和 Mosquitto,我正在尝试从 Mosquitto 服务器发送测试消息,以查看它们是否在 VerneMQ 服务器上收到。为简单起见,我们称它们为:VerneMQ - S1 Mosquitto - S2
在 S1 上:
S1,VerneMQ 的配置应该允许任何连接:
从 S2
如何检查消息是否在另一台机器上收到。运行 vmq-admin session show 不提供任何输出
日志中是否有我可以看到正在处理的消息的位置?
mqtt-vernemq - vernemq 集群节点因 remote_node_not_available 而终止
我正在尝试使用 StatefulSet 在 Kubernetes 上设置 vernemq 集群。以下是我的清单文件。
当每个 vernemq pod 启动时,我看到以下日志
集群状态看起来不错
但我很担心
是什么导致集群中的节点断开连接?还是正常行为?
mqtt - 如果在 CONNECT 期间客户端没有提供 clientID,VerneMQ(1.10.3 部署为容器)的行为是什么?
我们想了解当 Connect 请求中没有 clientID 并且客户端仅提供注册的用户名、密码、keepalive 会话为 0、连接超时为 60 X 60 X 1000 时 verneMQ 的行为
在这种情况下,会话是如何由 VerneMQ 管理的。如果在连接此类客户端时重新启动 VerneMQ,在客户端重新启动后,我们观察到客户端订阅的主题丢失。为什么会出现这种行为?
kubernetes - 无法在 Istio 代理后面的 k8s 中建立与 VerneMQ 集群的 mqtt 连接
我正在设置 k8s 本地 k8s 集群。对于测试,我在使用 kubeadm 设置的 vm 上使用单节点集群。我的要求包括在 k8s 中运行 MQTT 集群 (vernemq),并通过 Ingress (istio) 进行外部访问。
在不部署入口的情况下,我可以通过 NodePort 或 LoadBalancer 服务连接 (mosquitto_sub)。
Istio 是使用安装的istioctl install --set profile=demo
问题
我正在尝试从集群外部访问 VerneMQ 代理。入口(Istio 网关)——在这种情况下似乎是完美的解决方案,但我无法建立与代理的 TCP 连接(也无法通过入口 IP,也无法直接通过 svc/vernemq IP)。
那么,如何通过 Istio 入口从外部客户端建立这个 TCP 连接?
我试过的
我创建了两个命名空间:
- 使用 istio 暴露 – 使用 istio 代理注入
- 带负载均衡器的暴露 - 没有 istio 代理
在exposed-with-loadbalancer
命名空间中,我使用 LoadBalancer 服务部署了 vernemq。它有效,这就是我知道可以访问 VerneMQ 的方式(其中mosquitto_sub -h <host> -p 1883 -t hello
,主机是 svc/vernemq 的 ClusterIP 或 ExternalIP)。仪表板可在主机上访问:8888/status,仪表板上的“客户端在线”增量。
我在其中exposed-with-istio
部署了带有 ClusterIP 服务、Istios 网关和 VirtualService 的 vernemq。istio-proxy 注入后,mosquitto_sub 不能通过 svc/vernemq IP 订阅,也不能通过 istio 入口(网关)IP 订阅。命令只是永远挂起,不断重试。同时,vernemq 仪表板端点可通过服务 ip 和 istio 网关访问。
我猜必须配置 istio 代理才能使 mqtt 工作。
这是 istio-ingressgateway 服务:
kubectl describe svc/istio-ingressgateway -n istio-system
这是来自 istio-proxy 的调试日志
kubectl logs svc/vernemq -n test istio-proxy
这是来自 istio-ingressagateway 的日志。IP10.244.243.205
属于 VerneMQ pod,而不是服务(可能是有意的)。
我的配置
vernemq-istio-ingress.yaml vernemq-loadbalancer-service.yaml istio.yamlKiali 截图是否暗示 ingressgateway 只将 HTTP 流量转发到服务并吃掉所有 TCP?
UPD
根据建议,这是输出:
** 但是您的特使日志显示了一个问题:特使杂项未知错误代码 104 详细信息由对等方和特使池 [C5648] 客户端断开连接重置连接。
istioctl proxy-config listeners vernemq-c945876f-tvvz7.exposed-with-istio
第一个 | grep 8888 和 | grep 1883
** 此外,请运行:istioctl proxy-config endpoints 和 istioctl proxy-config routes。
istioctl proxy-config endpoints vernemq-c945876f-tvvz7.exposed-with-istio
grep 1883
istioctl proxy-config routes vernemq-c945876f-tvvz7.exposed-with-istio
docker - 集群在不同机器上运行的 vernemq docker 容器
我希望这将是一个简单的,只需在第二个实例的docker-compose.yml
文件中使用以下代码段
但这似乎不起作用。
第二个实例的日志确认它正在尝试集群:
虽然第一个实例的日志根本没有显示任何内容。
在第二个实例中,我可以确认端点是可访问的:
然后在第一个实例的日志中,我看到一个完全预期的错误,并确认我已经到达第一个实例
这可能与从 docker 容器中看到的 ip 地址是172.19.0.2
而外部的10. ...
.
还尝试添加第一个实例的主机名known_hosts
无济于事。
请指教。
我正在使用 erlio/docker-vernemq:1.10.0
mqtt-vernemq - VERNEMQ 使用 SQL Server 进行身份验证
我正在尝试设计一些东西来使用 SQL Server 后端对我的 VERNEMQ mqtt 代理客户端进行身份验证。我已经阅读了 webhook 并且可以使用它,但交易破坏者是它不支持 HTTPS。想知道我们是否可以让 vernemq 直接从 SQL Server 进行身份验证,我已经看到了 cockroach DB/Mongo/MySQL 上的现有实现。