你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:IoT Edge 1.5
重要
IoT Edge 1.5 LTS 是受支持的版本。 IoT Edge 1.4 LTS 的生命周期结束日期为 2024 年 11 月 12 日。 如果你使用的是早期版本,请参阅更新 IoT Edge。
使用 Azure Monitor 工作簿监视 Azure IoT Edge 部署的运行状况和性能。
在本教程中,你将了解:
- 了解 IoT Edge 设备共享哪些指标以及指标收集器模块如何处理它们。
- 将指标收集器模块部署到 IoT Edge 设备。
- 查看从设备收集的指标的策展可视化效果。
先决条件
需要 IoT Edge 设备上部署模拟温度传感器模块。 如果没有准备好设备,请按照将第一个 IoT Edge 模块部署到虚拟 Linux 设备中的步骤,使用虚拟机创建一个。
了解 IoT Edge 标记
每个 IoT Edge 设备都依赖于两个模块(称为 运行时模块)来管理设备上的所有其他模块的生命周期和通信。 这些模块是 IoT Edge 代理 和 IoT Edge 中心。 若要详细了解这些模块,请参阅了解 Azure IoT Edge 运行时及其体系结构。
这两个运行时模块都创建指标,用于远程监视 IoT Edge 设备或其单个模块的性能。 IoT Edge 代理会报告单个模块和主机设备的状态,因此它会创建指标,例如模块正常运行的时间,或者设备上使用的 RAM 量和 CPU 百分比。 IoT Edge 中心报告设备上的通信情况,因此它会创建指标,例如发送和接收的消息总数,或者解析直接方法所需的时间。 有关可用指标的完整列表,请参阅访问内置指标。
这两个模块都会自动公开这些指标,因此可以创建自己的解决方案来访问和报告这些指标。 为了简化此过程,Microsoft提供了 azureiotedge-metrics-collector 模块,用于处理此过程(如果你没有或想要自定义解决方案)。 指标收集器模块从两个运行时模块和要监视的任何其他模块收集指标,并将其从设备发送。
指标收集器模块通过以下两种方式之一将指标发送到云。 本教程中使用的第一个选项将指标直接发送到 Log Analytics。 仅当网络策略需要它时,才建议使用第二个选项。 它通过 IoT 中心发送指标,然后设置一个路由,用于将指标消息传递到 Log Analytics。 无论哪种方式,一旦指标位于 Log Analytics 工作区中,即可通过 Azure Monitor 工作簿查看它们。
创建 Log Analytics 工作区
Log Analytics 工作区是必需的收集指标数据、使用查询语言并与 Azure Monitor 集成,以便可以监视设备。
登录到 Azure 门户。
搜索 Log Analytics 工作区,然后选择它。
选择“ 创建”,然后按照提示创建新工作区。
工作区准备就绪后,选择“转到资源”。
在 “设置”下的主菜单中,选择 “代理”。
在 Log Analytics 代理说明下复制工作区 ID 和主密钥的值。 本教程稍后会使用这些值来配置指标收集器模块,以将指标发送到此工作区。
检索 IoT 中心资源 ID
配置指标收集器模块时,输入 IoT 中心的 Azure 资源管理器资源 ID。 立即获取该 ID。
在 Azure 门户中,转到 IoT 中心。
在 设置下,选择 属性。
复制“资源 ID”的值。 格式为
/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Devices/IoTHubs/<iot_hub_name>
。
部署指标收集器模块
将指标收集器模块部署到要监视的每个设备。 它像任何其他模块一样在设备上运行,并监视其分配的终结点以获取要收集和发送到云的指标。
按照以下步骤部署和配置收集器模块:
- 登录到 Azure 门户,然后转到 IoT 中心。
1.在 “设备管理”下,选择“ 设备”。
在 IoT Edge 设备列表中选择目标设备的设备 ID,以打开设备详细信息页。
在菜单栏中,选择“ 设置模块”。
从门户部署模块的第一步是声明设备上的 模块 。 如果使用的是在快速入门中创建的同一设备,则可以看到列出的“SimulatedTemperatureSensor”。 如果未出现,请立即添加:
在 “IoT Edge 模块 ”部分中,选择“ 添加”,然后选择 “IoT Edge 模块”。
更新以下模块设置:
设置 “值” IoT 模块名称 SimulatedTemperatureSensor
映像 URI mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
重启策略 通用 所需状态 “正在运行” 选择“下一步: 路由”来继续配置路由。
添加一个路由,用于将所有来自模拟温度模块中的消息发送到 IoT 中心。
设置 “值” 名称 SimulatedTemperatureSensorToIoTHub
“值” FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
添加和配置指标收集器模块:
选择 “添加”,然后选择 “IoT Edge 模块”。
搜索并选择“IoT Edge 指标收集器”。
更新以下模块设置:
设置 “值” IoT 模块名称 IoTEdgeMetricsCollector
映像 URI mcr.microsoft.com/azureiotedge-metrics-collector:latest
重启策略 通用 所需状态 “正在运行”
若要使用度量收集器模块的不同版本或体系结构,请在 Microsoft Artifact Registry 中查找可用映像。
转到“ 环境变量 ”选项卡。
添加以下文本类型环境变量:
名称 “值” ResourceId 在上一部分检索到的 IoT 中心资源 ID。 UploadTarget AzureMonitor
LogAnalyticsWorkspaceId 在上一部分检索到的 Log Analytics 工作区 ID。 LogAnalyticsSharedKey 在上一部分检索到的 Log Analytics 密钥。 有关环境变量设置的详细信息,请参阅指标收集器配置。
选择“应用”以保存所做的更改。
注意
若要通过 IoT 中心发送指标,请添加一个类似于
FROM /messages/modules/< FROM_MODULE_NAME >/* INTO $upstream
的上游路由。 在本教程中,指标将直接发送到 Log Analytics,因此不需要此路由。选择 “查看 + 创建 ”以继续执行部署模块的最后一步。
选择“创建”以完成部署。
部署完模块后,返回到设备详细信息页,其中看到四个模块在 部署中列为“指定”。 可能需要一些时间才能将所有四个模块都列为“由设备报告”,这意味着它们已启动并将其状态报告给 IoT 中心。 刷新页面以查看最新状态。
监视设备运行状况
设备监视工作簿可能最多需要 15 分钟才能准备好供查看。 部署指标收集器模块后,它会开始将指标消息发送到 Log Analytics,这些消息组织在表中。 提供的 IoT 中心资源 ID 将引入的指标链接到正确的中心。 因此,特选的 IoT Edge 工作簿通过查询具有资源 ID 的指标表来检索指标。
Azure Monitor 为 IoT 提供了三个默认工作簿模板:
- “车队视图”工作簿显示跨多个 IoT 资源的设备运行状况。 该视图允许为设备运行状况设置阈值,并显示每个设备的主要指标的聚合。
- “设备详细信息”工作簿显示消息传送、模块和主机的可视化效果。 消息视图可直观呈现设备的消息路由,并报告消息系统的整体运行状况。 模块视图显示设备上的单个模块如何执行。 主机视图显示有关主机设备的信息,包括主机组件和资源使用的版本信息。
- 警报 工作簿视图显示多个 IoT 资源中设备的警报。
浏览队列视图和运行状况快照工作簿
机群视图工作簿显示所有设备,并允许你选择特定设备以查看其运行状况快照。 按照以下步骤浏览工作簿可视化效果:
转到 Azure 门户中的 IoT 中心页。
在主菜单中,向下滚动到 “监视 ”部分,然后选择“ 工作簿”。
选择“车队视图”工作簿。
你会看到运行指标收集器模块的设备。 该设备列为“运行正常”或“运行不正常” 。
选择设备名称以查看详细指标。
在任何时间图表上,使用 X 轴下的箭头图标或选择图表并拖动光标以更改时间范围。
关闭运行状况快照工作簿。 在机群视图工作簿中,选择工作簿以返回到工作簿库。
浏览设备详细信息工作簿
设备详细信息工作簿显示单个设备的性能详细信息。 按照以下步骤浏览工作簿可视化效果:
在工作簿库中,选择 IoT Edge 设备详细信息 工作簿。
设备详细信息工作簿中的第一页是 消息 视图,其中选择了 “路由 ”选项卡。
左侧是一个表,显示设备上按终结点组织的路由。 对于此设备, 上游 终结点(即路由到 IoT 中心的术语)从模拟温度传感器模块的 temperatureOutput 输出接收消息。
在右侧,图形显示一段时间内连接的客户端数。 选择并拖动图形以更改时间范围。
选择“图形”选项卡以查看路由的不同可视化效果。 在图形页上,拖放终结点以重新排列图形。 当有许多要可视化的路由时,此功能会有所帮助。
健康选项卡显示消息传送的任何问题,例如丢失的消息或断开连接的客户端。
选择 模块 视图以查看设备上部署的所有模块的状态。 选择一个模块以查看其 CPU 和内存使用情况的详细信息。
选择 主机 视图以查看有关主机设备的信息,包括其作系统、IoT Edge 守护程序版本和资源使用。
查看模块日志
查看设备的指标后,可能需要进一步深入了解并检查各个模块。 IoT Edge 通过实时模块日志功能在 Azure 门户中提供故障排除支持。
在设备详细信息工作簿中,选择“ 实时故障排除”。
故障排除页面随即打开,显示 IoT Edge 设备中的“edgeAgent”日志。 如果在设备详细信息工作簿中选择特定的时间范围,该设置将传递到故障排除页面。
使用下拉菜单切换到设备上运行的其他模块的日志,并使用“ 重启 ”按钮重启模块。
还可以从 IoT Edge 设备的详细信息页访问故障排除页面。 有关详细信息,请参阅在 Azure 门户中对 IoT Edge 设备进行故障排除。
后续步骤
完成本教程的其余部分时,请将指标收集器模块保留在设备上,并返回到这些工作簿,以查看添加更复杂的模块和路由时信息是如何变化的。
转到下一教程,设置开发人员环境并开始将自定义模块部署到设备。