正在加载…
未找到任何结果。

在 Google Cloud 控制台中运用您的技能

访问 700 多个实验和课程

使用 Log Analytics 分析 BigQuery 使用情况

实验 45 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP1250

Google Cloud 自学实验的徽标

概览

虽然 BigQuery 提供内置的可观测性功能,例如 INFORMATION_SCHEMA 视图,但详细的日志记录对于深入分析使用情况、审核和排查潜在问题仍然至关重要。启用 Log Analytics 后,您可以使用熟悉的 SQL 查询来查询和分析日志数据,然后查看查询结果或绘制查询结果图表。

BigQuery 是 Google Cloud 的全托管式企业数据仓库,可帮助您使用机器学习、地理空间分析和商业智能等内置功能管理和分析数据。

在本实验中,您将为日志存储桶启用 Log Analytics,然后在 Cloud Logging 中查看 BigQuery 日志。您还将使用 SQL 通过 Log Analytics 来分析日志。

目标

在本实验中,您将学习如何完成以下操作:

  • 有效使用 Cloud Logging,获取有关 BigQuery 使用情况的分析洞见。
  • 使用 Log Analytics 高效构建和运行 SQL 查询。
  • 查看结果并绘制图表。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

任务 1. 配置日志存储桶

在此任务中,您将配置 Cloud Logging,以升级启用了 Log Analytics 的现有日志存储桶。

如需升级现有存储桶以使用 Log Analytics,请执行以下操作:

  1. 在 Google Cloud 控制台标题栏的搜索字段中,输入 Logs storage,然后点击搜索结果中的 Logs storage

“日志存储”页面随即打开。日志存储桶列表中列出了两个存储桶:_Default_Required

  1. 对于 _Required 日志存储桶,点击 Log Analytics 可用列下的 Upgrade(升级)。
  2. 再次点击升级,确认升级以使用 Log Analytics。
  3. _Default 日志存储桶执行相同的操作。点击 Log Analytics 可用列下的Upgrade(升级)。
  4. 再次点击升级,确认升级以使用 Log Analytics。

点击检查我的进度,验证已完成以下目标: 升级日志存储桶。

任务 2. 执行 BigQuery 活动

在此任务中,您将生成 BigQuery 日志。为此,您需要使用 BigQuery 命令行工具 bq

  1. 在 Cloud Shell 中,输入 bq mk 命令,在您的项目中创建名为 bq_logsbq_logs_test 的新数据集:
bq mk bq_logs bq mk bq_logs_test
  1. 输入 bq ls 命令以列出数据集:
bq ls
  1. 输入 bq rm 命令以删除数据集(出现提示时选择 Y):
bq rm bq_logs_test
  1. 创建新表
bq mk \ --table \ --expiration 3600 \ --description "This is a test table" \ bq_logs.test_table \ id:STRING,name:STRING,address:STRING

您应该会看到一条成功消息,告知您已为数据集创建了一个名为 test_table 的新空表。

现在运行一些查询来生成日志。

  1. 在 Cloud Shell 中输入以下查询:
bq query --use_legacy_sql=false 'SELECT current_date'
  1. 将以下命令粘贴到 Cloud Shell 中:
bq query --use_legacy_sql=false \ 'SELECT gsod2021.date, stations.usaf, stations.wban, stations.name, stations.country, stations.state, stations.lat, stations.lon, stations.elev, gsod2021.temp, gsod2021.max, gsod2021.min, gsod2021.mxpsd, gsod2021.gust, gsod2021.fog, gsod2021.hail FROM `bigquery-public-data.noaa_gsod.gsod2021` gsod2021 INNER JOIN `bigquery-public-data.noaa_gsod.stations` stations ON gsod2021.stn = stations.usaf AND gsod2021.wban = stations.wban WHERE stations.country = "US" AND gsod2021.date = "2021-12-15" AND stations.state IS NOT NULL AND gsod2021.max != 9999.9 ORDER BY gsod2021.min;'

(此查询使用来自美国国家海洋和大气管理局 [NOAA] 的天气数据)

