v1.traces 概览

本文档介绍了我们为何建议您使用实现了 OpenTelemetry Line Protocol 的 Telemetry (OTLP) API 将跟踪记录数据发送到您的Google Cloud 项目。此外,它还提供了有关如何为应用插桩以及在何处查看跟踪记录数据的指南。当您使用某个 OpenTelemetry SDK 对应用进行插桩时,或者当您使用 OpenTelemetry 收集器时,可以使用 Telemetry API。

我们推荐使用 Telemetry API,原因如下:

  • 此 API 可与开源 OpenTelemetry 生态系统兼容,并且其限制通常比 Cloud Trace API(一种专有 Google Cloud API)的限制更宽松。

  • 您的跟踪记录数据以通常与 OpenTelemetry Line Protocol 定义的 proto 文件一致的格式存储。在存储之前,某些字段可能会从 OpenTelemetry 特定的数据类型转换为 JSON 数据类型。如需详细了解存储格式,请参阅跟踪记录数据的架构

  • 您的插桩不依赖于特定于 Google Cloud的导出器。

  • 某些功能(如“应用监控”)依赖于仅在您将跟踪记录数据发送到 Telemetry API 时才可用的信息。

OpenTelemetry 是一个受 Google Cloud支持的开源项目,配备 Google Cloud工程师来确保支持注入和直观呈现遥测数据。

Google Cloud Observability 会先验证您的 Google Cloud 项目是否已启用 Cloud Trace API,然后再存储任何轨迹数据。这意味着,如果您停用 Cloud Trace API,Google Cloud Observability 会舍弃您发送到 Telemetry API 的跟踪记录数据。

最佳做法

在对应用进行插桩处理以将跟踪记录数据发送到Google Cloud 项目时,我们建议您使用将 OTLP 格式的数据写入收集器的导出器,收集器随后会将跟踪记录数据发送到 Telemetry API。在收集器中,仅指定根网址:

exporters:
  otlphttp:
    encoding: proto
    endpoint: https://telemetry.googleapis.com

OpenTelemetry 会检测数据类型,并根据需要自动附加 /v1/traces/v1/metrics/v1/logs。如需了解详情,请参阅 OTLP/HTTP 请求

如需查看将跟踪记录或指标数据导出到 Telemetry API 的示例,请参阅以下文档:

如果无法使用收集器,您可以使用包含进程内 OTLP 导出器的 OpenTelemetry 库,以将遥测数据发送到 Telemetry API。如需了解如何直接导出轨迹数据,请参阅从 Cloud Trace 导出器迁移到 OTLP 端点

身份验证

您必须使用必要的凭据配置导出器,才能将数据发送到您的 Google Cloud 项目。例如,当您使用收集器时,通常会使用 googleclientauth 扩展程序通过 Google 凭据进行身份验证。

如需查看使用直接导出轨迹数据时的身份验证示例,请参阅配置身份验证。 此示例展示了如何使用 Google Cloud 应用默认凭证 (ADC) 配置导出器,以及如何向应用添加特定于语言的 Google Auth 库。

如需使用 Telemetry API 将遥测数据发送到您的 Google Cloud 项目,您还必须执行以下操作:

Cloud Trace 和数据驻留

如果您因数据驻留或影响级别 4 (IL4) 要求而使用 Assured Workloads,则不应使用 Telemetry API 将跟踪记录 span 发送到您的项目。

在何处查看注入的数据

您可以使用 Trace 探索器可观测性分析页面查看跟踪记录数据。如需了解相关信息,请参阅以下内容: