从4.x升级到5.x后,原有的emqx_ctl rules命令执行失败

  • EMQX 版本:5.0.9
  • 操作系统版本:docker

在迁移文档中没有看到相关的说明

请问使用dockerfile部署emqx,是否只能使用emqx_ctl rules命令来创建规则?现在规则变了,从哪里获得最新规则?

你可以在 Dockerfile 中通过指定环境变量的方式来配置规则。

查询规则的话可以直接查看 etc/cluster-override.conf 文件。

这个命令在4.x中创建一个republish规则是成功的,但是在5.x中执行没有反馈结果

另外,您说的这个文件好像不存在:

5.0 仅支持通过 Dashboard 或者配置文件来配置了,通过 Dashboard 配置的规则会显示在 etc/cluster-override.conf 中。

5.0 配置方面的变化,你可以参考下这个文档:配置文件 | EMQX 5.0 文档

有点悲催了。。。。再请教一下,我能否再A容器先用dashboard配置好,导出配置文件,再通过dockerfile方式分发到其他容器中,实现容器中emqx的免配置?

如果可以,应该复制哪个文件?是 etc/cluster-override.conf吗?但是我在A容器中配置完也没找到这个文件,是哪里弄错了吗

我在容器中找到这个文件 /opt/emqx/data/configs/cluster-override.conf ,也就是说我只要在A容器配置好,生成这个文件,然后写入到dockerfile或者docker映射文件是不是就可以了?

最好是将 cluster-override.conf 中的内容与 emqx.conf 合并一下,然后在启动容器时将合并后的 emqx.conf 挂载进去。

好的,另外请教下,为什么这个webhook配置了地址,一开始是连接,过一会儿就断开了?
实际测试这个地址是可达的。这个是什么机制,emqx会定期向http地址查询是否连接吗?

补充上面的问题,为什么这个状态经常在 连接中–>已连接 → 已断开 之间跳动,命名api接口都是可通达的,为什么状态为变化呢?

有一个探活机制,会周期性地尝试与 WebHook Server 建立 TCP 连接。

这个周期能配置吗?另外建立tcp连接需要服务端的程序做配合吗?应该是自动探活的吗?

我尝试过,一会儿是断的,一会儿是通的,能帮忙排查什么原因吗?需要什么日志,或者远程?谢谢

目前这个探活周期是固定的,不过探活失败应该是有相应的错误日志的,你可以看下 EMQX 日志。