使用 Metrics Explorer 时选择指标

本文档介绍如何配置临时图表,以显示项目收集的时间序列数据。Metrics Explorer 只能显示数字时间序列数据。

选择要显示的数据

如需配置要在图表上显示的时序,您可以通过从菜单中选择来构建查询,也可以编写查询。编写查询时,请选择查询语言,然后使用查询编辑器或基于文本的界面:

  • Monitoring Query Language (MQL) 查询指定时序以及这些时序的分组和校准方式。MQL 接口支持带有建议和语法检查的代码编辑器。

    通常,您不能将 MQL 查询转换为可供其他接口使用的形式。当您切换到 MQL 标签页或从该标签页切换到其他 MQL 标签页时,系统将舍弃未保存的查询。

  • Prometheus 查询语言 (PromQL) 查询指定时序以及这些时序的分组和对齐方式。PromQL 接口支持带有建议的编辑器。

    通常,您无法将 PromQL 查询转换为其他接口可以使用的形式。当您切换到或退出 PromQL 标签页时,系统会舍弃未保存的查询。

  • 监控过滤条件查询可指定时序,但不包含分组或校准语句。

    您可以使用 Monitoring 过滤条件指定 Monitoring 能够绘制图表的任何时序。例如,如需为虚拟机上运行的进程数量绘制图表,您必须使用指定函数的 Monitoring 过滤条件。

    有时无法将 Monitoring 过滤条件转换为其他接口所需的形式。因此,如果您切换到其他界面,您的查询可能会被舍弃。

查询通常指定指标类型、资源类型和过滤条件:

  • 指标类型用于标识要从资源收集的测量结果。指标类型包括对要测量的内容以及如何解释测量结果的说明。“指标类型”有时也称为“指标”。指标的一个示例是“CPU 利用率”。 如需了解概念性信息,请参阅指标类型

  • 资源类型指定从哪种资源捕获指标数据。资源类型有时称为受监控的资源类型或资源。例如,“Compute Engine 虚拟机 (VM) 实例”就是资源的一个示例。如需了解概念性信息,请参阅受监控的资源

MQL 和 PromQL 查询都包含分组和对齐语句。但是,在编写 Monitoring 过滤条件或使用菜单选择要绘制图表的时序时,您可以使用菜单来配置分组和对齐设置。

使用菜单构建查询

使用菜单构建查询是默认配置。通常,如果您选择指标和过滤条件,然后切换到其他界面,系统会保留您的选择,并为该界面重新设置格式。也就是说,由菜单构造的查询可以转换为 MQL 查询。

您可以选择 Builder,从其他界面返回到菜单驱动的界面。不过,您的查询会被舍弃。 也就是说,MQL 查询无法转换为等效的菜单驱动形式。

如需使用菜单构建查询,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  Metrics Explorer

    进入 Metrics Explorer

  2. 在查询窗格的工具栏中,执行以下操作:

    1. 指标元素中,展开选择指标菜单。

    2. 可选:如需减少菜单中显示的选项数量,请在 过滤条件栏中输入指标或资源名称。例如,通过输入 util,您可以将菜单限制为显示包含 util 的条目。条目通过不区分大小写的“包含”测试时才会显示。

      如需查看所有指标的列表,包括没有近期数据的指标,请启用仅显示有效的资源和指标切换开关。默认情况下,菜单中仅显示有数据的指标和资源。

    3. 资源菜单中,选择从中捕获指标数据的资源。

      如果没有针对资源写入指标,请选择未指定

    4. 在“指标类别”菜单中,选择指标的类别。

      类别通常是服务域之后的第一个术语。 以 Compute Engine 指标类型 compute.googleapis.com/instance/utilization 为例,服务网域为 compute.googleapis.com,类别为 instance

    5. 指标菜单中,选择要绘制图表的指标。

    6. 点击应用

    例如,如需绘制 Compute Engine 虚拟机的 CPU 利用率图表,请执行以下操作:

    1. 过滤栏中输入 util
    2. 资源菜单中,选择虚拟机实例
    3. 指标类别菜单中,选择实例
    4. 指标菜单中,选择 CPU 利用率,然后点击应用

    选择资源类型和指标后,图表会显示该对的所有可用时序:

    显示已选择指标的图表。

    上一个图表包含的数据过多,无法显示;图表最多只能显示 50 条数据线。该图表会提示数据过多,无法全部显示。如需减少数据量,请在查询工具栏中使用排序和限制元素。如需了解详情,请参阅显示离群值

    您还可以使用过滤和汇总选项来减少已绘制成图表的数据量。这些技术使图表对诊断和分析更加有用,并且可提高界面本身的性能和响应能力。

  3. 可选:添加过滤条件以限制显示的时序。下一部分将介绍过滤选项。

  4. 可选:配置时序的分组和对齐方式。如需了解详情,请参阅选择如何显示已绘制成图表的数据

过滤已绘制成图表的数据

您可以通过以下方式减少要绘制成图表的数据量:指定过滤条件、应用聚合,或者对与查询匹配的时序进行排序,然后限制要绘制成图表的时序数。如需了解详情,请参阅显示离群值

过滤条件可确保仅使用符合部分条件的时序。应用过滤条件时,您可以减少图表上的线条数量,从而提升图表的性能。

本部分的其余内容适用于在使用菜单驱动型界面时配置图表。本部分不适用于 MQL、PromQL 或 Monitoring 过滤器配置。

当您提供多个过滤条件时,相应图表仅显示符合所有条件的时序,即逻辑 AND。通常,您可以按资源组、名称、资源标签、可用区和指标标签进行过滤。

如需添加过滤条件,请执行以下操作:

  1. Filter 元素中,点击 Add filter,然后从菜单中进行选择。

  2. 若要更改对比项,请从比较条件菜单中选择一个值。

    您可以从四种运算符中进行选择:等于、=、不等于、!=、正则表达式匹配、=~ 和正则表达式不匹配 !=~

  3. 字段中,输入或选择值:

    • 如需直接比较 =!=,请从菜单中选择相应的值或输入一个值,然后点击 Ok。您可以输入值(如 us-central1-a),也可以创建以 starts_withends_with 开头的过滤字符串。例如,如需显示任何 us-central1 可用区的数据,您可以输入过滤条件字符串 starts_with("us-central1")。如需详细了解过滤字符串,请参阅 Monitoring 过滤条件

      由于菜单项源自收到的时序,因此当受监控的资源没有为所选指标生成数据时,您必须为标签输入一个值。

    • 对于正则表达式比较(=~!=~),请在字段中输入 RE2 正则表达式,然后点击确定。例如,正则表达式 us-central1-.* 可与所有 us-central1 区域匹配:

      如需匹配以“a”结尾的任何美国可用区,您可以使用正则表达式 ^us.*.a$

      注意:您不能使用正则表达式来过滤 project_id 资源标签。

      例如,如需仅查看来自其中一个 us-central1 区域的时序,请应用 zone="starts_with("us-central1")"zone=~"us-central1.*" 过滤条件。

若要添加多个过滤条件,请重复上述步骤:

  • 您可以多次使用同一标签,这样可为一系列值指定过滤条件。

  • 所有过滤条件都必须满足,它们构成逻辑 AND。例如,如需仅显示美国的“a”区域,请输入两个过滤条件:zone = starts_with("us")zone = end_with("a")

如需修改过滤器的值或比较运算符,请在过滤器元素上点击 菜单,进行更改,然后点击确定

若要删除过滤条件,请点击 取消

编写 MQL 查询

如需输入 MQL 或 PromQL 查询,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  Metrics Explorer

    进入 Metrics Explorer

  2. 在查询构建器窗格的工具栏中,选择名称为  MQL PromQL 的按钮。
  3. 确认在语言切换开关中选择了 MQL。语言切换开关与用于设置查询格式的工具栏中相同
  4. 可选:停用自动运行切换开关。
  5. 在查询编辑器中输入查询。例如,如需绘制 Google Cloud 项目中虚拟机实例的 CPU 利用率图表,请使用以下查询:

    fetch gce_instance
    | metric 'compute.googleapis.com/instance/cpu/utilization'
    | group_by 1m, [value_utilization_mean: mean(value.utilization)]
    | every 1m
    

    如需详细了解 MQL,请参阅以下文档:

  6. 点击运行查询

    启用自动运行切换开关后,系统不会显示运行查询按钮。

编写 PromQL 查询

如需输入 MQL 或 PromQL 查询,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  Metrics Explorer

    进入 Metrics Explorer

  2. 在查询构建器窗格的工具栏中,选择名称为  MQL PromQL 的按钮。
  3. 确认在语言切换开关中选择了 PromQL。语言切换开关与用于设置查询格式的工具栏中相同
  4. 可选:停用自动运行切换开关。
  5. 在查询编辑器中输入查询。例如,如需绘制 Google Cloud 项目中虚拟机实例的平均 CPU 利用率图表,请使用以下查询:

    avg(compute_googleapis_com:instance_cpu_utilization)
    

    如需详细了解如何使用 PromQL,请参阅 Cloud Monitoring 中的 PromQL

  6. 点击运行查询

    启用自动运行切换开关后,系统不会显示运行查询按钮。

编写 Monitoring 过滤器查询

如果要执行以下任一操作,您必须使用直接过滤模式,该模式允许您输入 Monitoring 过滤条件

  • 显示服务等级目标 (SLO)。
  • 显示虚拟机 (VM) 上运行的进程数量。
  • 显示尚无相关数据的自定义指标。
  • 根据您尚未拥有数据的标签过滤时序。

Monitoring 过滤条件(或等效的指标过滤条件)是 Monitoring 用来标识要绘制图表的时序的表达式。例如,以下表达式生成的图表会显示名称包含 nginx 的进程计数:

select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
resource.type="gce_instance"

您还可以使用 Monitoring 过滤条件按资源和指标类型识别时序。以下表达式生成的图表会显示 us-east1-b 地区中所有 Google Cloud 虚拟机实例的日志条目计数:

metric.type="logging.googleapis.com/log_entry_count"
resource.type="gce_instance"
resource.label."zone"="us-east1-b"

要输入 Monitoring 过滤条件,请执行以下操作:

  1. 在 Google Cloud 控制台的导航面板中,选择 Monitoring,然后选择  Metrics Explorer

    进入 Metrics Explorer

  2. 点击 Metric 元素中的 Help,然后选择 Direct Filter Mode

    删除了 MetricFilter 元素,并创建了 Filters 元素(用于输入文本)。

    如果您在切换到直接过滤模式之前选择了资源类型、指标或过滤条件,则这些设置会显示在过滤条件元素中。

  3. Filters 元素的文本区域中,输入 Monitoring 过滤条件表达式。 如需了解语法信息,请参阅以下文档:

    使用直接过滤模式时,如果没有符合过滤条件的数据,系统会显示错误。常见的错误消息包括 Chart definition invalidNo data is available for the selected timeframe.

  4. 可选:配置时序的分组和对齐方式。如需了解详情,请参阅选择如何显示已绘制成图表的数据

如需返回菜单驱动的界面,请点击 退出直接过滤模式

选择如何显示已绘制成图表的数据

本部分介绍了如何通过设置聚合字段来显示所选数据。聚合包括校准时序中的数据点,以及将不同的时序组合在一起。如需详细了解聚合,请参阅过滤和聚合:处理时序

如果您已使用 MQL 或 PromQL 选择要绘制图表的数据,则此部分内容不适用。

