本文档介绍如何使用 Observability Analytics 查询和分析跟踪记录数据,该工具提供基于 SQL的查询界面。借助 SQL,您可以执行聚合分析,这有助于您生成分析洞见并识别趋势。如需查看查询结果,请使用表格或图表。 您还可以将这些表格和图表保存到自定义信息中心。
如果您想查看或探索单个跟踪记录或 span,或者查看附加到 span 的属性,请使用 Trace 探索器 页面。如需了解该页面的相关信息,请参阅 查找和探索跟踪记录。
如需分析跟踪记录数据,请查询名为 _AllSpans 的默认视图。
此视图包含您的项目存储的所有跟踪记录数据。相应的可观测性存储桶名为 _Trace。如需详细了解跟踪记录数据的存储方式,请参阅跟踪记录存储概览。
关联的 BigQuery 数据集简介
您不需要关联的 BigQuery 数据集即可查询 跟踪记录数据,也不需要关联的 BigQuery 数据集即可查询跟踪记录和日志数据。 对于这些场景,您可以使用 Observability Analytics 页面。如需了解如何查询日志数据,请参阅 使用 Observability Analytics 查询和分析日志。
如果您要执行以下任何操作,则需要关联的 BigQuery 数据集:
- 将跟踪记录数据与其他 BigQuery 数据集联接。
- 查询来自其他服务(例如 BigQuery Studio 页面或数据洞察)的跟踪记录数据。
- 通过在 BigQuery 预留槽 上运行查询,提高从 Observability Analytics 运行的查询的性能。
- 使用提醒政策监控 SQL 查询结果。
本文档未介绍如何创建关联的 BigQuery 数据集,也未介绍如何配置 Observability Analytics 以在预留槽上运行查询。 如需了解这些主题,请参阅 创建关联的 BigQuery 数据集。
准备工作
- 登录您的 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
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
如需获得加载 Observability Analytics 页面、编写、运行和保存跟踪记录数据的私有查询所需的权限,请让管理员为您授予以下 IAM 角色:
- Observability View Accessor (
roles/observability.viewAccessor) ,用于您要查询的可观测性视图。此角色支持 IAM 条件,可让您将授予的权限限制为仅针对特定视图。如果您未为此角色授予添加条件,则主账号可以访问所有可观测性视图。 - Observability Analytics User (
roles/observability.analyticsUser) 用于您的项目。此角色包含保存和运行私有查询以及运行共享查询所需的权限。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
- Observability View Accessor (
显示架构
架构定义了数据的存储方式,包括字段及其数据类型。此信息对您来说非常重要,因为架构决定了您查询的字段以及是否需要将字段转换为不同的数据类型。例如,如需编写用于计算
HTTP 请求平均延迟时间的查询,您需要了解如何访问延迟时间字段,以及该字段是
存储为整数(如 100)还是存储为字符串(如 "100")。如果延迟时间数据以字符串形式存储,则查询必须先将值转换为数值,然后才能计算平均值。
如需确定架构,请执行以下操作:
-
在 Google Cloud 控制台中,前往 manage_search Observability Analytics 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
在 视图 菜单中,前往
跟踪记录 部分,
然后选择 _Trace.Spans._AllSpans。架构 窗格会进行更新。当数据类型为 JSON 时,Observability Analytics 会自动推理列的字段。 如需查看这些推理字段在您的数据中出现的频率, 请点击 more_vert 选项 ,然后 选择 查看信息和说明。
如需了解架构,请参阅 跟踪记录数据的存储架构。
如果您没有看到名为
_Trace.Spans._AllSpans的视图,则您的 Google Cloud 项目不包含名为_Trace的可观测性存储桶。如需了解如何解决此失败问题,请参阅 跟踪记录存储初始化失败。
查询跟踪记录数据
本部分介绍可用于查询跟踪记录数据的方法:
- 加载系统定义的查询,修改此查询,然后运行该查询。
- 输入并运行自定义查询。例如,您可以粘贴已有的查询或编写查询。自定义查询可以包含联接、嵌套查询和其他复杂的 SQL 语句。如需查看示例,请参阅示例 SQL 查询。
- 通过进行菜单选择来构建查询,然后运行该查询。 Observability Analytics 会将您的选择转换为 SQL 查询,您可以查看和修改该查询。
加载、修改和运行系统定义的查询
-
在 Google Cloud 控制台中,前往 manage_search Observability Analytics 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
在 视图 菜单中,前往
跟踪记录 部分,
然后选择 _Trace.Spans._AllSpans。如果您没有看到名为
_Trace.Spans._AllSpans的视图,则您的 Google Cloud 项目不包含名为_Trace的可观测性存储桶。如需了解如何解决此失败问题,请参阅 跟踪记录存储初始化失败。执行下列其中一项操作:
如需加载依赖于查询构建器 的系统定义查询,该构建器 可让您通过菜单选择来定义查询,请确保 查询 窗格显示查询构建器 。如果显示 SQL 编辑器,请 点击 tune 构建器。
如需加载提取 JSON 值的系统定义查询,请确保查询 窗格显示 SQL 编辑器。如果此窗格显示 查询构建器,请点击 code SQL。
在架构 窗格中,选择查询 ,然后点击覆盖 。
查询 窗格会显示系统定义的查询。如果您选择了 查询构建器 模式,但想查看 SQL 查询,请点击 code SQL。
可选:修改查询。
如需运行查询,请前往工具栏并选择运行查询 。
Observability Analytics 会在表格中显示查询结果。不过,您可以创建 图表,也可以将表格或图表保存到 自定义信息中心。 如需了解详情,请参阅绘制 SQL 查询结果图表。
如果工具栏显示在 BigQuery 中运行,则需要切换 Observability Analytics 以使用默认查询引擎。如需进行此更改,请在 查询窗格的工具栏中,点击 settings 设置 ,然后选择 Analytics(默认)。
输入并运行自定义查询
如需输入 SQL 查询,请执行以下操作:
-
在 Google Cloud 控制台中,前往 manage_search Observability Analytics 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
在查询 窗格中,点击code SQL。
如需指定时间范围,我们建议您使用时间范围选择器。如果您添加指定
timestamp字段的WHERE子句,则该值会替换时间范围选择器中的设置,并且该选择器会被停用。如需查看示例,请参阅示例 SQL 查询。
SQL 编辑器会显示
_Trace.Spans._AllSpans视图的完全限定名称,其格式如下:FROM `PROJECT_ID.LOCATION._Trace.Spans._AllSpans`
上面表达式中的字段含义如下:
- PROJECT_ID:项目的标识符。
- LOCATION:可观测性存储桶的位置。
如果查询窗格显示引用
FROM语句的错误消息,则表示找不到该视图。 如需了解如何解决此失败问题,请参阅 显示“视图不存在”的错误消息。
如需运行查询,请前往工具栏并选择运行查询 。
Observability Analytics 会在表格中显示查询结果。不过,您可以创建 图表,也可以将表格或图表保存到 自定义信息中心。 如需了解详情,请参阅绘制 SQL 查询结果图表。
如果工具栏显示在 BigQuery 中运行,则需要切换 Observability Analytics 以使用默认查询引擎。如需进行此更改,请在 查询窗格的工具栏中,点击 settings 设置 ,然后选择 Analytics(默认)。
构建、修改和运行查询
借助查询构建器 界面,您可以通过从菜单中进行选择来构建查询。Observability Analytics 会将您的选择转换为 SQL 查询,您可以查看和修改该查询。例如,您可以先使用查询构建器 界面,然后切换到 SQL 编辑器来优化查询。
Observability Analytics 始终可以将您在查询构建器 界面中的菜单选择转换为 SQL 查询。不过,并非所有 SQL 查询都可以通过查询构建器 界面表示。例如,包含联接的查询无法通过此界面表示。
如需构建查询,请执行以下操作: