配置故障转储
可以选择性地配置 Azure Sphere 设备,以便在发生 OS 或应用程序崩溃时向 Microsoft 报告完整的用户模式故障转储。 Microsoft 使用此信息来提高所有 Azure Sphere 设备的 Azure Sphere OS 质量。
下图演示了故障转储收集的阶段:
阶段 | 描述 |
---|---|
1. | 为一个或多个设备组启用故障转储收集。 如果选择为设备组启用故障转储收集,则表示你已同意收集、上传和分析用户模式故障转储。 注意: 如果你的应用从最终用户收集个人数据,则应在为这些设备启用故障转储之前获得他们的同意。 |
2. | Azure Sphere 安全服务将在 48 小时内将选择加入状态与设备同步。 除非设备收到选择加入信号,否则永远不会生成故障转储。 如果设备在此时间段内未联系 Azure Sphere 安全服务,则设备将自动停止生成故障转储,直到选择加入状态再次成功与 Azure Sphere 安全服务同步。 |
3. | 如果启用了故障转储,则当 OS 组件或应用程序崩溃时,设备会尝试将故障转储上传到安全位置。 安全上传后,数据不会离开安全位置。 |
4. | 数据只能由 Azure Sphere 团队通过安全、远程、完全审核的会话进行故障排除。 |
隐私注意事项
所有 Azure Sphere 设备的故障转储都安全地存储在美国东部、美国西部和欧盟数据中心。 欧盟的客户可以通过将 “区域数据边界 设置”参数设置为
EU
,确保仅在欧盟内处理和存储其应用程序映像和故障转储文件。注意
如果将“区域数据边界”设置为
None
,则默认情况下,故障转储文件将存储在美国东部或西部。故障转储数据根据所有适用的法律和法规(包括 GDPR)进行存储,并在 29 天后删除。
性能注意事项
- 故障转储上传大小通常从几 KiB 到几十 KiB 不等。
- 智能限制策略确保仅在必要时启动故障转储上传,以尽量减少对设备的性能和带宽影响。 这种智能限制会自动发生,无需执行任何操作。 在已收集来自相同崩溃的足够数量的转储后,将跳过故障转储上传。
- 当应用程序崩溃时,设备将尝试安全地上传故障转储(如果已启用)。 故障转储上传完成后,故障应用程序将重启。 如果无法为上传建立网络连接,并且设备在 5 秒超时期限内未响应,则崩溃的应用程序会立即重启。
启用故障转储收集
默认情况下不启用故障转储。 可以使用 az sphere device-group update 命令或在AllowCrashDumpsCollection
“设备组 - 修补程序 API”中的“请求正文”字段中同意启用故障转储收集。
例如,以下 CLI 命令启用故障转储收集,并指定故障转储数据存储在 EU 中。
az sphere device-group update --product DW100 --device-group Marketing --allow-crash-dumps-collection Enabled --regional-data-boundary EU
若要从 CLI 禁用故障转储收集,请将 设置为 --allow-crash-dumps-collection
"Disabled"
。
az sphere device-group update --product DW100 --device-group Marketing --allow-crash-dumps-collection "Disabled"
禁用所有设备组的故障转储相当于撤销同意。
用于配置故障转储的脚本
我们提供了一个示例脚本,可用于发出 GET
或 PATCH
调用 Azure Sphere API,以查看或修改 AllowCrashDumpsCollection
一个或多个设备组的值。 有关详细信息,请参阅 Azure Sphere 库中的故障转储配置脚本,这是未经维护的脚本、实用工具和函数的集合。