使用 Metrics Explorer 时选择指标

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

选择要显示的数据

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

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

    通常情况下,您无法将 MQL 查询转换为可供其他接口使用的表单。切换到 MQL 标签页或从 MQL 标签页切换后,系统会舍弃未保存的查询。

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

    通常无法将 PromQL 查询转换为可供其他接口使用的表单。如果切换到“PromQL”标签页或从“PromQL”标签页切换,则未保存的查询会被舍弃。

  • 监控过滤条件指定时序,但不包含分组或对齐语句。

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

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

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

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

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

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

使用菜单构建查询

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

  1. 在 Google Cloud 控制台中,选择 Monitoring 或点击以下按钮:
    转到 Monitoring
  2. 在导航窗格中,选择 Metrics Explorer

  3. 选择配置标签页。

  4. 选择要绘制图表的指标和资源:

    1. 展开选择指标菜单。

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

      如需查看所有指标的列表,即使没有最近数据的指标,请将仅显示已启用的资源和指标切换开关设置为停用。默认情况下,此切换开关设置为启用状态,因此菜单中仅显示带有数据的指标和资源。

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

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

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

      类别通常是指标前缀后面的第一个字词。例如,对于 compute.googleapis.com/instance/utilization 指标,类别为 instance

    5. 指标菜单中,选择要在图表中显示的指标。

    6. 点击应用

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

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

    选择资源类型和指标后,图表会显示该对的所有可用时序。以下屏幕截图显示了选择资源类型和指标后的图表:

    显示已选择指标的图表。

    上一个图表包含更多可显示的数据;图表最多只能显示 300 条折线。该图表提示数据太多,无法全部显示,建议使用 Outlier 模式。该模式可以显著减少要显示的数据量。如需访问离群值模式控件,请点击 设置。如需了解详情,请参阅设置视图选项

    您还可以使用过滤和聚合选项来减少图表数据量。这些方法使图表对诊断和分析更有用,并且提高了界面本身的性能和响应速度。

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

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

过滤已绘制成图表的数据

您可以通过指定过滤条件、应用聚合或使用离群值模式来减少用来绘制图表的数据量。过滤条件可确保仅使用符合部分条件的时序。应用过滤条件时,您可以减少图表上的线条数量,从而提高图表的性能。

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

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

如需在使用配置标签页时添加过滤条件,请点击添加过滤条件,然后指定过滤条件标签、比较以及值或范围值:

  1. 点击标签,然后从菜单中选择一个条目。

    如需查找特定标签,您可以使用滚动条,或在过滤条件 文本区域中输入文本。输入文本时,菜单只会列出包含所输入文本的条目。

    以下屏幕截图显示了特定指标的已知过滤条件标签:

    过滤条件标签列表示例。

  2. 点击比较,然后从菜单中选择一个条目。您可以选择四个运算符:等于 (=)、不等于 (!=)、正则表达式匹配 (=~) 和正则表达式不匹配 (!=~):

    过滤条件比较运算符列表。

  3. 点击,然后执行以下操作之一:

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

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

      以下屏幕截图显示了选择 zone 资源标签时显示的特定项目的值菜单:

      过滤条件标签列表示例。

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

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

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

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

      显示已过滤的时序。

您可以指定多个过滤条件,并且可以多次使用相同的标签。这些功能允许您指定一个可获得一系列值的过滤条件。所有过滤条件都必须满足,它们构成逻辑 AND。例如,以下配置可用于同时使用 starts_withends_with 过滤条件字符串以仅显示美国的“a”可用区:

使用多个过滤条件的示例。

编写 MQL 和 PromQL 查询

要输入 MQL 和 PromQL 查询,请执行以下操作:

  1. 在 Google Cloud 控制台中,选择 Monitoring 或点击以下按钮:
    转到 Monitoring
  2. 在导航窗格中,选择 Metrics Explorer
  3. 选择 MQL 标签页或 PROMQL 标签页。
  4. 输入您的查询,然后点击运行

本文档未介绍如何使用 MQL 或 PromQL。有关这些语言的信息,请参阅以下文档:

编写 Monitoring 过滤器查询

如果要执行以下任一操作,必须使用直接过滤模式,在该模式下,您可以输入 Monitoring 过滤器

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

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 或点击以下按钮:
    转到 Monitoring
  2. 在导航窗格中,选择 Metrics Explorer
  3. 选择配置标签页。
  4. 点击选择指标菜单中的 帮助,然后选择直接过滤模式

    页面上会显示一个文本框。如果您在切换到直接过滤模式模式之前选择了资源类型、指标或过滤条件,则这些设置会显示在文本框中。

  5. 在文本框中输入 Monitoring 过滤条件表达式。如需了解语法信息,请参阅以下文档:

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

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

要返回菜单驱动的界面,请点击标准模式

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

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

对时序进行分组

