本文档可帮助您选择绘制指标数据图表或监控指标数据比率的最佳方法。此外,它还包含指向示例的链接,指出了何时可以计算比率,并介绍了在绘制两个不同指标的比率图表时可能会遇到的异常情况。这些异常是由于采样率或校准参数的差异所致。
通过比率,您可以将指标数据转换为可能更有用的不同形式。例如,假设有一个按响应代码统计 HTTP 响应数量的指标类型。指标数据会报告错误数量,但不会报告失败请求的比例。但是,性能要求通常用百分比的形式指定,例如“错误率必须小于 0.1%”。为了使用指标数据确定错误率,您需要计算失败的请求与请求总数的比率。
最佳实践
如需监控指标数据的比率或绘制其图表,我们建议您使用 Monitoring Query Language (MQL)。您可以将 MQL 与 Cloud Monitoring API 以及 Google Cloud 控制台搭配使用。Google Cloud 控制台包含一个代码编辑器,可针对创建有效 MQL 查询提供建议、错误检测和其他支持。如需了解详情和示例,请参阅以下文档:
如需创建提醒政策,以便在您不熟悉 MQL 时监控指标比率,请使用 Cloud Monitoring API 并添加时间序列过滤条件。如需查看示例,请参阅指标比率。
如需在不熟悉 MQL 时绘制指标数据的比率图表,我们建议您使用 Google Cloud 控制台并使用菜单驱动型界面。如需了解详细说明,请参阅绘制指标比率图表和将图表和表格添加到自定义信息中心。
比率的限制
配置比率时,需要遵循以下限制:
聚合后,分母时序中的标签必须与分子时序中的标签相同,或是分子时序中的标签子集。
我们建议您选择汇总选项,使分子和分母时序在汇总后具有相同的标签。
假设分子时序具有
method
、quota_metric
和project_id
标签。分母时间序列具有limit_name
、quota_metric
和project_id
标签。分母分组的有效选项取决于对分子的选择:- 按
method
标签分组的分子:将分母时序合并到单个时序中。没有其他分组会导致分母时序的标签成为分子时序标签的子集。 - 按
quota_metric
标签分组的分子:按该标签对分母进行分组,或将分母中的所有时序合并为一个时序。 - 按
quota_metric
和project_id
标签分组的分子:按两个标签或一个标签对分母进行分组,或将分母时序组合为一个时序。
有效的分母汇总选项始终会从已分组的时序中消除
limit_name
标签,因为该标签在分子时序中不存在。如需查看示例,请参阅 MQL 提醒政策示例。
- 按
使用 Google Cloud 控制台配置图表时,分子和分母的校准时间段必须相同;但是,使用 Cloud Monitoring API 时,这些字段可以不同。
无论您使用哪种工具创建图表,我们都建议您对分子和分母使用相同的校准时间段。
分子和分母必须具有相同的值类型。例如,当分子的类型为
DOUBLE
时,分母的类型也必须为DOUBLE
。比率要求分子和分母指标的值类型为
DOUBLE
或INT64
。已校准的分子和分母的时序必须具有相同的指标种类。当这两个指标具有不同的种类时,您必须使用校准器将它们转换为同一种类。
假设有这样一种配置:为分子选择
DELTA
指标,并为分母选择GAUGE
指标。在这种情况下,请使用速率校准器ALIGN_RATE
将DELTA
指标转换为GAUGE
指标。如需查看示例,请参阅关于一个限额的速率配额用量的比率提醒政策。对于未使用 MQL 定义的比率,受监控的资源类型必须针对分子和分母相同。
例如,如果分子指标的资源是 Compute Engine 实例,则分母指标的资源也必须为 Compute Engine 实例。
因抽样和对齐方式不匹配而导致的异常值
通常,最好根据为单个指标类型收集的时序使用标签值计算比率。根据两种不同指标类型计算的比率会因不同的采样周期和校准窗口而出现异常。
例如,假设您有两个不同的指标类型,一个是 RPC 总数,一个是 RPC 错误数量,并且您想要计算错误 RPC 与总 RPC 的比率。失败的 RPC 会计入这两个指标类型的时序中。因此,当您校准时序时,某个失败的 RPC 可能不会出现在两个时序的同一校准间隔中。导致这种差异的原因有很多,包括:
- 由于两个不同的时序记录同一事件,因此有两个计数器值在实现集合,并且它们不会以原子方式更新。
- 采样率可能会不一样。当时序与公共时间段校准时,单个事件的计数可能会出现在不同指标的时序的相邻校准间隔中。
相应校准间隔内值的数量差可能导致无意义的 error/total
比率值,例如 1/0 或 2/1。
比率越大,产生无意义值的可能性就越小。 您可以通过聚合获得更大的数字,方法是使用长于采样周期的校准窗口,或者对某些标签的数据进行分组。这些方法可以最大限度地减少给定时间间隔中数据点数量的微小差异的影响。也就是说,在一个时间间隔内,预期数据点数量为 3 时的两点间差异会比预期数量为 300 时更明显。
如果您使用的是内置指标类型,则可能只能计算不同指标类型的比率以获得所需的值。
如果您设计的自定义指标可能会在两个不同的指标中统计相同的内容(例如,返回错误状态的 RPC 数量),请考虑使用单个指标,以使每个计数仅被包含一次。例如,假设您在统计 RPC 数量并想要跟踪失败的 RPC 与所有 RPC 之比。要解决此问题,请创建单个指标类型来统计 RPC 数量,然后使用标签来记录调用状态,包括“成功”状态。然后,通过更新单个计数器即可记录每个状态值(在此例中为“错误”或“成功”)。
后续步骤
如需了解如何使用 MQL 配置提醒政策,请参阅使用 MQL 的提醒政策。
如需了解如何创建图表,请参阅以下文档:
- 如需创建临时图表,请参阅 Metrics Explorer。
- 如需使用 Google Cloud 控制台将图表添加到信息中心,请参阅向自定义信息中心添加图表和表格。
- 如需使用 Cloud Monitoring API 管理图表,请参阅通过 API 创建和管理信息中心。
- 如需使用 MQL 构建图表,请参阅构建图表。