如何访问公共 MQTT 代理(如 iot.eclipse.org)的日志?

物联网 MQTT 蚊子 eclipse-iot
2021-06-21 05:12:43

最近有一个问题,其中 OP 使用iot.eclipse.org作为 MQTT 代理。该服务器实际上运行的是最新发布的Mosquitto代理版本

我建议检查经纪人方面的连接,并检查了哪些可能性。我找不到访问iot.eclipse.org 的 Mosquitto 代理提供日志的方法。

无论如何,有人知道如何从公共经纪人那里获取有关我的客户的信息吗?

1个回答

订阅$SYS/#主题将提供一些有关经纪人和客户的信息。可以在此处找到这些项目的详细说明

有三个主要类别需要强调:

  • 静态主题$SYS不需要在每个$SYS主题更新间隔发送关于静态主题的消息一旦代理订阅了 $SYS 主题,就会发送这些消息
  • 必需的主题:每个声称$SYS支持这些主题的经纪人都应该支持这些主题。
  • 可选主题:代理实现可以决定它是否实现可选主题。

客户状态检查所需的内容属于“可选主题”类别。

  • $SYS/clients/[client-id]/ip

  • $SYS/clients/[client-id]/connectedtime

此外,根据有关 Mosquitto 日志记录的描述,控制台日志也可以记录到主题 ( $SYS/broker/log/#) 中。

两个常见的问题是:

  • 我可以看到所有连接的客户端吗?
  • 我可以列出所有主题吗?

代理不允许您直接执行此操作,但是通过启用对主题的日志记录并使用 MQTT 客户端监控主题,您可以获得一个好主意。

可能出于隐私和/或安全原因,iot.eclipse.org 没有这些日志条目的主题。

  • 没有主题 $SYS/clients/

    在此处输入图片说明

  • 没有主题 $SYS/broker/log/#

    在此处输入图片说明

对于其他公共代理,这些可选主题可能存在,例如,您可以使用mqtt-spy轻松检查它们