指标比率简介

本文档可帮助您选择最佳方法来绘制指标数据的比率图表或监控指标数据的比率。其中还包含指向示例的链接,说明了何时可以计算比率,并介绍了在绘制两个不同指标的比率图表时可能会看到的异常情况。这些异常是由于抽样率或对齐参数存在差异所致。

通过比率,您可以将指标数据转换为其他可能更实用的形式。例如,假设有一个指标类型,用于按响应代码统计 HTTP 响应数量。指标数据会报告错误数,但不会报告失败请求所占的比例。不过,性能要求通常以百分比的形式指定,例如“错误率必须低于 0.1%”。如需使用指标数据确定错误率,您需要计算失败请求数与请求总数的比率。

最佳做法

如需监控或绘制指标数据的比率图表,我们建议您使用 PromQL。您可以将 PromQL 与 Cloud Monitoring API 和 Google Cloud 控制台搭配使用。Google Cloud 控制台中包含一个代码编辑器,可提供建议、错误检测和其他支持,以创建有效的 PromQL 查询。

如果您不熟悉 PromQL,但想要创建用于监控指标比率的提醒政策,请使用 Cloud Monitoring API 并添加时间序列过滤条件。如需查看示例,请参阅指标比率

如果您不熟悉 PromQL,但想要绘制指标数据的比率图表,我们建议您使用 Google Cloud 控制台和菜单驱动型界面。如需了解详细说明,请参阅绘制指标比率图表将图表和表格添加到自定义信息中心

采用比率的限制

配置比率时,需要遵循以下限制:

  • 聚合后,分母时序中的标签必须与分子时序中的标签相同或为其子集。

    我们建议您选择聚合选项,以便在聚合后,分子和分母时序具有相同的标签。

    假设在某个配置中,分子时序具有 methodquota_metricproject_id 标签。分母时间序列具有 limit_namequota_metricproject_id 标签。分母分组的有效选项取决于分子所做的选择:

    • method 标签分组的分子:将分母时序合并到单个时序中。任何其他分组都不会导致分母时序的标签是分子时序标签的子集。
    • quota_metric 标签分组的分子:按该标签分组分母,或将分母中的所有时序合并为单个时序。
    • quota_metricproject_id 标签对分子进行分组:按这两个标签或其中一个标签对分母进行分组,或将分母时序合并为单个时序。

    有效的分母汇总选项始终会从分组时序中移除 limit_name 标签,因为该标签不存在于分子时序中。

  • 使用 Google Cloud 控制台配置图表时,分子和分母的对齐周期必须相同;但是,使用 Cloud Monitoring API 时,这些字段可以不同。

    无论您使用哪种工具创建图表,我们都建议您为分子和分母使用相同的对齐周期。

  • 分子和分母必须具有相同的值类型。例如,当分子类型为 DOUBLE 时,分母也必须为 DOUBLE 类型。

    比率要求分子和分母指标的值类型为 DOUBLEINT64

  • 分子和分母对齐的时序必须具有相同的指标种类。如果两个指标的种类不同,您必须使用对齐器将它们转换为相同的种类。

    假设在某个配置中,为分子选择了 DELTA 指标,为分母选择了 GAUGE 指标。在这种情况下,请使用速率校准器 ALIGN_RATEDELTA 指标转换为 GAUGE 指标。如需查看示例,请参阅某一限制的速率配额使用率的比例提醒政策

  • 对于未使用 PromQL 定义的比率,分子和分母的受监控的资源类型必须相同。

    例如,如果分子指标的资源是 Compute Engine 实例,那么分母指标的资源也必须是 Compute Engine 实例。

由于抽样和对齐不一致而导致的异常

通常,最好根据为单个指标类型收集的时间序列使用标签值计算比率。由于抽样周期和对齐时间范围不同,根据两个不同指标类型计算出的比率可能会出现异常。

例如,假设您有两个不同的指标类型,一个是 RPC 总数,一个是 RPC 错误数量,并且您想要计算错误 RPC 与总 RPC 的比率。失败的 RPC 会计入这两个指标类型的时序中。因此,当您校准时序时,某个失败的 RPC 可能不会出现在两个时序的同一校准间隔中。导致这种差异的原因有很多,包括:

  • 由于两个不同的时序记录同一事件,因此有两个计数器值在实现集合,并且它们不会以原子方式更新。
  • 采样率可能会不一样。当时序与公共时间段校准时,单个事件的计数可能会出现在不同指标的时序的相邻校准间隔中。

相应校准间隔内值的数量差可能导致无意义的 error/total 比率值,例如 1/0 或 2/1。

较大数字的比率不太可能导致无意义的值。您可以通过聚合来获得更大的数量,这可以通过使用比采样周期更长的校准窗口或针对特定标签将数据分组来实现。这些方法可以最大限度地减少给定时间间隔中数据点数量的微小差异的影响。也就是说,在一个时间间隔内,预期数据点数量为 3 时的两点间差异会比预期数量为 300 时更明显。

如果您使用的是内置指标类型,则可能只能计算不同指标类型的比率以获得所需的值。

如果您设计的自定义指标可能会在两个不同的指标中统计相同的内容(例如,返回错误状态的 RPC 数量),请考虑使用单个指标,以使每个计数仅被包含一次。例如,假设您在统计 RPC 数量并想要跟踪失败的 RPC 与所有 RPC 之比。要解决此问题,请创建单个指标类型来统计 RPC 数量,然后使用标签来记录调用状态,包括“成功”状态。然后,通过更新单个计数器即可记录每个状态值(在此例中为“错误”或“成功”)。

后续步骤