合并时序

您可以通过组合不同的时序来减少为指标返回的数据量。如需组合多个时序,您通常需要指定一个或多个标签和一个函数。系统会对所有指定标签具有相同值的时序进行分组,然后您指定的函数将这些时序组合到新的时序中。

Aggregation 元素中的设置可以更改图表显示的时序数量。此元素的默认设置由您选择的指标类型决定。如需修改显示内容,请执行以下任一操作:

  • 如需显示每个时序,请确保在 Aggregation 元素中将第一个菜单设置为 Unaggregated,将第二个菜单设置为 None

  • 如需组合时序,请在 Aggregation 元素中执行以下操作:

    1. 展开第一个菜单并选择一个函数。

      系统会刷新图表,并显示单个时序。例如,如果选择 Mean,则显示的时序是所有时序的平均值。

    2. 如需组合具有相同标签值的时序,请展开第二个菜单,然后选择一个或多个标签。

      系统会刷新图表,并为每个唯一的标签值组合显示一个时序。例如,如需按地区的时序显示数据,请将第二个菜单设置为 zone

  • 如需配置数据点之间的间距,请点击 添加查询元素,选择最小间隔,然后输入一个值。

例如,如果将函数设置为 Sum 并选择标签 user_labels.version,则标签 user_labels.version 的每个值都有一个时序。每个时序中的数据点通过特定版本的各个时序的所有值的总和计算得出:

当前显示的是按 user_labels.version 分组的时序。

当您选择多个标签时,系统会合并所选标签具有相同值的时序。生成的图表显示每个标签组合的一个时序。指定标签的顺序无关紧要。以下屏幕截图显示了按 user_labels.versionsystem_labels.machine_image 标签合并时序的图表:

按版本和机器映像显示时序。

如图所示,图表为每对标签值显示一个时序。实际上,对于标签的每个组合,您都会获得一个时序,这意味着,这种方法创建的数据可能比放置在单个图表上的数据要多。

显示所有时序

如需显示所有时序,请在聚合元素上,将第一个菜单设置为未汇总,将第二个菜单设置为

校准时序

校准是将 Monitoring 接收到的时序数据转换为在固定时间间隔内具有数据点的新时序的过程。校准过程包括收集在固定时间段内收到的所有数据点、应用函数以组合这些数据点,以及为结果分配时间戳。该函数可能会计算所有样本的平均值,或者提取所有样本的最大值。

设置校准间隔

如需指定要组合的点的固定时长,请点击查询窗格中的 Add query element,选择 Min Interval,然后完成对话框。

例如,假设某个指标的采样周期为一分钟。如果图表配置为显示 1 小时的数据,则图表可以显示全部 60 个数据点。如果 Min Interval 字段设置为 10 minutes,则图表会显示 6 个数据点。但是,如果您现在将图表配置为显示一周的数据,则图表中要显示的点会过多,因此合并数据点的时间间隔会自动修改。在本示例中,修改间隔为一小时。

以下屏幕截图说明了特定 Google Cloud 项目中 Compute Engine 虚拟机实例的 CPU 利用率。在此图片中,Min Interval 字段设置为 1 minute

使用默认校准设置的虚拟机实例的 CPU 利用率。

为便于比较,以下屏幕截图说明了将间隔从 1 minute 更改为 5 minutes 的效果:

使用默认值(校准时间段为 5 分钟)的虚拟机实例的 CPU 利用率。

通过增加此时间段,生成的图表的点数会减少,每个时序的 60 点数将减少到每个时序 10 个点。增加 Min Interval 字段可组合更多点,从而对绘制的数据实现平滑效果。

设置对齐函数

如果选择聚合函数,Cloud Monitoring 会为您选择校准函数。Cloud Monitoring 会根据您选择的指标类型和您对聚合函数的选择来确定最佳校准函数。但是,您可以指定校准函数并替换 Cloud Monitoring 做出的选择。

