是否有用于 MQTT 网络或任何其他私有 MQTT 服务器/代理的完整管理面板/界面?

物联网 MQTT 蚊子
2021-06-21 11:21:07

我正在为某人制作一个简单的自动化系统,并且需要一个用于服务器/代理的 MQTT 管理面板。我希望运行服务器的管理员能够查看和更改服务器或客户端的密码。此外,管理员还可以查看所有主题并根据需要删除任何客户端的订阅。管理员还可以查看所有发送和接收的消息。

我目前正在研究 C# MQTTnet 和 Mosquitto,但所有服务器都需要通过 CLI(在 CLI 上有自己的一组命令)在配置文件中进行操作。难道没有什么我可以使用的东西,以便所有的一切都在带有 WPF 界面的干净代码中完成吗?这个问题有解决方案吗?我想要一个管理员用户界面。

MQTT 服务器也可以由新手用户运行吗?谁没有技术知识?

我是新来的,所以 Stack Overflow 派我来这里提问。

1个回答

如果这纯粹是用户身份验证和授权管理,那么这些都不应该由代理直接完成。

主题的用户名/密码信息和 ACL 都保存在外部数据库中(使用诸如 mosquitto auth_plugin 之类的东西),您如何选择更新该数据库完全取决于您,因为它完全取决于它需要集成的其他系统与(例如现有的员工/用户列表)。

任何管理员都不会询问代理客户端订阅了哪些主题(并且绝对不会尝试在代理中编辑该列表),但会为该用户设置 ACL 以控制他们可以发布/订阅哪些主题到。

至于监控消息,这在很大程度上取决于操作系统消息的数量,但是代理会很乐意处理比尝试和可视化未过滤的消息更多的消息。这样做的方法就是让客户端拥有正确的 ACL 条目,以便能够查看所有内容。

对于管理代理的新手,除了用户和他们应该属于哪些预定义的 ACL 组之外,他们应该没有什么可以管理的。ACL 分组应该由解决方案架构师作为设计的一部分确定,正如我之前所说,这应该集成到任何已经存在的系统中。