如何检查 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 的历史数据