你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Device Update for IoT Hub 从设备远程收集诊断日志

了解如何启动 Device Update for IoT Hub 日志操作,并查看 Azure Blob 存储中收集的日志。

先决条件

注意

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

支持的浏览器:

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

  1. Azure 门户中,导航到 Device Update for IoT Hub 帐户。

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

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

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

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

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

配置日志收集

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

日志收集文件路径

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

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

最大日志文件大小

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

相关参数“maxKilobytesToUploadPerLogPath”将应用于每个 logComponent 对象,并可按需修改。

创建日志操作

日志操作是一种服务驱动操作,可用于指示 IoT 设备通过设备更新服务执行该操作。 有关日志操作如何工作的详细说明,请参阅设备更新诊断

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

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

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

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

  5. 选择 添加

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

  7. 操作状态为“成功”或“失败”后,请选择操作名称以查看详细信息。 只有在所有目标设备成功完成日志上传后,操作才标记为“成功”。 如果某些目标设备成功,而某些设备失败,则日志操作将标记为“失败”。你可以使用日志操作详细信息页查看成功和失败的设备。

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

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

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

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

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

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

  5. 如果尚未修改设备更新代理的诊断组件,设备会通过尝试上传两个纯文本日志文件来响应任何日志操作:设备更新代理诊断日志 (aduc.log) 和 DO 代理诊断日志 (do-agent.log)。 要详细了解设备更新引用代理收集的日志文件,不妨查阅设备更新诊断概念页。

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

    Screenshot of log file within Azure Blob storage.

后续步骤

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