排查指标图表问题

在 Azure 指标资源管理器中创建、自定义或解释图表时如果遇到问题,请参考本文。 如果你不熟悉指标,请参阅指标资源管理器入门指标资源管理器的高级功能。 还可以查看配置的指标图表示例

图表未显示任何数据

有时,在选择正确的资源和指标后,图表可能不会显示任何数据。 以下几个原因可能会导致此行为:

未为你的订阅注册 Microsoft.Insights 资源提供程序

需要在订阅中注册 Microsoft.Insights 资源提供程序才能浏览指标。 多数情况下,它是自动注册的(即,在配置预警规则、为任何资源自定义诊断设置或配置自动缩放规则之后)。 如果尚未注册 Microsoft.Insights 资源提供程序,则必须按照 Azure 资源提供程序和类型中所述的以下步骤进行手动注册。

解决方案: 打开“订阅”>“资源提供程序”选项卡,检查是否为订阅注册了 Microsoft.Insights

你对资源没有足够的访问权限

在 Azure 中,使用 Azure 基于角色的访问控制 (Azure RBAC) 来控制对指标的访问。 只有监视读取者监视参与者参与者的成员才能浏览任何资源的指标。

解决方案:请确保对要在其中浏览指标的资源拥有足够的权限。

你收到错误消息“访问权限被拒绝”

从 Azure Kubernetes 服务 (AKS) 或 Azure Monitor 工作区进行查询时,可能会遇到此消息。 由于 AKS 的 Prometheus 指标存储在 Azure Monitor 工作区中,因此,此错误可能是由各种原因引起的:

  • 你可能无权从用于发出指标的 Azure Monitor 工作区进行查询。
  • 你可能启用了阻止 monitor.azure.cn 流量的去广告软件。
  • 你的 Azure Monitor 工作区网络设置不支持查询访问。

解决方案:可能需要进行下列一项或多项修复来修复错误。

  • 检查在 Azure Monitor 工作区中是否拥有足够的权限来执行通过访问控制 (IAM) 分配的 microsoft.monitor/accounts/read。
  • 你可能需要暂停或禁用去广告软件才能查看数据。 也可以将去广告软件设置为允许 monitor.azure.cn 流量。
  • 可能需要通过专用终结点启用专用访问,或更改设置以允许公共访问。

资源在选定的时间范围内未发出指标

某些资源不会持续发出指标。 例如,Azure 不会收集已停止的虚拟机的指标。 其他资源可能只在发生某种情况时才发出指标。 例如,显示事务处理时间的指标至少需要有一个事务发生。 如果在选定的时间范围内未发生任何事务,图表自然是空的。 此外,尽管 Azure 中的大部分指标每隔一分钟收集一次,但有些指标的收集频率更低。 请参阅指标文档,详细了解要浏览的指标。

解决方案: 将图表时间更改为更大的范围。 可以首先使用更大的时间粒度“过去 30 天”(或依赖于“自动时间粒度”选项)。

选取的时间范围超过 30 天

Azure 中的大多数指标将存储 93 天。 但是,在任何单个图表中,只能查询不超过 30 天的数据。 此限制不适用于基于日志的指标

解决方案: 如果你看到空白图表或者图表仅显示一部分指标数据,请确认时间选取器中的开始日期与结束日期之差是否不超过 30 天间隔。 选择 30 天间隔后,你可以平移图表以查看完整的保留期。

所有指标值超过了已锁定的 y 轴范围

锁定图表 y 轴的边界时,你可能无意中造成图表显示区域不显示图表线条。 例如,如果 y 轴已锁定为 0% 到 50% 的范围,而指标包含 100% 的常量值,则线条始终会显示在可视区域的外部,使图表看上去是空白的。

解决方案: 确认图表的 y 轴边界是否未锁定在指标值的范围以外。 如果 y 轴边界已锁定,你可以暂时将其重置,以确保指标值不超过图表范围。 不建议使用 summinmax 聚合以自动粒度锁定图表的 y 轴范围,因为在调整浏览器窗口大小或者更改不同的屏幕分辨率时,图表值会随着粒度而变化。 切换粒度可能会使图表显示区域保持空白。

你正在查看来宾(经典)指标,但未启用 Azure 诊断扩展

收集来宾(经典)指标需要配置 Azure 诊断扩展,或使用资源的“诊断设置”面板启用 Azure 诊断扩展 。

解决方案:如果 Azure 诊断扩展已启用,但你仍然无法看到指标,请遵循 Azure 诊断扩展故障排除指南中所述的步骤。 另请参阅无法挑选来宾(经典)命名空间和指标的故障排除步骤

图表按指标未定义的属性进行细分

如果根据指标未定义的属性对图表进行细分,则图表不显示任何内容。

解决方案:清除分段(拆分),或选择其他属性。

对另一个图表进行筛选会排除所有数据

筛选器应用到窗格中的所有图表。 如果在另一个图表上设置筛选器,它可以从当前图表中排除所有数据。

解决方案:检查窗格上所有图表的筛选器。 若要在不同的图表上使用不同的筛选器,请在不同的窗格中创建图表。 将图表保存为独立的收藏项。 可以根据需要将这些图表固定到仪表板,以便集中查看。

仪表板上的“错误检索数据”消息

如果仪表板是使用后来已弃用并已从 Azure 中删除的某个指标创建的,则可能会发生此问题。 要验证是否是这种情况,请打开资源的指标选项卡,然后在指标选择器中勾选可用指标。 如果未显示某指标,则该指标已从 Azure 中删除。 通常,如果某指标被弃用,会有更好的新指标提供对资源运行状况的类似见解。

