本文档介绍了如何配置显示 时间序列数据。Metrics Explorer 可以显示 仅数字时间序列数据。
选择要显示的数据
如需配置要在图表上显示的时序,您可以 您可以通过从菜单中选择构建查询来构建查询,也可以编写查询。 编写查询时,您需要选择查询语言,然后使用 查询编辑器或基于文本的界面:
Monitoring Query Language (MQL) 查询用于指定时间序列以及这些时间序列的分组和对齐方式。MQL 界面支持带有建议和语法检查功能的代码编辑器。
通常无法将 MQL 查询转换为表单 可供其他接口使用当您切换到或从 MQL 标签页切换时,系统会舍弃未保存的查询。
Prometheus 查询语言 (PromQL) 查询会指定时序 以及这些时序的分组和对齐方式。 PromQL 接口支持带有建议的编辑器。
通常无法将 PromQL 查询转换为其他接口可使用的形式。当您切换到或从 PromQL 标签页切换时,系统会舍弃未保存的查询。
Monitoring 过滤器查询会指定时间序列,但不包含分组或对齐语句。
您可以使用 Monitoring 过滤条件指定 Monitoring 可以绘制图表的任何时间序列。例如,要用图表表示 在虚拟机上运行的进程,您必须使用 指定函数的监控过滤条件。
监控过滤条件并不总是可以转换为其他接口所需的形式。因此,如果您切换到其他界面,系统可能会舍弃您的查询。
查询通常会指定指标类型、资源类型和过滤条件:
指标类型用于标识要从 资源。指标类型包括对要测量的内容以及如何解释测量结果的说明。指标类型有时为 称为指标。“CPU 利用率”就是一个指标示例。 如需了解概念性信息,请参阅指标类型。
资源类型指定要从哪个资源中获取指标数据。资源类型有时称为受监控资源类型或资源。示例 资源就是“Compute Engine 虚拟机 (VM) 实例”。 有关概念信息,请参阅 受监控的资源。
MQL 和 PromQL 查询都包含分组和对齐功能 语句。不过,如果您编写 Monitoring 过滤条件或使用菜单选择要绘制图表的时间序列,则需要使用菜单来配置分组和对齐设置。
使用菜单构建查询
使用菜单构建查询是默认配置。通常,如果 选择一个指标和一个过滤条件,然后切换到另一个界面 系统会保留您的选择并在该界面中重新设置其格式也就是说, 通过菜单构建的查询可以转换为 MQL 查询。
您可以从其他界面返回到菜单驱动型界面,方法是 选择 tune Builder。不过,您的查询会被舍弃。 也就是说,MQL 查询无法转换为等效的 菜单驱动型表单
如需使用菜单构建查询,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
在查询窗格的工具栏中,执行以下操作:
在指标元素中,展开选择指标菜单。
选择指标菜单包含一些功能,可帮助您查找可用指标类型:
如需查找特定指标类型,请使用 filter_list 过滤栏。例如,如果您输入
util
,则会限制菜单仅显示包含util
的条目。当条目通过不区分大小写的“包含”测试时,系统会显示相应条目。要显示所有指标类型(包括没有数据的指标类型),请点击
有效。默认情况下,菜单 仅显示带有数据的指标类型
从资源菜单中选择所需资源 指标类别菜单、指标菜单,然后找到 点击应用。
例如,绘制 Compute Engine 的 CPU 利用率图表 您可以选择虚拟机实例、实例 CPU 利用率,然后点击应用。
资源菜单列出了作为数据来源的资源 。如果指标不是针对资源编写的 选择未指定。
选择资源类型和指标后,图表会显示该对的所有可用时间序列:
上图包含的数据过多,无法全部显示;图表可显示的数据线限制是 50 条。图表会提示数据过多,无法显示。接收者 减少数据量,请在查询工具栏中使用 排序和limit 元素。如需了解详情,请参阅 显示离群值。
您还可以使用过滤和聚合选项来减少图表数据量。这些技巧可使图表更加实用, 可提高性能和 界面本身的响应速度
可选:添加过滤条件以限制显示的时序。下一部分将介绍过滤选项。
可选:配置时序的分组和对齐方式。有关 信息,请参阅选择如何显示已绘制成图表的数据。
过滤已绘制成图表的数据
过滤条件可确保仅绘制符合某些条件的时序图表。 应用过滤条件后,图表中的数据线数量可能会减少,从而改善图表的性能。提高图表响应速度的另一种方法是配置汇总选项,并对显示的时间序列进行排序和限制。如需了解详情,请参阅显示离群值。
过滤条件由标签、比较运算符和值组成。例如:
来匹配 zone
标签以 "us-central1"
开头的所有时序,
可以使用过滤条件zone=~"us-central1.*"
,该过滤条件使用正则表达式
进行比较比较运算符有四种:
- 等于、
=
- 不等于,
!=
- 正则表达式匹配,
=~
- 正则表达式不匹配:
!=~
按项目 ID 或资源容器进行过滤时,
因此必须使用等号运算符 (=)
。按其他标签进行过滤时,您可以使用任何受支持的比较运算符。通常,您可以按指标和资源标签以及资源组进行过滤。
如果您提供多个过滤条件,对应的图表就会显示
仅限符合所有条件(逻辑 AND
)的时序。
如需在使用 Google Cloud 控制台的菜单驱动型界面时添加过滤条件,请执行以下操作:
在过滤条件元素中,点击添加过滤条件,然后从菜单中进行选择。
如需更改比较项,请从比较器菜单中选择一个值。
在值字段中,输入或选择一个值:
对于直接比较(
=
或!=
),请从 菜单或输入一个值,然后点击确定。您可以输入值 例如us-central1-a
,也可以创建一个过滤条件 以starts_with
或ends_with
开头的字符串。 例如,如需显示任何us-central1
可用区的数据,您可以输入过滤条件字符串starts_with("us-central1")
。请参阅 Monitoring 过滤条件 ,详细了解过滤条件字符串。由于菜单项是根据收到的时序派生的,因此当 受监控的资源未针对所选指标生成数据, 您必须输入标签的值。
对于正则表达式比较(
=~
或!=~
),请输入 RE2 值字段,然后点击确定。 例如,正则表达式us-central1-.*
可与所有us-central1
区域匹配:如需匹配以“a”结尾的任何美国可用区,您可以使用正则表达式
^us.*.a$
。注意:您不能使用正则表达式来过滤
project_id
资源标签。例如,如需仅查看来自某个
us-central1
可用区的时间序列,请应用zone=~"us-central1.*"
过滤条件。
如果您添加多个过滤条件,请注意以下几点:
您可以多次使用相同的标签,从而指定一个可获得一系列值的过滤条件。
必须满足所有过滤条件;它们构成了逻辑
AND
。
要修改过滤条件的值或比较运算符,请执行以下操作: 点击过滤器元素上的 arrow_drop_down Menu, 然后点击确定。
要删除过滤器,请点击 cancel 取消。
编写 MQL 查询
如需输入 MQL 或 PromQL 查询,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在查询构建器窗格的工具栏中,选择名为 code MQL 或 code MQL 的按钮。
- 验证已在MQL切换开关中选择 MQL。语言切换开关位于同一工具栏中,用于设置查询的格式。
- 可选:停用自动运行切换开关。
-
在查询编辑器中输入查询。例如,如需绘制 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,请参阅以下文档:
点击运行查询。
启用自动运行切换开关后, 未显示运行查询按钮。
编写 PromQL 查询
如需输入 MQL 或 PromQL 查询,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在查询构建器窗格的工具栏中,选择名为 code MQL 或 code PromQL 的按钮。
- 验证已在语言 (Language) 切换开关中选择 PromQL。语言切换开关位于同一工具栏中,用于设置查询的格式。
- 可选:停用自动运行切换开关。
-
在查询编辑器中输入查询。例如,要将平均值 Google Cloud 项目中虚拟机实例的 CPU 利用率,请使用 以下查询:
avg(compute_googleapis_com:instance_cpu_utilization)
如需详细了解如何使用 PromQL,请参阅 Cloud Monitoring 中的 PromQL。
点击运行查询。
启用自动运行切换开关后,系统不会显示运行查询按钮。
编写 Monitoring 过滤条件查询
如需执行以下任一操作,您必须使用直接过滤条件模式,在该模式下,您可以输入 Monitoring 过滤条件:
- 显示服务等级目标 (SLO)。
- 显示虚拟机上运行的进程数量。
- 显示您尚无数据的自定义指标。
- 根据您没有数据的标签过滤时序。
Monitoring 过滤条件(或等同于指标过滤条件)是 Monitoring 用于标识要绘制图表的时间序列的表达式。例如,以下表达式生成的图表显示了名称包含 nginx
的进程计数:
select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
resource.type="gce_instance"
您还可以使用监控过滤条件按资源和指标类型标识时间序列。以下表达式将生成
显示所有 Google Cloud 虚拟私有云的日志条目计数的图表
us-east1-b
可用区中的虚拟机实例:
metric.type="logging.googleapis.com/log_entry_count"
resource.type="gce_instance"
resource.label."zone"="us-east1-b"
要输入 Monitoring 过滤条件,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
点击指标元素上的 help_outline Help,然后选择 Direct Filter Mode。
Metric 和 Filter 元素已删除,并且 Filters 元素可让您输入文字。
如果您在切换到直接过滤模式之前选择了资源类型、指标或过滤条件,则这些设置会显示在过滤条件元素中。
在过滤条件元素的文本区域中,输入 Monitoring 过滤条件表达式。 如需了解语法信息,请参阅以下文档:
如果您使用直接过滤模式,但没有符合过滤条件的可用数据,系统会显示错误消息。常见的错误消息包括
Chart definition invalid
和No data is available for the selected timeframe.
可选:配置时序的分组和对齐方式。如需了解详情,请参阅选择如何显示已绘制成图表的数据。
如需返回菜单驱动的界面,请点击 tune Exit direct filter mode(退出直接过滤条件模式)。
选择如何显示已绘制成图表的数据
本部分介绍了如何通过设置聚合字段来显示所选数据。聚合包括校准时间序列中的数据点,以及将不同的时间序列组合在一起。如需详细了解聚合,请参阅过滤和聚合:处理时间序列。
- 如需了解视图选项,请参阅设置图表显示选项。
- 如需详细了解与图表本身的交互,请参阅研究已绘制成图表的数据。
如果您使用 MQL 或 PromQL 选择了要绘制图表的数据,则本部分的内容不适用。
合并时间序列
您可以通过组合不同的时间序列来减少为指标返回的数据量。如需组合多个时间序列,您通常需要指定一个或多个标签和一个函数。包含 所有指定标签的相同值进行分组,然后将函数 会将这些时序合并为新的时序。
Aggregation 元素中的设置可以更改 图表显示的时序。此元素的默认设置 取决于您选择的指标类型 如需修改显示屏,请执行以下任一操作:
如需显示每个时序,请确保在汇总元素中,将第一个菜单设置为不汇总,并将第二个菜单设置为无。
如需组合时间序列,请在聚合元素中执行以下操作:
展开第一个菜单,然后选择一个函数。
系统会刷新图表并显示单个时序。例如,如果您选择平均值,则显示的时间序列是所有时间序列的平均值。
如需合并标签值相同的时序, 展开第二个菜单,然后选择一个或多个标签。
图表会刷新,并显示每个标签值的每个唯一组合的一个时间序列。例如,如需按可用区显示时序,请将第二个菜单设置为可用区。
要配置数据点之间的间距,请点击 add 添加查询元素,选择最小间隔, 然后输入一个值
例如,如果您将函数设置为“求和”,并选择标签 user_labels.version,则每个值都有一个时间序列标签 user_labels.version。每个时间序列中的数据点都是根据特定版本的各个时间序列的所有值之和计算得出的:
选择多个标签时,具有相同 所选标签的值会合并。 生成的图表显示每个标签组合的一个时间序列。指定标签的顺序无关紧要。 以下屏幕截图显示了按 user_labels.version 和 system_labels.machine_image 标签组合时间序列的图表:
如图所示,图表会针对每对标签值显示一个时间序列。实际上,每个标签组合都有一个时间序列,这意味着这种方法可以创建更多数据,而不是您在单个图表中有用的数据。
显示所有时序
如需显示所有时序,请在 Aggregation 元素中添加 将第一个菜单设置为未汇总,将第二个菜单设置为无。
校准时间序列
校准是将 Monitoring 接收到的时间序列数据转换为在固定时间间隔内具有数据点的新时间序列的过程。校准过程包括收集在固定时间段内收到的所有数据点、应用函数以组合这些数据点,以及为结果分配时间戳。该函数可能会计算所有样本的平均值,或者提取所有样本的最大值。
设置校准间隔
如需指定要合并的点的固定时长,请点击查询窗格中的 add Add query element(添加查询元素),选择 Min Interval(最小间隔),然后完成对话框。
例如,假设某个指标的采样周期为一分钟。如果图表配置为显示 1 小时的数据,则图表可以显示全部 60 个数据点。如果 Min Interval 字段设置为 10 minutes
,则
图表会显示 6 个数据点。但是,如果您现在将图表配置为
那么图表中显示的数据点就会过多,
数据点组合的时间间隔会自动修改。
在此示例中,修改后的间隔为一小时。
以下屏幕截图说明了特定 Google Cloud 项目中 Compute Engine 虚拟机实例的 CPU 利用率。在此图片中,最小间隔字段设置为 1 minute
:
为便于比较,下面的屏幕截图说明了将间隔时间从 1 minute
更改为 5 minutes
的效果:
通过增加此时间段,生成的图表的点数会减少,每个时间序列的 60 点数将减少到每个时间序列 10 个点。增加 Min Interval 字段后,系统会合并更多数据点,这会让已绘制的数据更流畅。
设置对齐函数
当您选择用于汇总的函数时,Cloud Monitoring 会为您选择对齐函数。Cloud Monitoring 会根据您选择的指标类型和聚合函数来确定最佳对齐函数。不过,您可以指定校准函数并覆盖 Cloud Monitoring 做出的选择。
要指定校准函数,请执行以下操作: 执行以下操作:
- 在汇总元素中,展开第一个菜单,然后选择配置对齐器。添加了对齐函数和分组元素。
- 展开对齐函数元素,然后进行选择。
虽然大多数支持的对齐函数 有些函数会执行更复杂的操作:
next older:如需仅保留校准时间段内的最新样本,请选择 next older。此函数通常用于 如果您只关心最新 值。
此函数仅对刻度盘指标有效。
百分位:要在折线图、堆叠面积图或堆叠条形图上显示分布指标,您必须选择要显示分布中的哪个百分位。指定此百分位的一种方法 选择百分位函数。您可以选择第 5、第 50、第 95 和第 99 百分位。使用校准时间段内的所有数据点来计算指定的百分位,从而确定校准数据点。
此函数仅对当刻度盘指标和增量指标有效,即 具有分布数据类型。
增量:如需将累积指标或增量指标转换为每个校准时间段一个样本的增量指标,请使用此函数。使用此函数时可能会发生数据插值。如需查看示例,请参阅种类、类型和转换。
此函数仅对累计指标和增量指标有效。
速率:如需将累积指标或增量指标转换为采样平均值指标,请使用此函数。如果选择此函数,您可以将时间序列想象为通过增量函数进行转换,然后除以校准时间段。例如,如果原始时序的单位 为 MiB,校准时间段的单位为秒,则 图表的单位为每秒 MiB。如需了解详情,请参阅种类、类型和转换。
此函数仅适用于累积指标和增量指标。
如需详细了解可用的对齐函数,
请参阅Aligner
。
次要分组和对齐
如果您有多个已经表示聚合的时间序列,则可以通过选择二次聚合器将图表上的所有时间序列减少为单个时间序列。例如,如果按可用区对数据进行分组,则图表会针对每个可用区显示一个时间序列。如需创建包含单个时间序列的图表,请使用二次聚合字段。
对于某些指标类型,您可以选择转换数据。如果 选项可用,如果您将 Transform 字段设置为其他值, 而不是 None,所有其他字段都是二次聚合设置。
当次级汇总字段可配置时,如需访问这些字段,请执行以下操作:
- 点击 add 添加查询元素。 然后选择二次聚合。
- 配置次级汇总元素。
以下屏幕截图显示了对过滤的数据集进行分组所形成的几个时间序列。进行分组时需要执行聚合操作;同时,每组数据线都会聚合成一条数据线。以下屏幕截图显示了按地区分组的时间序列:
以下屏幕截图显示了使用二次聚合查找分组时间序列中的平均值的结果:
配置图例列的名称
通过 Legend Alias 字段,您可以为图表上的时间序列自定义说明。这些说明显示在图表的工具提示上以及 Name 列中的图表图例上。默认情况下,系统会根据时间序列中不同标签的值创建图例中的说明。由于这些标签由系统选择,生成的结果可能对您来说没有什么用处。如需构建说明的模板,请使用此字段。
您可以在图例别名字段中输入纯文本和模板。添加模板时,请添加一个会在图例显示时评估的表达式。
如需向图表添加图例模板,请执行以下操作:
- 在显示窗格中, 展开 expand_more Legend Alias。
- 点击 add 显示模板变量建议。
然后从菜单中选择相应条目
例如,如果您选择
zone
,则 添加了模板${resource.labels.zone}
。
例如,以下屏幕截图显示了包含纯文本和表达式 ${resource.labels.zone}
的图例模板:
在图表图例中,通过模板生成的值显示在标题为名称的列中以及提示中:
您可以将图例模板配置为包含多个文本字符串和模板;但是,提示上的可用显示空间有限。