指标收集器模块依赖于 Docker 的嵌入式 DNS 解析程序来访问用户定义的网络。 DNS 解析程序为包含模块名称的指标终结点提供 IP 地址。 例如, http://edgeHub:9600/metrics。
当模块不在同一网络命名空间中运行时,此机制将失败。 例如,某些方案需要在主机网络上运行模块。 如果指标收集器模块位于其他网络上,在这种情况下收集会失败。
由 IoT Edge 系统模块公开的内置指标使用 HTTP 协议。 如果通过 Edge 中心或 Edge 代理模块上的环境变量设置显式禁用 HTTP,那么即使在模块网络中,它们也不可用。
在 Linux 主机上,确保使用的是最新版本的容器引擎。 建议按照安装说明更新到最新版本。
可以使用内置日志拉取功能。 有关使用内置日志检索功能的示例解决方案,请参阅 https://aka.ms/iot-elms。
Azure Monitor 的原生指标技术尚不直接支持 Prometheus 数据格式。 基于日志的指标目前更适合用于 IoT Edge 指标,因为它:
- 通过标准 InsightsMetrics 表对 Prometheus 指标格式提供本机支持。
- 通过 KQL 进行高级数据处理,实现可视化效果和警报。
使用 Log Analytics 作为指标数据库是指标出现在 Azure 门户中的“日志”页而不是“指标”页中的原因。
指标收集器没有任何服务发现功能。 建议在基本或较低部署层包含模块。 在模块的配置中包括可能部署模块的所有指标终结点。 如果一个模块没有出现在最终部署中,但其终结点显示在收集列表中,则收集器将尝试收集、失败并继续。
创建警报规则时,可以更改范围,改为使用资源组或订阅。 然后,警报规则将应用于该范围内的所有 IoT 中心。
创建警报规则时,通过检查预览图来验证警报逻辑是否将触发。
如果无法定位问题,请为 Log Analytics 服务创建一个技术支持事件。
工作簿依赖于使用 ResourceId 链接到正确的 IoT 中心或 IoT Central 应用程序的设备指标。 确认指标收集器配置了正确的 ResourceId。
使用指标收集器模块日志,确认设备在所选时间范围内发送了指标。
请注意,在指标显示之前,可能会存在几分钟的引入延迟。
在 Azure IoT Edge GitHub 存储库上提交问题,并在标题中包含“[monitor-workbook]”。
GitHub 上公开提供了工作簿的模板。 欢迎使用改进或修复的拉取请求!
确保你查看的是门户中 IoT 中心或 IoT Central 应用程序页中的“工作簿”页,而不是 Log Analytics 工作区中的“工作簿”页。
如果仍看不到工作簿,请尝试使用预生产 Azure 门户环境:https://portal.azure.cn
。 有时,工作簿更新需要更长的时间才能显示在生产环境中,但在预生产环境中可立即显示。