如何检查 OPC Publisher 和 IoT Hub 之间的日志以确认数据传输

Posted

技术标签:

【中文标题】如何检查 OPC Publisher 和 IoT Hub 之间的日志以确认数据传输【英文标题】:How to check logs between OPC Publisher and IoT Hub to confirm the data transfer 【发布时间】:2021-12-13 23:25:04 【问题描述】:

我已经在我们的一台机器上设置了 IoT Edge,并安装了 OPC Publisher,并将其连接到我们的一个 opc-ua 服务器,然后将数据发送到 OPC Publisher,然后再发送到 IoT Hub。在过去的 10 天里,我们的 IoT 中心没有收到任何数据,今天我们突然收到了数据。我们如何解决过去 10 天的数据丢失的原因?

【问题讨论】:

【参考方案1】:

您可以在边缘设备上生成一个支持包,该包将收集所有已部署模块的日志以及边缘运行时日志。

sudo iotedge support-bundle --since 11d

有关 IoT Edge 故障排除的更多详细信息here

您可以首先查看发布者的日志并验证与 OPC UA 服务器的连接是否处于活动状态。如果没问题,请查看 edgeHub 并验证与 IoT 中心的上游连接是否受到影响。

【讨论】:

有没有办法获取特定日期的日志?即 2021 年 10 月 10 日 是的,有,请查看 Cristian 分享的链接。【参考方案2】:

监控边缘部署的最强大工具之一是与 Azure Monitor 的集成。它将从 edgeHub 和 edgeAgent 收集指标,结合起来可以让您大致了解消息的去向。它可以向您显示有多少消息发送到您的上游端点以及何时发送。

Source of image

有关功能的完整概述,您可以查看this blog post。安装步骤为here

编辑: OPC Publisher 还支持诊断日志记录,这将为您提供有关与 OPC 服务器的连接的更多信息。为此,您需要设置诊断间隔。您可以通过在 createOptions 中指定 --di command argument 来做到这一点:

"OPCPublisher":
   "settings":
      "image":"<image>",
      "createOptions":
         "Cmd":["di=60"]
      
   ,
   "type":"docker",
   "version":"1.0",
   "status":"running",
   "restartPolicy":"always"

上面的示例将每 60 秒记录一次诊断指标。然后,您可以使用 Cristian 回答中的 support bundle 命令上传日志,或使用UploadSupportBundle 直接方法来执行相同操作,而无需访问设备。

【讨论】:

我没有看到 Metrics Collector 模块,我只看到 IoT Edge Hub、IoT Edge 代理、OPC Publisher 模块。 您需要将其包含在您的部署中。检查安装步骤以获取说明。 最后一个查询,IOT 边缘设备中是否有一个配置文件,我可以在其中检查我的 OPCPublisher 从哪个 OPC 服务器接收遥测数据? 您可以在模块上启用诊断日志记录。我已经更新了我的答案以包含这些详细信息。

以上是关于如何检查 OPC Publisher 和 IoT Hub 之间的日志以确认数据传输的主要内容,如果未能解决你的问题,请参考以下文章

连接系统,包括 OPC UA IoT Agent、Orion Context Broker。 Cygnus 和 Postgres 的历史数据

IoT网关协议比较:MQTT,CoAp,XMPP,MBUS,OPC UA

如何使用 opc ua 从 PLC 读取信号?

ThingsBoard IOT Gateway

如何一步步编写opc client程序

wincc如何通过opc与外部设备连接