如需指定校准函数,请执行以下操作:

  1. Aggregation 元素中,展开第一个菜单,然后选择 Configure aligner。添加了对齐函数分组元素。
  2. 展开 Alignment function 元素并做出选择。

虽然大多数支持的对齐函数都执行常见的数学函数,但有些函数会执行更复杂的操作:

  • 下一个较旧:如需在校准时间段内仅保留最近的样本,请选择下一个较旧。此函数通常用于拨测,当您只关注最新值时,这是一个不错的选择。

    此函数仅对测量指标有效。

  • 百分位:要在折线图、堆叠面积图或堆叠条形图上显示分布指标,您必须选择要显示分布中的哪个百分位。指定此百分位的一种方法是选择百分位函数。您可以选择第 5、第 50、第 95 和第 99 百分位。使用校准时间段内的所有数据点来计算指定的百分位,从而确定校准数据点。

    此函数仅适用于具有分布数据类型的刻度盘和增量指标。

  • delta:要将累积指标或增量指标转换为每个校准时间段一个样本的增量指标,请使用此函数。使用此函数时,可能会发生数据插值。如需查看示例,请参阅种类、类型和转换

    此函数仅适用于累计指标和增量指标。

  • rate:要将累积指标或增量指标转换为刻度盘指标,请使用此函数。如果选择此函数,则可以将正在转换的时序视为使用增量函数进行转换,然后除以校准时间段。例如,如果原始时序的单位为 MiB,校准时间段的单位为秒,则图表的单位为 MiB/秒。如需了解详情,请参阅种类、类型和转换

    此函数仅适用于累计指标和增量指标。

如需详细了解可用的校准函数,请参阅 API 参考文档中的 Aligner

次要分组和对齐

如果您有多个已经表示聚合的时序,则可以通过选择二次聚合器将图表上的所有时序减少为单个时序。例如,如果按可用区对数据进行分组,则图表会针对每个可用区显示一个时序。如需创建包含单个时序的图表,请使用二次聚合字段。

对于某些指标类型,您可以选择转换数据。如果此选项可用,并且您将 Transform 字段设置为 None 以外的值,则所有其他字段均为二次聚合设置。

如果二次聚合字段可配置,要访问这些字段,请执行以下操作:

  1. 点击 添加查询元素,然后选择二次聚合
  2. 配置二次聚合元素。

以下屏幕截图显示了对过滤的数据集进行分组所形成的几个时序。进行分组时需要执行聚合操作;同时,每组数据线都会聚合成一条数据线。以下屏幕截图显示了按地区分组的时序:

显示按地区分组的已过滤时序。

以下屏幕截图显示了使用二次聚合查找分组时序中的平均值的结果:

显示应用于上一个示例的二次聚合。

配置图例列的名称

借助 Legend Alias 字段,您可以为图表上的时序自定义说明。这些说明显示在图表的工具提示上以及 Name 列中的图表图例上。默认情况下,系统会根据时序中不同标签的值创建图例中的说明。由于这些标签由系统选择,生成的结果可能对您来说没有什么用处。如需构建说明的模板,请使用此字段。

您可以在图例别名字段中输入纯文本和模板。添加模板时,请添加一个会在图例显示时评估的表达式。

如要向图表添加图例模板,请执行以下操作:

  1. Display 窗格中,展开 Legend Alias
  2. 点击 显示模板变量建议,然后从菜单中选择一个条目。例如,如果您选择 zone,则系统会添加 ${resource.labels.zone} 模板。

例如,以下屏幕截图显示了包含纯文本和表达式 ${resource.labels.zone} 的图例模板:

用于简单说明的模板

在图表图例中,通过模板生成的值显示在标题为名称的列中以及提示中:

通过模板生成的说明

您可以将图例模板配置为包含多个文本字符串和模板;但是,提示上的可用显示空间有限。

后续步骤