本文档介绍了如何为轨迹数据创建关联的 BigQuery 数据集,以及如何查询该数据集。借助关联的数据集,您可以创建并运行查询,将可观测性数据与其他业务数据联接起来。例如,您可以从 BigQuery Studio 和数据洞察查询关联的数据集。您还可以在 BigQuery 后端运行可观测性分析查询。
如需开始使用 Observability Analytics,请参阅查询和分析轨迹。
需要关联数据集时
如果您想查询轨迹数据,或者同时查询轨迹数据和日志数据,则不需要关联的 BigQuery 数据集。对于这些场景,您可以使用 Observability Analytics 页面。如需了解如何查询日志数据,请参阅使用 Observability Analytics 查询和分析日志。
如果您要执行以下任何操作,则需要关联的 BigQuery 数据集:
- 将轨迹数据与其他 BigQuery 数据集联接。
- 查询来自其他服务(例如 BigQuery Studio 页面或数据洞察)的轨迹数据。
- 在 BigQuery 引擎上运行可观测性分析页面中的查询。
- 使用提醒政策监控 SQL 查询结果。
创建关联数据集时发生的系统操作
创建关联的数据集时,您会启动一项长时间运行的操作。该操作会触发以下几项操作:
- 审核日志会记录创建关联的请求以及操作的完成情况。
如果 Monitoring 服务账号不存在,Google Cloud Observability 会创建该账号。
必须先启用 Cloud Monitoring API,才能创建此服务账号。
Google Cloud Observability 需要服务账号,然后才能创建关联的数据集。 在必要时,系统会创建服务账号:
Cloud Observability 服务账号:对于观测数据集的关联是必需的。
Cloud Logging 服务账号:日志存储桶关联所需的账号。
审核日志会记录服务代理管理器授予 Monitoring 服务账号 Monitoring Service Agent IAM 角色的请求。
准备工作
- 登录您的 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 Cloud Monitoring and Observability APIs.
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 Cloud Monitoring and Observability APIs.
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.
创建关联的 BigQuery 数据集
本部分介绍了必须启用的 API、创建关联数据集所需的角色,以及如何创建关联数据集。
前提条件
- 完成准备工作部分中的步骤。
-
如需获得在可观测性数据集上创建关联所需的权限,请让管理员向您授予项目的以下 IAM 角色:
- Observability Editor (
roles/observability.editor) - BigQuery User (
roles/bigquery.user) - Logs Viewer (
roles/logging.viewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
- Observability Editor (
在可观测性数据集上创建链接
gcloud
在使用下面的命令数据之前,请先进行以下替换:
- LINK_ID:BigQuery 数据集的名称。
- DATASET_ID:数据集的 ID。您的轨迹数据存储在名为
Spans的数据集中。 - BUCKET_ID:可观测性存储桶的 ID。例如,此 ID 可能是
_Trace。 - LOCATION:可观测性存储分区的位置。
- PROJECT_ID:项目的标识符。
执行 gcloud beta observability buckets datasets links create 命令:
Linux、macOS 或 Cloud Shell
gcloud beta observability buckets datasets links create \ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID \ --dataset=DATASET_ID\ --bucket=BUCKET_ID \ --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud beta observability buckets datasets links create ` projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ` --dataset=DATASET_ID` --bucket=BUCKET_ID ` --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability buckets datasets links create ^ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ^ --dataset=DATASET_ID^ --bucket=BUCKET_ID ^ --location=LOCATION ^ --project=PROJECT_ID
create 命令会启动一个长时间运行的操作。以下是命令成功执行时的响应示例:
Create request issued for: [mydataset] Waiting for operation [projects/my-project/locations/us/operations/operation-1775164903749-64e80c9817833-9ff804b6-c3e9cbe7] to complete...done. Created link [mydataset].
REST
如需创建指向 BigQuery 数据集的链接,请向 projects.locations.buckets.datasets.links.create 端点发送请求。
您必须指定 parent 参数,该参数采用以下形式:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID
上面表达式中的字段含义如下:
- PROJECT_ID:项目的标识符。
- LOCATION:可观测性存储桶的位置。
- BUCKET_ID:可观测性存储桶的 ID。例如,此 ID 可能是
_Trace。 - DATASET_ID:要查询的数据集的 ID。例如,此 ID 可能为
Spans。
此命令需要查询参数和请求正文:
必须指定查询参数
linkId,并将其设置为 BigQuery 数据集的名称。例如linkId="my_link"。BigQuery 数据集名称必须在您的 Google Cloud 项目中保持唯一,长度上限为 100 个字符,并且只能包含字母、数字和下划线。请求正文是一个
Link对象。name字段的值采用以下格式:projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/dataset/DATASET_ID/links/LINK_ID您为
name字段提供的值必须与查询参数引用的关联 BigQuery 数据集相匹配。LINK_ID 字段是 BigQuery 数据集的名称。
响应是一个 Operation 对象。此对象包含有关该方法的进度的信息。当该方法完成时,Operation 对象会包含状态数据。
如需查看完整的 Observability API 端点列表,请参阅 Observability API 参考文档。
从 BigQuery Studio 查询轨迹数据
本部分介绍了如何从 BigQuery Studio 页面查询轨迹数据。
如需了解使用 BigQuery 相关的费用,请参阅 BigQuery 价格。
前提条件
- 完成准备工作部分中的步骤。
-
如需获得从 BigQuery 查询关联数据集所需的权限,请让您的管理员为您授予项目或关联数据集的 BigQuery Data Viewer (
roles/bigquery.dataViewer) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。 - 验证名为
_Trace的可观测性存储桶的关联 BigQuery 数据集是否存在。如果关联的数据集不存在,请创建它。
使用 BigQuery Studio
如需从“可观测性分析”页面打开 BigQuery,然后查询您的轨迹数据,请执行以下操作:
-
在 Google Cloud 控制台中,前往 manage_search Observability Analytics 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
输入或加载查询。如需了解详情,请参阅查询和分析轨迹。
在工具栏中,展开标有运行查询或在 BigQuery 中运行的菜单,然后选择在 BigQuery 中打开。
系统会打开 BigQuery Studio 页面。 在此页面上,
FROM语句使用 BigQuery 表路径语法指定关联的数据集。您可以对查询执行任何受支持的操作,例如修改查询。如果在 BigQuery 中打开选项处于停用状态,则表示关联的数据集不存在,或者您没有在 BigQuery 中打开和查看查询的必要权限。
在 BigQuery Studio 页面上,点击运行查询。
在 BigQuery 引擎上运行查询
默认情况下,可观测性分析页面会在默认查询引擎上运行您编写的查询。您运行的查询会与所有其他查询竞争槽。因此,由于没有可用的槽,查询的执行可能会延迟。默认查询引擎只能查询可观测性视图、日志存储分区中的视图和分析视图。
创建关联的数据集后,您可以在可观测性分析页面上选择默认查询引擎或 BigQuery 引擎。如果您有预留的 BigQuery 槽,并且选择在 BigQuery 引擎上运行查询,则系统会使用您预留的槽。 在 BigQuery 引擎上运行的查询可以查询可观测性视图、日志存储分区视图和分析视图。这些查询还可以将可观测性数据与 BigQuery 表联接。
在 BigQuery 引擎上运行查询主要有以下两种使用情形:
您创建基于 SQL 的提醒政策。这些政策的查询必须在 BigQuery 引擎上运行。
您想将图表保存到信息中心,以便该图表显示可观测性数据与其他商家数据联接的结果。
FROM子句必须指定可观测性数据集的视图或日志存储桶的视图,并且被查询的数据还必须有关联的数据集。如需将可观测性数据与其他商家数据联接,请添加指定 BigQuery 表的JOIN语句。您必须拥有查询 BigQuery 表所需的 IAM 权限。
如需了解使用 BigQuery 相关的费用,请参阅 BigQuery 价格。
前提条件
- 完成准备工作部分中的步骤。
-
如需获得使用 BigQuery 槽从可观测性分析运行查询所需的权限,请让您的管理员为您授予以下 IAM 角色:
- 您要查询的可观测性视图上的 Observability View Accessor (
roles/observability.viewAccessor)。此角色支持 IAM Conditions,可让您将授予的权限限制为仅针对特定视图。如果您未为角色授予附加条件,则正文可以访问所有可观测性视图。 - 项目的 Logs Viewer (
roles/logging.viewer) - 针对项目的 BigQuery User (
roles/bigquery.user) - 针对您的项目的 BigQuery Job User (
roles/bigquery.jobUser)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
- 您要查询的可观测性视图上的 Observability View Accessor (
- 验证名为
_Trace的可观测性存储桶的关联 BigQuery 数据集是否存在。如果关联的数据集不存在,请创建它。
如果您计划配置可观测性分析页面以在 BigQuery 槽上运行查询,并且您使用的是带有 Virtual Private Cloud (VPC) Service Controls 的项目,请验证您使用的是 BigQuery 企业版。如需了解详情,请参阅了解 BigQuery 版本。
使用 BigQuery 引擎
如需在使用可观测性分析页面时在 BigQuery 引擎上运行查询,请执行以下操作:
-
在 Google Cloud 控制台中,前往 manage_search Observability Analytics 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
输入或加载查询。如需了解详情,请参阅查询和分析轨迹。
前往工具栏,验证是否显示标有在 BigQuery 中运行的按钮。
如果工具栏显示运行查询,请点击 settings 设置,然后选择 BigQuery。
如果在 BigQuery 上运行按钮处于停用状态,则表示没有关联的数据集。如需解决此失败问题,请创建关联的 BigQuery 数据集。
点击 在 BigQuery 上运行。