Trace 数据导出概览

本页面从概念上简要介绍了如何使用 Cloud Trace 导出跟踪记录数据。由于以下原因,您可能需要导出跟踪记录数据:

  • 为了将跟踪记录数据存储比默认保留期限(30 天)更长的时段。
  • 为了让您能够使用 BigQuery 工具分析跟踪记录数据。例如,使用 BigQuery 时,您可以识别 span 计数和分位数。如需了解用于生成下表的查询,请参阅 HipsterShop 查询

    显示对上一查询的响应。

导出的工作原理

导出操作包括为 Google Cloud 项目创建接收器接收器将 BigQuery 数据集定义为目标。

您可以使用 Cloud Trace API 或使用 gcloud 命令行工具来创建接收器。

接收器属性和术语

接收器是为 Google Cloud 项目定义的,具有以下属性:

  • 名称:接收器的名称。例如,名称可以是:

    "projects/[PROJECT_NUMBER]/traceSinks/my-sink"
    

    其中 [PROJECT_NUMBER] 是接收器的 Google Cloud 项目编号,my-sink 是接收器标识符。

  • 父级:您在其中创建接收器的资源。父级必须是 Google Cloud 项目:

    "projects/[PROJECT_ID]"
    

    [PROJECT_ID] 可以是 Google Cloud 项目标识符或编号。

  • 目标位置:表示要将跟踪记录 span 发送到哪个位置。Trace 支持将跟踪记录导出到 BigQuery。目标位置可以是接收器的 Google Cloud 项目或同一组织中的任何其他 Google Cloud 项目。

    例如,有效目标为:

    bigquery.googleapis.com/projects/[DESTINATION_PROJECT_NUMBER]/datasets/[DATASET_ID]
    

    其中 [DESTINATION_PROJECT_NUMBER] 是目标的 Google Cloud 项目编号,[DATASET_ID] 是 BigQuery 数据集标识符。

  • 写入者身份:服务帐号名称。导出目标位置的所有者必须为此服务帐号授予对导出目标位置的写入权限。导出跟踪记录时,Trace 会使用此身份进行授权。为了提高安全性,新接收器将获得唯一的服务帐号:

    export-[PROJECT_NUMBER]-[GENERATED_ID]@gcp-sa-cloud-trace.iam.gserviceaccount.com
    

    其中 [PROJECT_NUMBER] 是您的 Google Cloud 项目编号(采用十六进制格式),[GENERATED_ID] 是随机生成的值。

    如需了解如何使用写入者身份,请参阅目标位置权限

接收器的工作原理

每当跟踪记录 span 到达项目时,Trace 就会导出该 span 的副本。

无法导出在创建接收器之前 Trace 接收的跟踪记录。

访问权限控制

如要创建或修改接收器,您必须具有以下 Identity and Access Management 角色之一:

  • Trace Admin
  • Trace User
  • Project Owner
  • Project Editor

如需了解详情,请参阅访问权限控制

如需将跟踪记录导出到目标位置,接收器的写入者服务帐号必须具备对目标位置的写入权限。如需详细了解写入者身份,请参阅本页中的接收器属性

配额和限制

Cloud Trace 利用 BigQuery 流处理 API 将跟踪记录 span 发送到目标位置。Cloud Trace 会对 API 调用进行批处理。Cloud Trace 不会实现重试或限制机制。如果数据量超出目标配额,则跟踪记录 span 可能无法成功导出。

如需详细了解 BigQuery 配额和限制,请参阅配额和限制

价格

导出跟踪记录不会产生 Cloud Trace 费用。但是,您可能会产生 BigQuery 费用。如需了解详情,请参阅 BigQuery 价格

估算费用

BigQuery 会针对数据提取和存储收取费用。如需估算每月 BigQuery 费用,请执行以下操作:

  1. 估算一个月中提取的跟踪记录 span 的总数。

    Trace 概览窗口会显示当月和上月提取的付费 span 数量:

    转到 Trace

    概览窗格中列出的 span 数不包含那些无法付费的 span。如需了解详情,请参阅价格

  2. 根据提取的跟踪记录 span 数估算流式传输要求。

    每个 span 都将写入表中的相应行。BigQuery 中的每一行都至少需要 1024 个字节。因此,BigQuery 流式传输要求的下限是为每个 span 分配 1024 个字节。例如,如果您的 Google Cloud 项目提取了 200 个 span,则这些 span 至少需要 20400 个字节才能进行流式插入。

  3. 使用价格计算器估算因存储、流式插入和查询而产生的 BigQuery 费用。

查看和管理您的 BigQuery 使用情况

您可以使用 Metrics Explorer 查看 BigQuery 使用量。您还可以创建提醒政策,以便在 BigQuery 使用量超出预定义限制时收到通知。下表包含创建提醒政策所需的设置。您可以在创建图表或使用 Metrics Explorer 时使用目标窗格表中的设置。

如需创建一项提醒政策,并在提取的 BigQuery 指标超出用户定义的级别时触发,请执行以下操作:

目标窗格
字段

Resource type 输入 BigQuery Dataset
Metric 特定于使用量的指标包括 Stored bytesUploaded bytesUploaded bytes billed。但是,此列表仅包含部分列表。如需可用指标的完整列表,请参阅 BigQuery 指标
Filter project_id:您的 Google Cloud 项目 ID
dataset_id:您的数据集 ID。
Group By dataset_id:您的数据集 ID。
Aggregator sum
Period 1 m
Advanced Aggregation Aligner: mean
条件窗格
字段

Condition triggers if Any time series violates
Condition is above
Threshold 可接受的值由您决定。
For 1 minute

后续步骤

如需配置接收器,请参阅导出跟踪记录