本文介绍了Metrics Collector 2.0和IoT Edge监控工作手册。 如果要从收集器1.x升级,可以使用 “迁移指标收集器”。
收集器模块无法从内置终结点收集指标
检查模块是否位于同一 Docker 网络上
指标收集器模块依赖于 Docker 的嵌入式 DNS 解析程序用于用户定义网络。 DNS 解析程序为包含模块名称的指标终结点提供 IP 地址。 例如,http://edgeHub:9600/metrics.
当模块不在同一网络命名空间中运行时,此机制将失败。 例如,某些场景需要在主机网络上运行模块。 如果指标收集器模块位于其他网络上,在这种情况下收集会失败。
验证 httpSettings__enabled 环境变量是否未设置为 false
由 IoT Edge 系统模块公开的内置指标终结点使用 HTTP 协议。 如果通过 Edge 中心或 Edge 代理模块上的环境变量设置显式禁用 HTTP,那么即使在模块网络中,它们也不可用。
如果使用 HTTP 代理服务器,请设置“NO_PROXY”环境变量
有关详细信息,请参阅代理注意事项。
更新 Moby-engine
在 Linux 主机上,确保使用的是最新版本的容器引擎。 建议按照安装说明更新到最新版本。
收集者无法上传指标
请查看以下配置:
-
DataCollectionEndpoint是HTTPS摄取的基端点,而不是请求URL或ARM ID。 -
DataCollectionRuleId是DCR不可变ID。 -
DataCollectionStreamName匹配 DCR 中的一个输入流。 - 所选身份在DCR上有Monitoring Metrics Publisher。
- 容器能够访问其数据引入端点和身份验证端点。
对于证书认证,检查容器内部的路径以及进程用户的读取权限。 移除未使用的身份环境变量。 主机 Azure CLI 认证并不会认证收集器。
使用 检查新引入 来检查目标工作区中的行。 不要假设上传失败的间隔会在恢复后重放。
缺少一些汇总指标
Metrics Collector 2.0 在直接上传时会省略 NaN 和无限值。 在将缺失的汇总值视为采集失败之前,请先检查 _sum 和 _count 样本是否为有限值。
如何收集日志和指标?
你可以使用内置的日志拉取功能。
为什么在 Azure 门户的“指标”页中看不到设备指标?
使用 Log Analytics 作为指标数据库是指标出现在 Azure 门户中的“日志”页而不是“指标”页中的原因。
Metrics Collector 2.0 会写入其 DCR 中配置的自定义表。 策划的练习册默认为 IoTEdgeMetrics_CL。 对于另一个带有 收集器模式的表格,设置工作簿的 MetricsTableName 参数。 使用 KQL 进行查询、可视化和日志搜索提醒。
如何在分层部署中配置指标收集器?
指标收集器没有任何服务发现功能。 建议在基本或较低部署层包含模块。 在模块的配置中包括模块可能部署时使用的所有指标端点。 如果一个模块没有出现在最终部署中,但其终结点显示在收集列表中,则收集器将尝试收集、失败并继续。
如何创建跨多个 IoT 中心的设备的警报规则?
查询目标工作区,并筛选出所有预期的 IoT 中心 ARM ID。 通过使用 tolower()规范化选定和存储的资源ID。
在结果分组中保留资源 ID 和设备 ID。 将警报目标与查询范围分开配置。 参见 创建提醒。
警报在应触发时没有触发
创建警报规则时,通过检查预览图来验证警报逻辑是否将触发。
如果无法定位问题,请为 Log Analytics 服务创建一个技术支持事件。
我的设备未显示在监控工作簿中
- 检查目标工作区是否包含带有
Origin == "iot.azm.ms"的行。 - 在工作簿中选择该工作区。
- 对于 Metrics Collector 2.0,请在“指标来源”中选择“仅新增”。
- 将
MetricsTableName设置为 DCR 中的目标表。 默认值为IoTEdgeMetrics_CL。 - 选择由模块的
ResourceId配置标识的物联网资源。 - 选择包含上传内容的时间范围。
更新后的图库模板默认设置为 仅限新版,会读取新的自定义表,并且不需要设定切换时间点。 现有保存的副本会保留其保存的设置,所以只有在保存的副本只在Legacy中打开时才选择“新”。
对于合并旧历史记录和新历史记录,请输入实际的切换时间 (UTC)。 错误的边界可能会排除有效的行。
对于采用本指南透传架构的自定义工作簿,请检查工作区范围和 Value 列映射。 更新设备选择查询、空数据检查以及图表。
使用指标收集器模块日志,确认设备在所选时间范围内发送了指标。
请注意,在指标显示之前,可能会存在几分钟的数据摄取延迟。
一个 IoT 资源属于多个组
遗留平台 _ResourceId 使用的大小写形式可能与已配置的 ARM ID 不同。 新的普通 ResourceId 会保留 ResourceId 中提供的大小写。
在筛选或分组之前,先应用 tolower() 到所选ID和两个资源列。 模块配置中保留现有的ARM ID。
历史图表包含数据,但健康状况未知
健康状态取决于指标的新鲜度以及阈值。 某个历史时间范围内可能包含因时间过久而不适用于当前健康评估的样本。
在更改生命阈值前,先检查最后一次事件时间和收藏者的当前上传状态。
我发现了 bug,或者对工作簿中显示的指标有疑问
在 Azure IoT Edge GitHub 存储库上提交问题,并在标题中包含“[monitor-workbook]”。
GitHub 上公开提供了工作簿的模板。 非常欢迎提交包含改进或修复的拉取请求!
对公开模板的更新不会更新客户保存的自定义副本。 保存的副本必须分别更新其表存在门、工作区选择、值投影、声明切换和普通 ResourceId 过滤器。 不要把原始联盟重叠 InsightsMetrics 和自定义桌面历史联系在一起。 现有的警报规则也保持不变。
我在公共模板中看不到工作簿
确保你查看的是门户中 IoT 中心或 IoT Central 应用程序页中的“工作簿”页,而不是 Log Analytics 工作区中的“工作簿”页。
如果画廊是空的,检查你对所选物联网资源的访问权限。 重新打开 其工作簿 页面。 要报告缺失的模板,请使用IoT Edge问题追踪器。