使用适用于 IoT 中心的设备更新从设备远程收集诊断日志

了解如何启动 IoT 中心设备更新的日志操作,以及如何在 Azure Blob Storage 中查看收集的日志。

先决条件

注释

远程日志收集功能目前仅与实现诊断接口且能够将文件上传到 Azure Blob 存储的设备兼容。 引用代理实现还要求设备将日志文件写入设备上的用户指定的文件路径。

若要使用远程日志收集功能,必须先将 Azure Blob 存储帐户与设备更新实例链接。 此 Azure Blob 存储帐户是设备将诊断日志上传到的位置。

  1. Azure 门户中,访问你的 IoT 中心“设备更新”帐户。

  2. 选择导航窗格的“实例管理”部分下的“实例”。

  3. 从列表中选择设备更新实例,然后 配置诊断

  4. 选择“ 客户诊断 ”选项卡, 然后选择 Azure 存储帐户

  5. 从列表中选择所需的存储帐户,然后选择“ 保存”。

  6. 返回实例列表后,请定期选择 “刷新 ”,直到实例的预配状态显示“成功”。此过程通常需要 2-3 分钟。

配置日志收集

设备更新代理引用位于引用代理中的 /etc/adu/du-diagnostics-config.json 设备上的配置文件。

日志收集文件路径

当设备收到设备更新服务的日志上传启动信号时,设备上的设备更新代理将从设备上的特定文件路径收集文件。 这些文件路径在诊断配置文件中定义。

在配置文件中,要收集和上传的每个日志文件都表示为具有 logComponent componentName 和 logPath 属性的对象。 可以根据需要修改此配置。

最大日志文件大小

设备更新代理将仅收集特定文件大小下的日志文件。 此最大文件大小在诊断配置文件中定义。

相关参数“maxKilobytesToUploadPerLogPath”将应用于每个 logComponent 对象,并且可以根据需要进行修改。

创建日志操作

日志操作是由服务驱动的操作,您可以指示您的 IoT 设备通过设备更新服务来执行。 有关日志操作的工作原理的更详细说明,请参阅 设备更新诊断

  1. 导航到 IoT 中心,然后选择导航窗格“设备管理”部分下的“更新”选项卡。

  2. 在 UI 中选择“ 诊断 ”选项卡。 如果未看到“诊断”选项卡,请确保使用的是适用于 IoT 中心用户界面的最新版本的设备更新。 如果看到“必须为此设备更新实例启用诊断”,请确保已将 Azure Blob 存储帐户与设备更新实例相关联。

  3. 选择 “添加日志上传操作” 以导航到日志操作创建页。

  4. 输入新日志作的名称(ID)和说明,然后选择 “添加设备 ”以选择要从中收集诊断日志的 IoT 设备。

  5. 选择 并添加

  6. 返回“诊断”选项卡后,选择刷新,直到看到在操作表中列出的日志操作。

  7. 当操作状态为“成功”“失败”时,选择操作名称以查看其详细信息。 仅当所有目标设备都成功完成日志上传时,才会将作标记为“成功”。 如果某些目标设备成功且某些设备失败,则日志作将标记为“失败”。可以使用日志作详细信息页查看哪些设备成功且失败。

  8. 在日志操作详细信息中,可以查看设备的特定状态,并查看日志所在路径。 此路径对应于已上传诊断日志的 Azure Blob 存储帐户中的虚拟目录路径。

查看和导出收集的诊断日志

  1. 一旦日志操作成功后,导航到您的 Azure Blob 存储帐户。

  2. 在导航窗格的“数据存储”部分下选择“容器”。

  3. 选择与设备更新实例同名的容器。

  4. 使用日志操作的详细信息中的日志路径转到包含日志的正确目录。 默认情况下,远程日志收集功能指示目标设备使用以下目录路径模型上传诊断日志: Blob 存储容器/目标设备 ID/日志作 ID/设备上的日志路径

  5. 如果尚未修改 DU 代理的诊断组件,设备将通过尝试上传两个纯文本日志文件来响应任何日志操作:DU 代理诊断日志(“aduc.log”)和 DO 代理诊断日志(“do-agent.log”)。 可以通过阅读 设备更新诊断 概念页详细了解 DU 参考代理收集的日志文件。

  6. 可以通过选择文件名、选择菜单元素(省略号)并单击 “查看/编辑”来查看日志文件的内容。 还可以通过选择相应标记的选项来下载或删除日志文件。

    Azure Blob 存储中的日志文件的屏幕截图。

后续步骤

若要详细了解设备更新的诊断功能,请参阅 设备更新诊断功能概述