选择指标

您通过指定两个方面来定义图表:图表应显示哪些数据以及如何显示。要指定应显示的指标,请点击图表定义页面上的 Metric 标签。

以下屏幕截图显示了指标选择器标签:

图表定义:指标选择标签页

指标在 Find resource type and metric 字段中指定。

选择指标

要填充图表,您必须至少指定一对值:指标类型(也称为“指标描述符”或简称为“指标”)和受监控的资源类型(也称为“受监控的资源”或简称为“资源”)。受监控的资源实际上是某一指标类型的时间序列数据的子集。

Monitoring 提供了许多预定义指标类型和资源,您也可以指定自定义指标。如需了解有关预定义指标类型和受监控的资源的更多信息,请参阅指标受监控的资源列表。您还可以自己定义指标,并选择用自定义指标来生成图表。如需了解详情,请参阅使用自定义指标

在指定指标时,界面会对您的选择作出限制,即您只能选择工作区项目中那些当前具有指标数据的指标类型和资源。绝大多数的指标和资源在您的项目中没有数据,因此不会作为选项显示出来。

您可以使用 Add metric 选项为图表指定多个指标。

指标规范字段

要选择指标,请使用 Find resource type and metric 字段来选择一种资源类型和一种指标类型。您可以按任意顺序指定它们。首先,点击该字段。系统将根据以前的选择显示出一个或两个列表。列表包括标题、Resource typesMetrics,如以下屏幕截图所示:

用于选择指标和资源的搜索列表

您可以通过两种方式选择条目:

  • 从列表中选择条目。
  • 直接输入文本以便从列表中搜索匹配的候选项,包括自定义指标。

要搜索自定义指标,请在搜索框中输入 custom

将鼠标悬停在任一个列表中的某个条目上,系统即会显示一个提示,上面显示该条目的描述符中的信息。如需了解指标类型或受监控的资源的描述符,请参阅指标列表受监控的资源列表

选择了至少一对资源类型和指标后,图表将显示所有可用的时间序列,其他条目将在 Metric 标签的指定指标下方显示。以下屏幕截图显示了指定指标后的 Metric 标签页:

其他选项

以下屏幕截图显示了仅根据选定的指标和资源(不含其他配置)生成的结果图表:

使用所选指标生成图表

该图表包含的数据过多,无法全部显示;图表可显示的数据线限制是 300 条。该图表提示数据太多,无法全部显示,建议使用 Outlier 模式。该模式是 View options 标签页中的一个选项,可以大幅度减少要显示的数据量。

但是,您也可以使用其他指标配置来使数据集更容易管理。这些方法使图表对诊断和分析更有用,并且提高了界面本身的性能和响应速度。

其他配置

本部分的其余内容介绍其他指标配置。

  • 如需详细了解视图选项(包括 Outlier 模式),请参阅设置视图选项
  • 如需详细了解与图表本身的交互,请参阅使用图表

过滤

您可以通过指定过滤条件来减少为指标返回的数据量,以便只使用符合某些条件的时间序列。通过排除不符合过滤条件的时间序列,过滤操作可以从图表中移除一些数据。这样可以减少显示此指标的图表中的数据线数量,从而改善图表的性能。

您可以应用多个过滤条件。相应图表仅显示符合所有条件(即 AND 逻辑运算)的时间序列。

点击 Filter 字段时将显示一个面板,其中包含您可以用于过滤的条件。概括地说,您可以按资源组、名称、资源标签和指标标签过滤。

以下屏幕截图显示了某项目的已知过滤条件标签:

预填充的过滤条件标签列表

您可以从列表中选择,或在字段中手动输入文本来查找匹配项。另外,您可以为尚未出现的数据创建过滤条件;此类过滤条件不会出现在选项列表中,但您可以手动指定您认为将来会有效的过滤条件。

选择过滤条件标签后,您必须指定过滤的其余部分:值或值的范围,以及比较方式。

