如果您使用接收器将跟踪记录数据导出到 BigQuery,则 本文档适用于您。不再建议使用接收器导出跟踪记录数据。我们建议您改用 Observability Analytics,它 支持与 BigQuery 相同的 SQL 查询语言。 本文档介绍了如何从基于接收器的解决方案迁移到使用 Observability Analytics 的解决方案。此外,本文档还介绍了如何使用 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.-
如需获得加载 Observability Analytics 页面、运行查询和创建关联数据集所需的权限,请让管理员为您授予项目的以下 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
完成本文档准备工作 部分中列出的操作。这些操作包括启用 Observability API。
验证您是否可以使用 Observability Analytics 访问跟踪记录数据:
-
在 Google Cloud 控制台中,前往 manage_search Log 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 数据集, 请参阅删除数据集。
架构比较
本部分介绍了 Observability Analytics 和基于接收器的导出架构之间的差异。
| 名称 | 分析 | 旧版 |
|---|---|---|
| 跟踪记录 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 数据类型。 示例:
|
所有属性都使用相同的格式:
示例:
|