点击检查我的进度,验证已完成以下目标: 执行 BigQuery 活动。

任务 3. 执行日志分析

此任务将分析您在上一个任务中创建的日志数据。

挑战(可选):在运行查询之前,您能预测结果吗?

查询特定操作

分析 BigQuery 使用情况时,一项常见任务是搜索数据集的特定操作。在此任务中,您将查询创建和删除操作。

  1. 在左侧窗格中,点击 Log Analytics,然后在 Log Analytics 部分中找到查询字段。

  2. 如需查找创建和删除操作,请在查询字段中输入或粘贴以下查询,然后点击运行查询

SELECT timestamp, severity, resource.type, proto_payload.audit_log.authentication_info.principal_email, proto_payload.audit_log.method_name, proto_payload.audit_log.resource_name, FROM `{{{ project_0.project_id | "Project ID" }}}.global._Required._AllLogs` WHERE log_id = 'cloudaudit.googleapis.com/activity' AND proto_payload.audit_log.method_name LIKE 'datasetservice%' LIMIT 100

您的查询应输出三个结果。

您还可以使用更具体的条件来限制搜索,例如 method_name = 'datasetservice.delete'。

查询 BigQuery 表的操作

  1. 如需查找 BigQuery 表的操作,请更改表服务的查询条件。运行此查询,查找对已创建或已删除的表执行的操作:
SELECT timestamp, severity, resource.type, proto_payload.audit_log.authentication_info.principal_email, proto_payload.audit_log.method_name, proto_payload.audit_log.resource_name, FROM `{{{ project_0.project_id | "Project ID" }}}.global._Required._AllLogs` WHERE log_id = 'cloudaudit.googleapis.com/activity' AND proto_payload.audit_log.method_name LIKE '%TableService%' LIMIT 100

此查询会输出一个结果。

  1. 如需查看已完成的 BigQuery 查询,请根据 jobCompletedEvent 搜索 data_access 日志。例如,运行以下 SQL 查询:
SELECT timestamp, resource.labels.project_id, proto_payload.audit_log.authentication_info.principal_email, JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobConfiguration.query.query) AS query, JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobConfiguration.query.statementType) AS statementType, JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatus.error.message) AS message, JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.startTime) AS startTime, JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.endTime) AS endTime, CAST(TIMESTAMP_DIFF( CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.endTime) AS TIMESTAMP), CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.startTime) AS TIMESTAMP), MILLISECOND)/1000 AS INT64) AS run_seconds, CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.totalProcessedBytes) AS INT64) AS totalProcessedBytes, CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.totalSlotMs) AS INT64) AS totalSlotMs, JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.referencedTables) AS tables_ref, CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.totalTablesProcessed) AS INT64) AS totalTablesProcessed, CAST(JSON_VALUE(proto_payload.audit_log.service_data.jobCompletedEvent.job.jobStatistics.queryOutputRowCount) AS INT64) AS queryOutputRowCount, severity FROM `{{{ project_0.project_id | "Project ID" }}}.global._Default._AllLogs` WHERE log_id = "cloudaudit.googleapis.com/data_access" AND proto_payload.audit_log.service_data.jobCompletedEvent IS NOT NULL ORDER BY startTime

滚动浏览这两个结果,并查看 query 列。其中列出了已完成的 BigQuery 查询。由于查询字符串包含在 SQL 查询中,因此结果可能会很大。

任务 4. 创建图表

Log Analytics 支持创建图表以直观呈现结果,而无需使用表格。

  1. 在结果视图中,点击图表按钮,
  2. 选择饼图作为图表类型,并选择query 作为列。
  3. 您应该会看到类似于下图的图表:

Log Analytics 结果的饼图

恭喜!

现在,您已经获得了利用 Cloud Logging 和 Log Analytics 构建查询、绘制结果图表以及深入了解 BigQuery 使用情况的实操经验。

后续步骤/了解详情

  • Log Analytics 文档。
  • 如需详细了解如何使用图表直观呈现 Log Analytics 结果,请参阅相关文档。

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2025 年 5 月 2 日

上次测试实验的时间:2025 年 5 月 2 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。