排查图表问题

本页面介绍了您在使用 Google Cloud 项目收集的指标时可能会看到的一些行为。

图表错误

本部分介绍了配置图表时可能会遇到的错误。您可以使用 Metrics Explorer 或将图表添加到信息中心来配置图表。

图表数据中存在缺口

图表偶尔会出现数据缺口。例如,以下屏幕截图展示了 loadbalancing.googleapis.com/https/total_latencies 指标的这种行为:

值缺口的图表示例。

数据写入很少的情况可能会出现数据缺口。Cloud Monitoring 通过采样来收集指标,对于非常稀疏的数据,可能不会在收集样本时提供任何数据。例如,如果请求计数为每秒 0.05 次查询 (QPS) 或更小,则负载平衡器指标的差距。查询率提高时,缺口消失。

修改时间范围后,校准时间段会发生变化

您将图表添加到信息中心。当您更改图表的时间范围时,校准时间段有时会发生变化。例如,如果您将时间范围从一小时更改为两个小时,校准时间段会列为 1 minute interval。但是,如果您将时间范围从一小时更改为一天,则校准时间段会列为 5 minute interval

这是预期行为。

图表可显示的数据点数量有限。因此,当所选时间范围内的可用数据点数量超出显示限制时,Monitoring 会自动修改校准设置以减少要显示的数据点数量。

图表未显示任何数据

您配置了图表,但图表显示的是错误消息而非数据:

  • 如果为图表指定的时间范围内没有可用数据,系统会显示以下消息:

    No data is available for the selected time frame.
    

    如需解决此问题,请尝试以下操作:

    • 扩大图表的时间范围。某些指标类型(例如报告配额使用情况的指标类型)每天仅提供一个样本。

    • 更改为图表选择的指标类型。图表指定的指标类型可能无效。也就是说,该指标类型没有对应的数据。

  • 如果无法识别查询指定的指标类型或资源类型,系统会显示以下消息:

    An error occurred requested data. One or more resources could not be found.
    

    如需解决此问题,请尝试执行以下操作:

    • 验证是否已定义查询中指定的指标类型和资源类型。您可以使用菜单驱动的图表界面来搜索指标类型。

    • 请验证查询中指标类型和资源类型的拼写。

包含多个指标的图表显示错误消息

您要将图表配置为显示多个指标,并且图表会显示以下错误消息:

    The units for queries using the same Y-axis must be the same for the chart
    to render correctly.

图表可以显示多个指标类型,并且您可以将某个指标类型映射到左侧 Y 轴或右侧 Y 轴。映射到左侧 Y 轴的所有指标类型的单位必须相同;否则,系统会显示之前的错误消息。同样,映射到右侧 Y 轴的所有指标类型的单位必须相同,否则系统会显示之前的错误消息。

要解决此错误,请执行以下操作:

  1. 如果图表包含的指标类型超过两个单位,请移除指标,直到只有两个单位类型。

  2. 在左侧 Y 轴上为一个单位类型分配所有指标,在右侧的 Y 轴上为其他单位类型分配所有指标。

包含多个指标的图表显示意外数据

图表配置为显示多个指标,并添加了过滤条件以仅显示特定时序。但是,该图表会显示不满足过滤条件的时序。

要解决此问题,请确保将过滤条件应用于已绘制图表的每个指标。

例如,以下屏幕截图显示了图表的 Metrics Explorer 配置窗格,该图表显示了虚拟机 (VM) 实例读取和写入的字节数:

包含两个指标类型的 Metrics Explorer 示例。

在屏幕截图中,图表显示的每种指标类型都有一个标题。

对于该示例,如果您希望图表仅显示位于 us-central1-a 可用区的虚拟机的时序,请为每个查询添加过滤条件 zone = us-central1-a

无法为 MQL 和 PromQL 定义的图表选择过滤条件值

您可以在自定义信息中心创建图表,并使用 Monitoring Query Language (MQL) 或 PromQL 配置这些图表。然后创建永久性信息中心过滤条件。查看信息中心时,您尝试更改过滤条件的默认值,但标签值菜单未显示,或者标签值菜单不正确:

系统不会加载信息中心范围的过滤条件的值。

如需解决此问题,请输入过滤条件值,然后选择应用。 例如,如果过滤键为 zone,则可以输入 us-central1-a

信息中心错误

本部分介绍了创建信息中心时可能会遇到的错误。

信息中心未显示所有事件

您可以配置信息中心以显示事件;不过,系统仅显示最近的事件。更早的活动不会显示。

要解决此问题,请执行以下任一操作:

  • 请使用较短的时间范围。例如,显示最近一小时的数据(而不是最近一天的数据),或选择自定义时间范围。

  • 添加滤镜。

出于性能原因,信息中心可显示的事件数量会受到限制。达到这些限制后,信息中心将仅显示最新事件。

提醒图表未显示任何数据

信息中心包含提醒图表,但提醒图表未显示任何数据。

如需解决此问题,请尝试以下操作:

  • 查看提醒图表的配置,并确保已选择提醒政策。如果未显示提醒政策,请将提醒图表与提醒政策关联,或从信息中心中删除提醒图表。

    如果将提醒图表添加到信息中心,然后删除引用的提醒政策,则提醒图表会停止显示数据。删除提醒政策不会删除引用该政策的提醒图表。

  • 查看提醒政策的详细信息,确认其包含单一条件。

    如果将提醒图表添加到信息中心,然后将引用的提醒政策修改为包含多个条件,则提醒图表会停止显示数据。如需解决此问题,请将提醒图表与单一条件提醒政策关联,或从信息中心中删除提醒图表。

  • 扩大时间范围。时间范围选择器设置的值必须大于数据采样周期。虽然大多数指标每 60 秒采样一次,但某些指标的采样频率并不高。例如,serviceruntime.googleapis.com/quota/limit 指标每 86400 秒(1 天)采样一次。

日志面板报告无效查询

您看到错误消息“错误:查询无效”,并且日志面板未显示任何日志条目。

如需解决此问题,请减少日志面板显示其日志的项目的数量。

如需详细了解此失败条件,请参阅查询返回错误

日志面板报告找不到条目

在日志面板中看到错误消息“找不到与当前过滤条件相符的条目”。有多种原因可能导致您看到此消息。请检查以下各项:

  • 对于要查看其日志条目的每个项目,请确保满足以下条件之一:

    • 您具有 Logs Viewer (roles/logging.viewer) 角色。
    • 对于自定义角色,您拥有以下权限:

      • logging.logs.list
      • logging.logServiceIndexes.list
      • logging.logServices.list
  • 确保查询编辑器中的子句与日志面板中显示的设置不冲突。

    例如,当查询编辑器字段包含 severity=NOTICE 时,日志面板会检索严重级别正好为 NOTICE 的所有日志。如果日志面板严重级别菜单设置为“警告”,则日志面板会显示“找不到与当前过滤条件相符的条目”。显示此消息是因为没有任何检索到的日志条目的严重级别至少为“警告”。

    相反,当查询编辑器字段包含 severity=WARNING 且日志面板严重级别菜单设置为“通知”时,您会看到日志条目。在此配置下,日志面板会检索严重级别为 WARNING 的日志。接下来,系统会过滤该日志列表,以仅显示严重级别至少为“通知”的日志,而所有检索到的日志都至少为该严重级别。

日志面板表明其显示部分数据

您在日志面板上看到警告指示符和“显示部分结果”消息。

如果您无权查看选择要查看其日志的 Google Cloud 项目的日志,则会显示此指示符。要移除警告指示符,请执行以下操作之一:

  • 请与您的系统管理员联系,让对方针对您要查看其日志的每个 Google Cloud 项目执行以下任一操作:

    • 授予您 Logs Viewer (roles/logging.viewer) 角色。
    • 对于自定义角色,授予您以下权限:

      • logging.logs.list
      • logging.logServiceIndexes.list
      • logging.logServices.list
  • 更改日志面板的配置,以仅显示您有权查看日志条目的 Google Cloud 项目的日志。

使用日志面板创建信息中心的 API 调用失败

使用日志面板创建信息中心时看到错误消息有以下可能的原因:

  • 当日志面板不满足高度或宽度的最低要求时,会显示以下错误:

    Unable to save dashboard: Field mosaicLayout.tiles[0] has an invalid value: LogsPanel must have a minimum width of 3 and height of 3.
    

    要解决此问题,请在信息中心 JSON 表示法中,确保日志面板微件的 heightwidth 字段满足最低要求。

  • logsPanel.filter 字段超过 2,000 个字符时,系统会显示以下错误:

    Unable to save dashboard: filter cannot be greater than 2000 characters.
    

    要解决此问题,请缩短过滤条件。

  • 如果缺少 resourceNames 字段,您会看到以下错误消息:

    Unable to save dashboard: Dashboard is missing required field mosaicLayout.tiles[0].widget.logsPanel.resourceNames.
    

    要解决此问题,请将 resourceNames 字段添加到信息中心 JSON。

  • resourceNames 的语法不正确时,会显示类似于以下内容的错误:

    Unable to save dashboard: Field mosaicLayout.tiles[0].widget.logsPanelWidget.resourceNames has an invalid value of "a-project": resource name must have the format `projects/{project}`."
    

    要解决此问题,请在信息中心 JSON 中将 a-project 替换为 projects/a-project

  • 如需了解如何解决 filter 字段中的语法错误,请参阅问题排查:语法问题

如需查看格式正确的 JSON 文件示例,请参阅包含 LogsPanel widget 的信息中心

导入 Grafana 信息中心

如需了解如何使用信息中心导入程序并对其进行问题排查,请参阅将 Grafana 信息中心导入 Cloud Monitoring

如需了解信息中心内容转换方面的问题,请参阅导入程序的 README 文件。