如果您使用接收器将轨迹数据导出到 BigQuery,则本文档适用于您。我们不再建议使用接收器导出轨迹数据。我们建议您改用 Observability Analytics,它支持与 BigQuery 相同的 SQL 查询语言。本文档介绍了如何从基于接收器的解决方案迁移到使用可观测性分析的解决方案。此外,还包含有关如何使用 BigQuery 服务查询轨迹数据的信息。
BigQuery 提供可用于复制表或导出数据的服务。创建关联的 BigQuery 数据集后,您可以使用这些服务复制和导出轨迹数据。本文档详细介绍了此可选步骤。 如需了解详情,请参阅管理表和数据导出简介。
如需开始使用 Observability Analytics,请参阅查询和分析轨迹。
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud新手,请 创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Observability API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
如需获得加载可观测性分析页面、运行查询和创建关联数据集所需的权限,请让管理员为您授予项目的以下 IAM 角色:
- Cloud Trace Admin (
roles/cloudtrace.admin) - Observability Editor (
roles/observability.editor) - BigQuery User (
roles/bigquery.user)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
- Cloud Trace Admin (
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
迁移到 Observability Analytics
已完成本文档准备工作部分中列出的操作。这些操作包括启用可观测性 API。
使用可观测性分析验证您是否可以访问轨迹数据:
-
在 Google Cloud 控制台中,前往 manage_search Observability Analytics 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
在视图菜单中,前往
轨迹部分,然后选择 _Trace.Spans._AllSpans。架构窗格会更新并显示架构。
如果您没有看到名为
_Trace.Spans._AllSpans的视图,则表示您的Google Cloud 项目不包含名为_Trace的可观测性存储桶。如需了解如何解决此情况,请参阅跟踪存储空间初始化失败。在架构窗格中,选择查询。
查询编辑器字段会更新。
FROM子句列出了类似于以下内容的条目:`PROJECT_ID.us._Trace.Spans._AllSpans`在工具栏中,选择运行查询。
如果工具栏显示在 BigQuery 上运行,请点击 settings 设置,然后选择 Analytics(默认)。
您已验证可以使用 Observability Analytics 页面查询轨迹数据。
-
可选:如果您想将跟踪记录数据与可供 BigQuery 使用的其他商家数据联接,请创建关联的 BigQuery 数据集。如需了解详情,请参阅查询关联的 BigQuery 数据集。
删除轨迹接收器和不必要的数据集:
如需列出现有轨迹接收器,请执行
gcloud alpha trace sinks list命令:gcloud alpha trace sinks list针对每个接收器执行
gcloud alpha trace sinks delete命令:gcloud alpha trace sinks delete SINK_NAME可选:删除所有不必要的 BigQuery 数据集。 如需了解如何删除 BigQuery 数据集,请参阅删除数据集。
架构比较
本部分介绍了可观测性分析与基于接收器的导出架构之间的区别。
| 名称 | 分析 | 旧版 |
|---|---|---|
| 跟踪记录 ID | trace_id |
extendedFields.traceId |
| span ID | span_id |
span.spanId |
| 父级 span ID | parent_span_id |
span.parentSpanId |
| Span 名称 | name |
span.displayName.value |
| Span 种类 | kind如需了解值,请参阅 OpenTelemetry: SpanKind。
|
span.spanKind如需查看值,请参阅 Cloud Trace API 参考文档 SpanKind 页面。 |
| Span 开始时间 | start_time |
span.startTime |
| Span 结束时间 | end_time |
span.endTime |
| 属性 | span、资源和检测属性各自具有独特的格式。这些字段具有 BigQuery JSON 数据类型。 示例:
|
所有属性均采用相同的格式:
示例:
|