您可以通过组合不同的时序来减少为指标返回的数据量。要组合多个时序,您通常需要指定一个分组和一个函数。分组是通过标签值完成的。该函数定义了如何将群组中的所有时序合并成一个新的时序。

要添加分组,请点击分组依据文本框中的文本,然后从菜单中选择。菜单是根据您选择的资源和指标的时序数据动态构建的。分组和过滤使用相同的标签集。

添加第一个标签时,将出现以下情况:

  • 选择一个聚合器。显示的数据类型决定了默认聚合器:但您可以更改此函数。
  • 聚合器确定如何将具有相同标签值的时序合并为单个时序。
  • 图表为分组依据文本框中列出的每个标签值显示一个时序。

如果按多个标签分组,则聚合器将合并指定标签具有相同值的时间序列。

如果您未指定分组选项且指定了聚合器,则函数将应用于所有选定的时序,并产生单个时序。

例如,如果分组依据字段设置为 user_labels.version,并且聚合器设置为 sum,则每个值都有一个时序标签 user_labels.version。每个时序中的数据点都是根据特定版本的各个时序的所有值之和计算得出的:

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

您可以按多个标签分组。如果您有多个分组选项,则聚合器将应用于与所选标签具有相同值的那组时序。

生成的图表显示每个标签组合的一个时序。为标签指定的顺序并不重要。

例如,以下屏幕截图展示了按 user_labels.versionsystem_labels.machine_image 分组:

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

如图所示,如果您按这两个标签进行分组,则会得到针对两对值的一个时序。实际上,每个标签组合都有一个时序,这意味着这种方法可以轻松创建更多数据,而不是您在单个图表中有用的数据。

如果您指定分组或选择聚合器,则绘成图表的时序仅包含必需的标签(例如项目标识符)以及由该分组指定的标签。

移除分组依据条件

要移除分组条件,您必须执行以下操作:

  1. 删除分组条件标签。
  2. 将聚合器设置为 none

校准时序

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

校准时间段指定了校准时序数据时使用的最短时间间隔。如果所选显示时间段内有太多数据点需要绘制图表,系统会自动延长校准时间段,以表示每个数据点。此字段的默认设置为 1 分钟。

Aligner 字段指定用于合并校准时间段中的所有数据点的函数。大多数校准器会执行常见的数学函数。例如,如果您选择最小值,则对齐数据点是对齐时间段内所有数据点的最小值。

例如,假设某个指标的采样周期为一分钟。如果图表配置为显示 1 小时的数据,则图表可以显示全部 60 个数据点。如果校准时间段设置为 10 minutes,则图表会显示 6 个数据点。当 Aligner 字段的值为 mean 时,图表上的每个点是校准时间段中所有点的平均值。但是,如果您现在将图表配置为显示一周的数据,那么图表中要显示的点太多,因此系统会自动修改相应的时间段。在此示例中,修改后的校准时间段为 1 小时。

虽然大多数校准器会执行常见的数学函数,但有些校准器会执行更复杂的操作:

  • next older:要仅保留校准时间段中的最新样本,请使用 next older 校准器。此校准器通常用于拨测,当您仅关心最新值时,这是一个不错的选择。

    此校准器仅适用于采样平均值指标。

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

    此校准器仅适用于具有分布数据类型的采样平均值指标和增量指标。

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

    此校准器仅适用于累积指标和增量指标。

  • 速率:如需将累积指标或增量指标转换为采样平均值指标,请使用此校准器。如果选择此校准器,您可以将时序想象为通过增量校准器进行转换,然后除以校准时间段。例如,如果原始时序的单位为 MiB 且校准时间段的单位为秒,则图表的单位为 MiB/秒。如需了解详情,请参阅种类、类型和转换

    此校准器仅适用于累积指标和增量指标。

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

要查看或修改校准函数,请点击显示高级选项

以下屏幕截图说明了特定 Google Cloud 项目中 Compute Engine 虚拟机实例的 CPU 利用率。在此图片中,校准字段采用默认值:校准函数设置为 mean,校准时间段设置为 1 minute

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

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

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

通过增加此时间段,生成的图表的点数会减少,每个时序的 60 点数将减少到每个时序 10 个点。图表上的每个点通过计算校准时间段的时序平均值来计算。扩大校准时间段后,点中的平均值也会增加,这会让已绘制的数据更流畅。

次要分组和对齐

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

如需查看或修改辅助聚合设置,请点击显示高级选项

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

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

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

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

图例模板

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

如需访问图表的图例模板,请在 Google Cloud 控制台中的图表配置窗格中选择高级标签页。图例模板列在其他选项标题下。

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

如需添加模板,请执行以下操作:

  • 点击“插入模板…”
  • 从菜单中选择一个条目。选择一个条目后,系统会自动添加模板。例如,如果您选择 response_code,则会添加模板 ${resource.labels.zone}

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

用于简单说明的模板

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

通过模板生成的说明

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

后续步骤