解决方案: 在仪表板上选取图表的备选指标来更新出错的磁贴。 可以查看 Azure 服务的可用指标列表

图表显示虚线

Azure 指标图表使用虚线样式来指示两个已知时间粒度数据点之间存在缺失值(也称为“null 值”)。 例如,如果你在时间选择器中选择了“1 分钟”时间粒度,但指标是在 07:26、07:27、07:29 和 07:30 报告的(请注意第二和第三个数据点之间的分钟间隔),则 07:27 和 07:29 数据点之间会以虚线连接,所有其他数据点之间以实线连接。 当指标使用 countsum 聚合时,虚线将下降到零。 对于 avgminmax 聚合,虚线将连接两个最接近的已知数据点。 此外,当图表最右侧或最左侧缺少数据时,虚线将朝缺失数据点的方向延长。 此屏幕截图显示了当图表最右侧或最左侧缺少数据时,虚线将如何朝缺失数据点的方向延长。

解决方案: 此行为是设计使然。 这对于确定缺失数据点很有用。 折线图能够出色地可视化高密度指标的趋势,但对于包含稀疏值的指标,可能很难解释,尤其是必须将值与时间粒度关联时。 虚线可以方便阅读这些图表,但如果图表仍不清晰,请考虑使用不同的图表类型查看指标。 例如,同一指标的散点图只在有值时显示一个点,在缺失值时完全跳过数据点,从而清楚地显示每个时间粒度:

强调“散点图”菜单选项的屏幕截图。

注意

如果你仍然偏向于使用折线图来查看指标,将鼠标移到图表上可在鼠标指针位置突出显示数据点,这可能有助于评估时间粒度。

指标图中的度量单位

Azure 监视器指标使用基于 SI 的前缀。 如果资源提供程序为指标选择适当的单位,则指标仅使用 IEC 前缀。 例如:资源提供程序网络接口(资源名称:rarana-vm816)没有为“发送的数据包”定义指标单位。 这里用于指标值的前缀是表示千 (1000) 的 k ,一个 SI 前缀。 显示带前缀 kilo 的指标值的屏幕截图。

资源提供程序存储帐户(资源名称:ibabichvm)具有为“Blob 容量”定义的指标单位(字节)。 因此,使用的前缀为 mebi (1024^2),一个 IEC 前缀。 显示带前缀 mebi 的指标值的屏幕截图。

SI 使用十进制

abbreviation SI
1000 k kilo
1000^2 M mega
1000^3 G giga
1000^4 T tera
1000^5 P peta
1000^6 E exa
1000^7 Z zetta
1000^8 Y yotta

IEC 使用二进制

abbreviation IEC 旧的 SI
1024 Ki kibi K kilo
1024^2 Mi mebi M mega
1024^3 Gi gibi G giga
1024^4 Ti tebi T tera
1024^5 Pi pebi -
1024^6 Ei exbi -
1024^7 Zi zebi -
1024^8 彝语 yobi -

图表显示值出现意外的下降

在许多情况下,指标值的明显下降是图表上显示的数据造成的一种错觉。 当图表显示最近几分钟的值时,你可能会被总和或计数的减小所误导,因为 Azure 尚未收到或处理最后的指标数据点。 指标处理延迟在几分钟范围内变化,具体取决于所用的服务。 对于显示最近时间范围(1 或 5 分钟粒度)的图表,过去几分钟内的值减小变得更加明显:Screenshot that shows a drop of the value over the last few minutes.

解决方案: 此行为是设计使然。 我们认为即使数据是部分不完整的,在我们收到数据后立即显示数据也是有益的。 这样,就可以更快地做出重要结论,并立即开始调查。 例如,对于显示失败次数的指标,查看部分值 X 可以判断,在给定的分钟内至少发生了 X 次失败。 然后可以立即开始调查问题,而不是等到图表中显示此分钟内发生的确切失败次数,确切的数字可能不如立即调查那么重要。 收到整个数据集后,图表将会更新,但此时,它可能还会显示更近时间内发生的新的不完整数据点。

无法选取来宾命名空间和指标

虚拟机和虚拟机规模集有两种类别的指标:Azure 托管环境收集的虚拟机主机指标,以及虚拟机上运行的监视代理所收集的来宾(经典)指标。 启用 Azure 诊断扩展即可安装监视代理。

来宾(经典)指标默认存储在 Azure 存储帐户中,并可从资源的“诊断设置”选项卡中进行选择。 如果未收集来宾指标或指标资源管理器无法访问来宾指标,你将只能看到虚拟机主机指标命名空间:

图表上的

解决方案:如果指标资源管理器中未显示来宾(经典)命名空间和指标:

  1. 确认 Azure 诊断扩展已启用并配置为收集指标。

    警告

    无法使用 Log Analytics 代理(也称为 Microsoft Monitoring Agent 或“MMA”)将来宾(经典)发送到存储帐户。

  2. 请确保已为订阅注册 Microsoft.Insights 资源提供程序 。

  3. 验证存储帐户是否不受防火墙的保护。 Azure 门户需要对存储帐户的访问权限才能检索指标数据和绘制图表。

  4. 使用 Azure 存储资源管理器验证指标是否流入存储帐户。 如果未收集指标,请遵循 Azure 诊断扩展故障排除指南进行操作。

已针对“深入查看日志”禁用日志和查询

若要查看推荐的日志和查询,必须将诊断日志路由到 Log Analytics。

解决方案:若要将诊断日志路由到 Log Analytics,请参阅 Azure Monitor 中的诊断设置

只有活动日志显示在“深入查看日志”中

“深入查看日志”功能仅适用于选定的资源提供程序。 在默认情况下提供的是活动日志。

解决方案:某些资源提供程序预期会出现此行为。

后续步骤