例如,以下屏幕截图显示了 zone 资源标签上的过滤条件。Filter 字段支持一对相等性比较运算符(==~)和一对不等性比较运算符(!=!=~。每对运算符中的第二项采用正则表达式作为值。简单的相等性运算符 = 为默认值。

过滤条件比较运算符

比较运算符列表下方是可用值列表。以下屏幕截图显示了项目中地区的名称:

一些预先填充的过滤条件值

对于 Value 字段,您可以从下拉列表中选择一项内容,也可以输入与多项内容匹配的表达式:

  • 如果您使用直接比较 =!=,则可以创建一个类似 starts_with 的过滤字符串。例如,过滤字符串 starts_with("us-central") 可与任何 us-central 地区匹配:

    使用过滤条件字符串

    如需了解有关过滤字符串的更多信息,请参阅 Monitoring 过滤条件

  • 如果您选择 =~!=~,则可以在值中使用正则表达式。例如,正则表达式 us-central1-.* 可与任何 us-central1 地区匹配:

    使用正则表达式进行过滤

    正则表达式 ^us.*.a$ 匹配任何以“a”结尾的美国地区:

    使用更多正则表达式进行过滤

您可以指定多个过滤条件,并且可以多次使用相同的标签。这允许您指定一个可获得一系列值的过滤条件。要添加其他过滤条件,请点击“filter”字段底部附近的 Add a filter。目前,所有过滤条件都必须满足,它们构成 AND 逻辑运算。例如,您可以同时使用 starts_withends_with 过滤字符串以仅显示美国的“a”地区:

使用多个过滤条件

如果使用 zone="starts_with("asia-east1")"zone=~"asia-east1.*" 过滤条件,则系统会只显示具有 asia-east1 地区之一中的数据的时间序列:

显示已过滤的时间序列

分组

您可以通过组合相似时间序列中的数据来减少为指标返回的数据量。

与过滤一样,分组也是减少操作数据量的一种方式。过滤的工作方式是排除一些时间序列,而分组的工作方式则是识别所有符合某些条件的时间序列集合,然后将这些集合的成员组合(聚合)在一起。

分组是基于标签来进行的。单击 Group By 字段时,您会获得可用于过滤的相同标签。

通过 Group By 选项,您可以按资源标签和指标标签对时间序列进行分组,然后组合这些组中的数据。这样会为每个分组依据值的组合创建单个新的时间序列,该新时间序列表示该组中的所有成员。

例如,假设您只想检查区域级别的日志记录负载,也就是说,您不关心具体服务器的条目数。您可以按地区对时间序列进行分组,然后针对每个地区的总数、平均值或其他测量结果生成图表。

Group By 选项会根据要分组的数据类型选择默认聚合函数,但您可以更改此选择。如需了解有关其他选项的信息,请参阅聚合

以下屏幕截图显示了按地区进行的分组。Aggregator 下的 sum 选项是默认选项。

对时间序列分组

这样会为每个地区创建一个新的时间序列,其值是通过对该地区各个时间序列的所有值求和得出的。

您也可以按多个标签进行分组。按多个标签分组时,这些标签所形成的每个组合都会产生一个时间序列。指定标签的顺序并不重要。

以下屏幕截图显示了按地区对时间序列进行分组所生成的图表:

显示已分组的时间序列

您可以按多个标签分组。例如,如果将分组条件从 zone 更改为 severity,则每个日志记录严重等级都将生成一个时间序列。以下屏幕截图显示了生成的所有时间序列:

日志严重性时间序列

如果同时按 zoneseverity 分组,则地区与严重程度值的每一个组合对都将生成一个时间序列。以下屏幕截图显示了此类时间序列的示例:

日志严重性与地区的时间序列

对于标签形成的每一个组合,您都会得到一个时间序列,意味着这种方法很容易生成大量数据,难以一次性地在图表上得到清晰的表达。本示例中,依据 zoneseverity 条件分组产生的数据比较容易处理,但是如果同时依据两者分组,产生的数据则超过了图表的处理能力,如以下屏幕截图所示:

显示两个标签的分组依据的图表

移除分组条件

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

  1. 删除分组条件标签。
  2. 将聚合方法重新设置为 none

聚合

通过 Aggregator 选项,您可以使用常用函数组合时间序列。这会减少显示指标的图表中的数据线数量,从而改善图表的性能。

点击 Aggregator 字段可以查看可用聚合选项的列表。这些是可用于组合时间序列的函数(归纳函数)。

可用的归纳函数取决于指标捕获的值的类型,但通常包括平均值、最大值或最小值、标准差、分类百分位数值等选项。如需了解有关这些依赖项的更多信息,请参阅指标、时间序列和资源

如果没有与分组搭配使用,则归纳函数将应用于所有选定时间序列,将这些序列组合成单个时间序列,其中包含针对所有时间序列计算得出的平均值、合计值或其他测量值。如果与分组搭配使用,则该函数将应用于每个组中的时间序列。

如需详细了解聚合,请参阅 API 参考中的 Aggregation

Group By 选项自动应用聚合,在每个组内进行统计计算。Group By 图表中的线表示聚合后的结果。Group By 选项会根据要分组的数据类型选择默认聚合函数,但您可以更改此选择。

您还可以将聚合应用到已过滤的时间序列集合。与未过滤的时间序列一样,已过滤时间序列的聚合会将所有数据线归纳为一条反映所选聚合函数的数据线。

以下屏幕截图显示了对源自 Google Kubernetes Engine 容器并且名称以 d 开头的时间序列进行过滤的结果:

过滤示例

如果您简单地聚合这些数据(例如,按 sum 聚合),则这些数据会归纳为单个时间序列,该序列表示每个参与求和的时间序列的数值的合计值。以下屏幕截图显示了该结果:

过滤和聚合示例

这里有多个源自名称以 d 开头的容器的时间序列。我们还可以按一个或多个标签的值对这些时间序列进行分组,然后对最终形成的这些组进行聚合。这样就会为每个组生成一个时间序列。以下屏幕截图显示了按机器映像对过滤的时间序列进行分组的结果,其中对分组使用了默认的 sum 聚合:

过滤示例

这里还有其他选项可用来选择指标。这些选项具有默认值,但您可以公开这些选项并替换默认值。要查看其他选项,请点击 Show advanced options

校准

时间序列是按时间顺序排列的一组数据点。校准时间序列是将数据点划分到常规的时间段,即校准时段。多个时间序列必须先校准才能进行组合。

校准是聚合时间序列的前提条件,分别应用到每个时间序列。由于校准是绘制数据图表的前提条件,因此 Stackdriver 会使用默认值自动执行该操作。您可以使用校准选项 AlignerAlignment Period 替换这些默认值:

校准选项字段

Alignment Period:校准时间段决定了细分时间序列的时长。例如,您可以将时间序列分为多个区块,每个区块的时长均为一分钟或一小时。每个时间段的数据都会进行汇总,以便用单个值表示该时间段。默认校准时间段为一分钟。

虽然您可以为数据设置校准间隔,但是当您更改图表上显示的时间间隔或更改缩放级别时,时间序列可能会重新校准。

Aligner:校准函数是一个用来确定如何汇总每个校准时间段的数据的函数。校准函数包括求和函数、求平均值函数等等。有效的校准函数选项取决于时间序列所存储的指标数据的种类和类型。也就是说,校准函数选项取决于时间序列的 MetricKindValueType

某些校准函数会校准数据,并将数据从一种指标种类或类型转换为另一种。如需了解可用的校准函数的更多信息,请参阅 API 参考中的 Aligner

二次聚合

如果您有多个已经表示聚合的时间序列(例如说明 Group By 选项的示例),则可以通过选择 Secondary Aggregator 来聚合这些时间序列:

二次聚合字段

二次聚合操作会将图表上的所有时间序列归纳为单个时间序列。

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

过滤的时间序列(按地区分组)

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

对上一个示例应用二次聚合

图例模板

通过 Legend Template 字段,您可以为图表上的时间序列自定义说明。这些说明显示在图表的悬停卡片上以及 Name 列中的图表图例上。

默认情况下,系统会根据时间序列中不同标签的值为您创建这些说明。由于这些标签由系统选择,生成的结果可能对您来说没有什么用处。您可以使用该字段为说明构建模板。

Legend Template 字段接受以下内容:

  • 纯文本。
  • 表示时间序列中的标签的变量。可用的标签取决于您正在绘制的时间序列,但变量语法通常类似于 ${resource.labels.project_id}${} 表示法会让系统在您的说明中评估变量的值。

如果仅提供文本,则图表上的时间序列的说明将完全相同。通过使用变量,您可以将时间序列标签中的值拉取到说明中。

如果您知道变量名称,可以将它们手动输入模板字段。您还可以通过使用该字段中的 + Add a filter 微件为可用标签选择变量。此方法可以确保变量语法正确无误。

以下屏幕截图显示了一个由字符串和单个变量组成的模板:

用于简单说明的模板

在图表图例中,从模板生成的值显示在标题为 Name 的列中。这些值也会显示在悬停卡片上。

以下屏幕截图显示了通过模板生成的 Name 值和悬停卡片:

通过模板生成的说明

您可以创建使用多个字符串和变量的模板,但悬停卡片上的可用显示空间有限。

隐藏其他选项

要隐藏 Secondary AggregationAligner 选项,请点击页面底部的 Hide advanced options。此操作不会清除任何选定的选项。例如,如果您更改或移除分组,这些被遗忘的隐藏选项可能会造成意外的影响。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
Stackdriver Monitoring
需要帮助?请访问我们的支持页面