OTLP 指标注入概览

本文档介绍了如何将 OpenTelemetry 收集器与 otlphttp 导出器和 Telemetry (OTLP) API ( telemetry.googleapis.com) 搭配使用,后者实现了 OpenTelemetry Line 协议。 通过将 otlphttp 导出器与 Telemetry API 结合使用,您可以将 OTLP 指标注入到 Cloud Monitoring 中。

OTLP 端点支持所有 OTLP 协议,包括 http/protobufhttp/jsongrpc。如需了解详情,请参阅 协议支持

您还可以直接从使用 SDK 的应用向 Telemetry API 发送指标。如需了解详情,请参阅 使用 SDK 从应用发送指标

如果您使用的是 Google Kubernetes Engine,则可以按照 适用于 GKE 的 Managed OpenTelemetry 中的说明操作,而无需 手动部署和配置使用 Telemetry API 的 OpenTelemetry 收集器。

只有在使用 OpenTelemetry 收集器 0.140.0 或更高版本时,OTLP for Prometheus 指标才有效。

Telemetry API 中的指标和标签名称

本部分介绍了使用 Telemetry API 注入到 Cloud Monitoring 中的指标的命名惯例和要求:

  • 指标名称和标签键不支持完整的 UTF-8。

    • 不符合正则表达式 [a-zA-Z][a-zA-Z0-9_:./-]* 的指标名称将被拒绝。指标名称中允许使用的特殊字符仅限于集合 _:./- 中的字符。
    • 包含不符合正则表达式 [a-zA-Z_][a-zA-Z0-9_.]* 的属性(即标签键)的 DataPoint 将被拒绝。标签键中允许使用的特殊字符仅限于集合 _. 中的字符。标签值中允许使用所有特殊字符。

    为防止指标因这些原因而被拒绝,您可以设置 处理器,以便为您转换指标名称和属性 ,方法是使用 replace_pattern 函数。

  • 重要提示:查询包含冒号 (:) 和下划线 (_) 以外的特殊字符的指标名称和标签键时,您需要根据 PromQL 的 UTF-8 规范,将它们用大括号 ({}) 和引号 (") 括起来。例如,以下查询是有效的:

    • {"my.metric.name"}
    • {"my.metric.name", "label.key.KEY"="value"}

Telemetry API 指标和 Cloud Monitoring

本部分介绍了使用 Telemetry API 和 otlphttp 导出器注入的指标如何与 Cloud Monitoring 交互:

  • INT64 型指标和 DOUBLE 型指标之间可能会发生值类型冲突,尤其是当您之前 发送过 target_info 指标时。如果您遇到此类冲突,请删除 INT64 指标描述符。您可以使用此 Golang 脚本从指标范围中删除所有 INT64target_info 指标。

  • 在查询指数直方图时保留 le 标签可能会返回意外结果。更典型的 histogram_quantile(.99, sum by (le) (metric)) 查询预计可以正常运行。

  • 在某些情况下(例如增量非常稀疏),增量指标可能无法正确查询。

协议支持

OTLP 端点支持所有 OTLP 协议,包括 http/protobufhttp/jsongrpc。从 OpenTelemetry 收集器导出时,您可以使用任何协议。不过,由于大多数 SDK 导出器都不支持动态令牌刷新,因此我们建议您在直接从 SDK 导出时,仅使用 gRPC OTLP 导出器,而不要使用 HTTP 导出器。如需了解详情,请参阅 使用 SDK 从应用发送指标

结算

OTLP 指标的结算将计入“Prometheus Samples Ingested”SKU 下,该 SKU 与 Google Cloud Managed Service for Prometheus 中的指标所用的 SKU 相同。 如需了解详情,请参阅结算页面

限制和配额

使用 Telemetry API 注入指标时,需遵守 Telemetry API 指标限制

此外,所有标准 Cloud Monitoring 和 Google Cloud Managed Service for Prometheus 指标 配额和限制 均适用。例如,指标的标签数量不得超过 200 个。

Telemetry API 注入的指标的默认配额为每分钟 60,000 个请求。 在每个请求最多批次大小 200 个点的情况下,这相当于每秒 200,000 个样本的有效默认配额。您可以申请增加配额。

后续步骤